@chanomhub/sdk 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -75,81 +75,8 @@ const authRepository_1 = require("../repositories/authRepository");
75
75
  (0, vitest_1.expect)(session).toBeNull();
76
76
  });
77
77
  });
78
- // ============================================
79
- // React Native OAuth Tests
80
- // ============================================
81
- (0, vitest_1.describe)('signInWithGoogleNative', () => {
82
- (0, vitest_1.it)('should throw error when googleClientId is not provided', async () => {
83
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
84
- await (0, vitest_1.expect)(auth.signInWithGoogleNative({ redirectUri: 'com.app://oauth' })).rejects.toThrow('Missing client ID for google');
85
- });
86
- (0, vitest_1.it)('should throw error when redirectUri is not provided', async () => {
87
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
88
- await (0, vitest_1.expect)(auth.signInWithGoogleNative({
89
- googleClientId: 'test-client-id',
90
- redirectUri: '',
91
- })).rejects.toThrow('Missing redirectUri');
92
- });
93
- });
94
- (0, vitest_1.describe)('signInWithProviderNative', () => {
95
- (0, vitest_1.it)('should throw error when discordClientId is missing for discord', async () => {
96
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
97
- await (0, vitest_1.expect)(auth.signInWithProviderNative('discord', { redirectUri: 'com.app://oauth' })).rejects.toThrow('Missing client ID for discord');
98
- });
99
- (0, vitest_1.it)('should throw error when githubClientId is missing for github', async () => {
100
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
101
- await (0, vitest_1.expect)(auth.signInWithProviderNative('github', { redirectUri: 'com.app://oauth' })).rejects.toThrow('Missing client ID for github');
102
- });
103
- });
104
- (0, vitest_1.describe)('exchangeOAuthToken', () => {
105
- (0, vitest_1.it)('should exchange OAuth token with backend', async () => {
106
- mockFetcher.mockResolvedValue({
107
- data: {
108
- user: { id: 1, username: 'test' },
109
- token: 'backend-token',
110
- refreshToken: 'backend-refresh',
111
- },
112
- error: undefined,
113
- });
114
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
115
- const result = await auth.exchangeOAuthToken({
116
- accessToken: 'oauth-access-token',
117
- idToken: 'google-id-token',
118
- });
119
- (0, vitest_1.expect)(mockFetcher).toHaveBeenCalledWith('/api/users/login-oauth', {
120
- method: 'POST',
121
- body: {
122
- accessToken: 'google-id-token', // Uses idToken when available
123
- provider: 'google',
124
- },
125
- });
126
- (0, vitest_1.expect)(result).toEqual({
127
- user: { id: 1, username: 'test' },
128
- token: 'backend-token',
129
- refreshToken: 'backend-refresh',
130
- });
131
- });
132
- (0, vitest_1.it)('should use accessToken when idToken is not available', async () => {
133
- mockFetcher.mockResolvedValue({
134
- data: { user: { id: 1 }, token: 'token', refreshToken: 'refresh' },
135
- error: undefined,
136
- });
137
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
138
- await auth.exchangeOAuthToken({ accessToken: 'discord-token' });
139
- (0, vitest_1.expect)(mockFetcher).toHaveBeenCalledWith('/api/users/login-oauth', {
140
- method: 'POST',
141
- body: {
142
- accessToken: 'discord-token',
143
- provider: 'oauth',
144
- },
145
- });
146
- });
147
- (0, vitest_1.it)('should return null when no token available', async () => {
148
- const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
149
- const result = await auth.exchangeOAuthToken({ accessToken: '' });
150
- (0, vitest_1.expect)(result).toBeNull();
151
- });
152
- });
78
+ // Note: React Native OAuth tests (signInWithGoogleNative, signInWithProviderNative, exchangeOAuthToken)
79
+ // are now tested in auth.native.test.ts since those methods moved to @chanomhub/sdk/native
153
80
  // ============================================
154
81
  // Electron / Server-side OAuth Tests
155
82
  // ============================================
@@ -1 +1 @@
1
- {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../__tests__/auth.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../__tests__/auth.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,WAAW,YAAY;IACzB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,IACpB,CAAC,EAChC,OAAO,MAAM,EACb,YAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,UAAS,YAAiB,KAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CA8DjC;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,IACpB,CAAC,EAC7B,UAAU,MAAM,EAChB,UAAS;IACL,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B,KACP,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAqD9B;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,WAAW,YAAY;IACzB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,IACpB,CAAC,EAChC,OAAO,MAAM,EACb,YAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,UAAS,YAAiB,KAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAkEjC;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,IACpB,CAAC,EAC7B,UAAU,MAAM,EAChB,UAAS;IACL,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B,KACP,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAqD9B;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
package/dist/client.js CHANGED
@@ -35,12 +35,17 @@ function createGraphQLClient(config) {
35
35
  ...(options.operationName && { operationName: options.operationName }),
36
36
  }),
37
37
  };
38
- // Handle caching - use standard Cache-Control header approach
39
- // Note: Next.js and some other frameworks may extend RequestInit with 'next' property
40
- // We use a type-safe approach that works everywhere
38
+ // Handle caching - use Next.js revalidate option for ISR support
41
39
  const useCache = !options.noCache && !config.token;
42
40
  const cacheSeconds = (_b = (_a = options.cacheSeconds) !== null && _a !== void 0 ? _a : config.defaultCacheSeconds) !== null && _b !== void 0 ? _b : 3600;
43
- if (!useCache || cacheSeconds === 0) {
41
+ if (useCache && cacheSeconds > 0) {
42
+ // Use Next.js ISR caching with revalidate option
43
+ fetchOptions.next = {
44
+ revalidate: cacheSeconds,
45
+ };
46
+ }
47
+ else {
48
+ // Disable caching entirely
44
49
  fetchOptions.cache = 'no-store';
45
50
  }
46
51
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Chanomhub SDK - React Native Entry Point
3
+ *
4
+ * This entry point provides React Native specific functionality that requires
5
+ * native dependencies like react-native-app-auth.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createChanomhubClient } from '@chanomhub/sdk';
10
+ * import { createNativeAuthRepository } from '@chanomhub/sdk/native';
11
+ *
12
+ * const sdk = createChanomhubClient();
13
+ * const nativeAuth = createNativeAuthRepository(sdk.rest, sdk.config);
14
+ *
15
+ * // Sign in with Google on React Native
16
+ * const result = await nativeAuth.signInWithGoogleNative({
17
+ * googleClientId: 'your-google-client-id',
18
+ * redirectUri: 'com.yourapp:/oauth2redirect',
19
+ * });
20
+ * ```
21
+ */
22
+ export { createNativeAuthRepository, type NativeAuthRepository, } from './repositories/authRepository.native';
23
+ export type { NativeOAuthConfig, NativeOAuthOptions, NativeOAuthResult, OAuthProvider, LoginResponse, } from './types/auth';
24
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACH,0BAA0B,EAC1B,KAAK,oBAAoB,GAC5B,MAAM,sCAAsC,CAAC;AAG9C,YAAY,EACR,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,aAAa,GAChB,MAAM,cAAc,CAAC"}
package/dist/native.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /**
3
+ * Chanomhub SDK - React Native Entry Point
4
+ *
5
+ * This entry point provides React Native specific functionality that requires
6
+ * native dependencies like react-native-app-auth.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createChanomhubClient } from '@chanomhub/sdk';
11
+ * import { createNativeAuthRepository } from '@chanomhub/sdk/native';
12
+ *
13
+ * const sdk = createChanomhubClient();
14
+ * const nativeAuth = createNativeAuthRepository(sdk.rest, sdk.config);
15
+ *
16
+ * // Sign in with Google on React Native
17
+ * const result = await nativeAuth.signInWithGoogleNative({
18
+ * googleClientId: 'your-google-client-id',
19
+ * redirectUri: 'com.yourapp:/oauth2redirect',
20
+ * });
21
+ * ```
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.createNativeAuthRepository = void 0;
25
+ var authRepository_native_1 = require("./repositories/authRepository.native");
26
+ Object.defineProperty(exports, "createNativeAuthRepository", { enumerable: true, get: function () { return authRepository_native_1.createNativeAuthRepository; } });
27
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../native.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAEH,8EAG8C;AAF1C,mIAAA,0BAA0B,OAAA"}
@@ -2,10 +2,13 @@
2
2
  * Chanomhub SDK - Auth Repository
3
3
  *
4
4
  * Handles OAuth authentication via Supabase and token exchange with backend.
5
+ *
6
+ * For React Native apps, use the native auth repository from '@chanomhub/sdk/native'
7
+ * which includes methods like signInWithGoogleNative and signInWithProviderNative.
5
8
  */
6
9
  import type { ChanomhubConfig } from '../config';
7
10
  import type { RestFetcher } from '../client';
8
- import type { OAuthProvider, OAuthOptions, LoginResponse, RefreshResponse, SupabaseSession, NativeOAuthConfig, NativeOAuthOptions, NativeOAuthResult } from '../types/auth';
11
+ import type { OAuthProvider, OAuthOptions, LoginResponse, RefreshResponse, SupabaseSession } from '../types/auth';
9
12
  export interface AuthRepository {
10
13
  /** Check if Supabase OAuth is configured and available */
11
14
  isOAuthEnabled(): boolean;
@@ -24,30 +27,6 @@ export interface AuthRepository {
24
27
  * @returns OAuth URL string
25
28
  */
26
29
  getOAuthUrl(provider: OAuthProvider, options?: OAuthOptions): Promise<string | null>;
27
- /**
28
- * Sign in with Google OAuth for React Native apps.
29
- * Uses react-native-app-auth under the hood.
30
- * @param nativeConfig - Native OAuth configuration with client IDs and redirect URI
31
- * @param options - Additional options like scopes
32
- * @returns Login response with user and tokens from backend
33
- */
34
- signInWithGoogleNative(nativeConfig: NativeOAuthConfig, options?: NativeOAuthOptions): Promise<LoginResponse | null>;
35
- /**
36
- * Sign in with any OAuth provider for React Native apps.
37
- * Uses react-native-app-auth under the hood.
38
- * @param provider - OAuth provider (google, discord, github)
39
- * @param nativeConfig - Native OAuth configuration
40
- * @param options - Additional options
41
- * @returns Login response with user and tokens from backend
42
- */
43
- signInWithProviderNative(provider: OAuthProvider, nativeConfig: NativeOAuthConfig, options?: NativeOAuthOptions): Promise<LoginResponse | null>;
44
- /**
45
- * Exchange OAuth token from react-native-app-auth with backend.
46
- * Use this if you handle the OAuth flow yourself.
47
- * @param oauthResult - Result from react-native-app-auth authorize()
48
- * @returns Login response with user and backend tokens
49
- */
50
- exchangeOAuthToken(oauthResult: NativeOAuthResult): Promise<LoginResponse | null>;
51
30
  /**
52
31
  * Handle OAuth callback after redirect back from provider.
53
32
  * Exchanges Supabase access token for backend JWT.
@@ -1 +1 @@
1
- {"version":3,"file":"authRepository.d.ts","sourceRoot":"","sources":["../../repositories/authRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACpB,MAAM,eAAe,CAAC;AAsBvB,MAAM,WAAW,cAAc;IAC3B,0DAA0D;IAC1D,cAAc,IAAI,OAAO,CAAC;IAE1B,4EAA4E;IAC5E,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE1E,gDAAgD;IAChD,kBAAkB,CACd,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAErF;;;;;;OAMG;IACH,sBAAsB,CAClB,YAAY,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,wBAAwB,CACpB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAElF;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEhD,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,2DAA2D;IAC3D,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEpE,4CAA4C;IAC5C,kBAAkB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CACzD;AAuBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,cAAc,CAwUlG"}
1
+ {"version":3,"file":"authRepository.d.ts","sourceRoot":"","sources":["../../repositories/authRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EAClB,MAAM,eAAe,CAAC;AAsBvB,MAAM,WAAW,cAAc;IAC3B,0DAA0D;IAC1D,cAAc,IAAI,OAAO,CAAC;IAE1B,4EAA4E;IAC5E,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE1E,gDAAgD;IAChD,kBAAkB,CACd,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAErF;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEhD,4DAA4D;IAC5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,2DAA2D;IAC3D,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEpE,4CAA4C;IAC5C,kBAAkB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;CACzD;AAuBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,cAAc,CAmLlG"}
@@ -3,6 +3,9 @@
3
3
  * Chanomhub SDK - Auth Repository
4
4
  *
5
5
  * Handles OAuth authentication via Supabase and token exchange with backend.
6
+ *
7
+ * For React Native apps, use the native auth repository from '@chanomhub/sdk/native'
8
+ * which includes methods like signInWithGoogleNative and signInWithProviderNative.
6
9
  */
7
10
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
11
  if (k2 === undefined) k2 = k;
@@ -185,131 +188,11 @@ function createAuthRepository(fetcher, config) {
185
188
  }
186
189
  return data.session;
187
190
  }
188
- // ============================================
189
- // React Native OAuth Methods
190
- // ============================================
191
- /** OAuth provider configurations */
192
- const OAUTH_CONFIGS = {
193
- google: {
194
- issuer: 'https://accounts.google.com',
195
- defaultScopes: ['openid', 'email', 'profile'],
196
- },
197
- discord: {
198
- serviceConfiguration: {
199
- authorizationEndpoint: 'https://discord.com/api/oauth2/authorize',
200
- tokenEndpoint: 'https://discord.com/api/oauth2/token',
201
- },
202
- issuer: '',
203
- defaultScopes: ['identify', 'email'],
204
- },
205
- github: {
206
- serviceConfiguration: {
207
- authorizationEndpoint: 'https://github.com/login/oauth/authorize',
208
- tokenEndpoint: 'https://github.com/login/oauth/access_token',
209
- },
210
- issuer: '',
211
- defaultScopes: ['read:user', 'user:email'],
212
- },
213
- facebook: {
214
- serviceConfiguration: {
215
- authorizationEndpoint: 'https://www.facebook.com/v18.0/dialog/oauth',
216
- tokenEndpoint: 'https://graph.facebook.com/v18.0/oauth/access_token',
217
- },
218
- issuer: '',
219
- defaultScopes: ['email', 'public_profile'],
220
- },
221
- };
222
- function getClientIdForProvider(provider, nativeConfig) {
223
- switch (provider) {
224
- case 'google':
225
- return nativeConfig.googleClientId || '';
226
- case 'discord':
227
- return nativeConfig.discordClientId || '';
228
- case 'github':
229
- return nativeConfig.githubClientId || '';
230
- default:
231
- return '';
232
- }
233
- }
234
- async function signInWithProviderNative(provider, nativeConfig, options = {}) {
235
- const clientId = getClientIdForProvider(provider, nativeConfig);
236
- if (!clientId) {
237
- throw new Error(`Missing client ID for ${provider}. Please provide ${provider}ClientId in nativeConfig.`);
238
- }
239
- if (!nativeConfig.redirectUri) {
240
- throw new Error('Missing redirectUri in nativeConfig.');
241
- }
242
- // Try to dynamically import react-native-app-auth
243
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
244
- let authorize;
245
- try {
246
- const appAuth = await Promise.resolve().then(() => __importStar(require('react-native-app-auth')));
247
- authorize = appAuth.authorize;
248
- }
249
- catch (_a) {
250
- throw new Error('react-native-app-auth is not installed. Please install it: npm install react-native-app-auth');
251
- }
252
- const providerConfig = OAUTH_CONFIGS[provider];
253
- const scopes = options.scopes || providerConfig.defaultScopes;
254
- const authConfig = {
255
- clientId,
256
- redirectUrl: nativeConfig.redirectUri,
257
- scopes,
258
- usePKCE: options.usePKCE !== false, // Default to true
259
- };
260
- // Use issuer or serviceConfiguration
261
- if (providerConfig.issuer) {
262
- authConfig.issuer = providerConfig.issuer;
263
- }
264
- else if (providerConfig.serviceConfiguration) {
265
- authConfig.serviceConfiguration = providerConfig.serviceConfiguration;
266
- }
267
- // For Google iOS, use clientId specific config
268
- if (provider === 'google' && nativeConfig.googleIosClientId) {
269
- // iOS uses different clientId format
270
- authConfig.clientId = nativeConfig.googleIosClientId;
271
- }
272
- try {
273
- const result = await authorize(authConfig);
274
- return exchangeOAuthToken(result);
275
- }
276
- catch (error) {
277
- console.error(`Native OAuth error (${provider}):`, error);
278
- throw error;
279
- }
280
- }
281
- async function signInWithGoogleNative(nativeConfig, options = {}) {
282
- return signInWithProviderNative('google', nativeConfig, options);
283
- }
284
- async function exchangeOAuthToken(oauthResult) {
285
- // Use idToken for Google (OpenID Connect) or accessToken for others
286
- const tokenToExchange = oauthResult.idToken || oauthResult.accessToken;
287
- if (!tokenToExchange) {
288
- console.error('No token available to exchange with backend');
289
- return null;
290
- }
291
- // Exchange OAuth token for backend JWT
292
- const { data, error } = await fetcher('/api/users/login-oauth', {
293
- method: 'POST',
294
- body: {
295
- accessToken: tokenToExchange,
296
- provider: oauthResult.idToken ? 'google' : 'oauth', // Backend needs to know provider
297
- },
298
- });
299
- if (error) {
300
- console.error('Failed to exchange OAuth token with backend:', error);
301
- return null;
302
- }
303
- return data;
304
- }
305
191
  return {
306
192
  isOAuthEnabled,
307
193
  signInWithGoogle,
308
194
  signInWithProvider,
309
195
  getOAuthUrl,
310
- signInWithGoogleNative,
311
- signInWithProviderNative,
312
- exchangeOAuthToken,
313
196
  handleCallback,
314
197
  signOut,
315
198
  refreshToken,
@@ -1 +1 @@
1
- {"version":3,"file":"authRepository.js","sourceRoot":"","sources":["../../repositories/authRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authRepository.js","sourceRoot":"","sources":["../../repositories/authRepository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Chanomhub SDK - React Native Auth Repository
3
+ *
4
+ * This file contains React Native specific OAuth methods that require
5
+ * react-native-app-auth. It is separated from the main auth repository
6
+ * to avoid bundling React Native dependencies in web builds.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createNativeAuthRepository } from '@chanomhub/sdk/native';
11
+ *
12
+ * const nativeAuth = createNativeAuthRepository(rest, config);
13
+ * const result = await nativeAuth.signInWithGoogleNative(nativeConfig);
14
+ * ```
15
+ */
16
+ import type { ChanomhubConfig } from '../config';
17
+ import type { RestFetcher } from '../client';
18
+ import type { OAuthProvider, LoginResponse, NativeOAuthConfig, NativeOAuthOptions, NativeOAuthResult } from '../types/auth';
19
+ export interface NativeAuthRepository {
20
+ /**
21
+ * Sign in with Google OAuth for React Native apps.
22
+ * @param nativeConfig - Native OAuth configuration with client IDs and redirect URI
23
+ * @param options - Additional options like scopes
24
+ * @returns Login response with user and tokens from backend
25
+ */
26
+ signInWithGoogleNative(nativeConfig: NativeOAuthConfig, options?: NativeOAuthOptions): Promise<LoginResponse | null>;
27
+ /**
28
+ * Sign in with any OAuth provider for React Native apps.
29
+ * @param provider - OAuth provider (google, discord, github)
30
+ * @param nativeConfig - Native OAuth configuration
31
+ * @param options - Additional options
32
+ * @returns Login response with user and tokens from backend
33
+ */
34
+ signInWithProviderNative(provider: OAuthProvider, nativeConfig: NativeOAuthConfig, options?: NativeOAuthOptions): Promise<LoginResponse | null>;
35
+ /**
36
+ * Exchange OAuth token from react-native-app-auth with backend.
37
+ * Use this if you handle the OAuth flow yourself.
38
+ * @param oauthResult - Result from react-native-app-auth authorize()
39
+ * @returns Login response with user and backend tokens
40
+ */
41
+ exchangeOAuthToken(oauthResult: NativeOAuthResult): Promise<LoginResponse | null>;
42
+ }
43
+ /**
44
+ * Creates a React Native auth repository for native OAuth operations
45
+ *
46
+ * @param fetcher - REST API fetcher
47
+ * @param _config - SDK configuration (reserved for future use)
48
+ */
49
+ export declare function createNativeAuthRepository(fetcher: RestFetcher, _config: ChanomhubConfig): NativeAuthRepository;
50
+ //# sourceMappingURL=authRepository.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authRepository.native.d.ts","sourceRoot":"","sources":["../../repositories/authRepository.native.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACpB,MAAM,eAAe,CAAC;AAKvB,MAAM,WAAW,oBAAoB;IACjC;;;;;OAKG;IACH,sBAAsB,CAClB,YAAY,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,wBAAwB,CACpB,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,iBAAiB,EAC/B,OAAO,CAAC,EAAE,kBAAkB,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEjC;;;;;OAKG;IACH,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CACrF;AAsDD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,eAAe,GACzB,oBAAoB,CAwFtB"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ /**
3
+ * Chanomhub SDK - React Native Auth Repository
4
+ *
5
+ * This file contains React Native specific OAuth methods that require
6
+ * react-native-app-auth. It is separated from the main auth repository
7
+ * to avoid bundling React Native dependencies in web builds.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { createNativeAuthRepository } from '@chanomhub/sdk/native';
12
+ *
13
+ * const nativeAuth = createNativeAuthRepository(rest, config);
14
+ * const result = await nativeAuth.signInWithGoogleNative(nativeConfig);
15
+ * ```
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.createNativeAuthRepository = createNativeAuthRepository;
19
+ // Import directly - this file is only bundled for React Native
20
+ const react_native_app_auth_1 = require("react-native-app-auth");
21
+ /** OAuth provider configurations */
22
+ const OAUTH_CONFIGS = {
23
+ google: {
24
+ issuer: 'https://accounts.google.com',
25
+ defaultScopes: ['openid', 'email', 'profile'],
26
+ },
27
+ discord: {
28
+ serviceConfiguration: {
29
+ authorizationEndpoint: 'https://discord.com/api/oauth2/authorize',
30
+ tokenEndpoint: 'https://discord.com/api/oauth2/token',
31
+ },
32
+ issuer: '',
33
+ defaultScopes: ['identify', 'email'],
34
+ },
35
+ github: {
36
+ serviceConfiguration: {
37
+ authorizationEndpoint: 'https://github.com/login/oauth/authorize',
38
+ tokenEndpoint: 'https://github.com/login/oauth/access_token',
39
+ },
40
+ issuer: '',
41
+ defaultScopes: ['read:user', 'user:email'],
42
+ },
43
+ facebook: {
44
+ serviceConfiguration: {
45
+ authorizationEndpoint: 'https://www.facebook.com/v18.0/dialog/oauth',
46
+ tokenEndpoint: 'https://graph.facebook.com/v18.0/oauth/access_token',
47
+ },
48
+ issuer: '',
49
+ defaultScopes: ['email', 'public_profile'],
50
+ },
51
+ };
52
+ function getClientIdForProvider(provider, nativeConfig) {
53
+ switch (provider) {
54
+ case 'google':
55
+ return nativeConfig.googleClientId || '';
56
+ case 'discord':
57
+ return nativeConfig.discordClientId || '';
58
+ case 'github':
59
+ return nativeConfig.githubClientId || '';
60
+ default:
61
+ return '';
62
+ }
63
+ }
64
+ /**
65
+ * Creates a React Native auth repository for native OAuth operations
66
+ *
67
+ * @param fetcher - REST API fetcher
68
+ * @param _config - SDK configuration (reserved for future use)
69
+ */
70
+ function createNativeAuthRepository(fetcher, _config) {
71
+ async function exchangeOAuthToken(oauthResult) {
72
+ // Use idToken for Google (OpenID Connect) or accessToken for others
73
+ const tokenToExchange = oauthResult.idToken || oauthResult.accessToken;
74
+ if (!tokenToExchange) {
75
+ console.error('No token available to exchange with backend');
76
+ return null;
77
+ }
78
+ // Exchange OAuth token for backend JWT
79
+ const { data, error } = await fetcher('/api/users/login-oauth', {
80
+ method: 'POST',
81
+ body: {
82
+ accessToken: tokenToExchange,
83
+ provider: oauthResult.idToken ? 'google' : 'oauth',
84
+ },
85
+ });
86
+ if (error) {
87
+ console.error('Failed to exchange OAuth token with backend:', error);
88
+ return null;
89
+ }
90
+ return data;
91
+ }
92
+ async function signInWithProviderNative(provider, nativeConfig, options = {}) {
93
+ const clientId = getClientIdForProvider(provider, nativeConfig);
94
+ if (!clientId) {
95
+ throw new Error(`Missing client ID for ${provider}. Please provide ${provider}ClientId in nativeConfig.`);
96
+ }
97
+ if (!nativeConfig.redirectUri) {
98
+ throw new Error('Missing redirectUri in nativeConfig.');
99
+ }
100
+ const providerConfig = OAUTH_CONFIGS[provider];
101
+ const scopes = options.scopes || providerConfig.defaultScopes;
102
+ const authConfig = {
103
+ clientId,
104
+ redirectUrl: nativeConfig.redirectUri,
105
+ scopes,
106
+ usePKCE: options.usePKCE !== false, // Default to true
107
+ };
108
+ // Use issuer or serviceConfiguration
109
+ if (providerConfig.issuer) {
110
+ authConfig.issuer = providerConfig.issuer;
111
+ }
112
+ else if (providerConfig.serviceConfiguration) {
113
+ authConfig.serviceConfiguration = providerConfig.serviceConfiguration;
114
+ }
115
+ // For Google iOS, use clientId specific config
116
+ if (provider === 'google' && nativeConfig.googleIosClientId) {
117
+ authConfig.clientId = nativeConfig.googleIosClientId;
118
+ }
119
+ try {
120
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
121
+ const result = await (0, react_native_app_auth_1.authorize)(authConfig);
122
+ return exchangeOAuthToken(result);
123
+ }
124
+ catch (error) {
125
+ console.error(`Native OAuth error (${provider}):`, error);
126
+ throw error;
127
+ }
128
+ }
129
+ async function signInWithGoogleNative(nativeConfig, options = {}) {
130
+ return signInWithProviderNative('google', nativeConfig, options);
131
+ }
132
+ return {
133
+ signInWithGoogleNative,
134
+ signInWithProviderNative,
135
+ exchangeOAuthToken,
136
+ };
137
+ }
138
+ //# sourceMappingURL=authRepository.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authRepository.native.js","sourceRoot":"","sources":["../../repositories/authRepository.native.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chanomhub/sdk",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "ChanomHub SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,6 +23,10 @@
23
23
  "./next": {
24
24
  "types": "./dist/next.d.ts",
25
25
  "default": "./dist/next.js"
26
+ },
27
+ "./native": {
28
+ "types": "./dist/native.d.ts",
29
+ "default": "./dist/native.js"
26
30
  }
27
31
  },
28
32
  "scripts": {
@@ -53,7 +57,6 @@
53
57
  "msw": "^2.12.7",
54
58
  "next": "^16.1.1",
55
59
  "prettier": "^3.7.4",
56
- "react-native-app-auth": "^8.1.0",
57
60
  "typescript": "^5.9.3",
58
61
  "typescript-eslint": "^8.51.0",
59
62
  "vitest": "^4.0.16"