@chanomhub/sdk 1.1.0 → 1.1.2
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.
- package/README.md +70 -0
- package/dist/__tests__/auth.test.d.ts +5 -0
- package/dist/__tests__/auth.test.d.ts.map +1 -0
- package/dist/__tests__/auth.test.js +79 -0
- package/dist/__tests__/auth.test.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/repositories/articleRepository.d.ts.map +1 -1
- package/dist/repositories/articleRepository.js +12 -0
- package/dist/repositories/articleRepository.js.map +1 -1
- package/dist/repositories/authRepository.d.ts +36 -0
- package/dist/repositories/authRepository.d.ts.map +1 -0
- package/dist/repositories/authRepository.js +172 -0
- package/dist/repositories/authRepository.js.map +1 -0
- package/dist/repositories/index.d.ts +1 -0
- package/dist/repositories/index.d.ts.map +1 -1
- package/dist/repositories/index.js +3 -1
- package/dist/repositories/index.js.map +1 -1
- package/dist/types/article.d.ts +6 -0
- package/dist/types/article.d.ts.map +1 -1
- package/dist/types/auth.d.ts +50 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +6 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +13 -3
package/README.md
CHANGED
|
@@ -139,6 +139,76 @@ export default async function Page() {
|
|
|
139
139
|
}
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
+
### OAuth Authentication (Supabase)
|
|
143
|
+
|
|
144
|
+
The SDK supports OAuth authentication via Supabase. First, install the Supabase client:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
npm install @supabase/supabase-js
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Configure the SDK with your Supabase credentials:
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import { createChanomhubClient } from '@chanomhub/sdk';
|
|
154
|
+
|
|
155
|
+
const sdk = createChanomhubClient({
|
|
156
|
+
supabaseUrl: process.env.NEXT_PUBLIC_SUPABASE_URL,
|
|
157
|
+
supabaseAnonKey: process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Check if OAuth is available
|
|
161
|
+
if (sdk.auth.isOAuthEnabled()) {
|
|
162
|
+
// Start Google sign-in (redirects to Google)
|
|
163
|
+
await sdk.auth.signInWithGoogle({
|
|
164
|
+
redirectTo: 'http://localhost:3000/login/callback',
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Handle the OAuth callback:
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
// app/login/callback/page.tsx
|
|
173
|
+
import { createChanomhubClient } from '@chanomhub/sdk';
|
|
174
|
+
import Cookies from 'js-cookie';
|
|
175
|
+
|
|
176
|
+
export default async function CallbackPage() {
|
|
177
|
+
const sdk = createChanomhubClient({
|
|
178
|
+
supabaseUrl: process.env.NEXT_PUBLIC_SUPABASE_URL,
|
|
179
|
+
supabaseAnonKey: process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY,
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
// Exchange Supabase token for backend JWT
|
|
183
|
+
const result = await sdk.auth.handleCallback();
|
|
184
|
+
|
|
185
|
+
if (result) {
|
|
186
|
+
// Store tokens (you manage storage)
|
|
187
|
+
Cookies.set('token', result.token, { secure: true, sameSite: 'strict' });
|
|
188
|
+
Cookies.set('refreshToken', result.refreshToken);
|
|
189
|
+
// Redirect to home or dashboard
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Available OAuth methods:
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// Sign in with specific provider
|
|
198
|
+
await sdk.auth.signInWithProvider('google');
|
|
199
|
+
await sdk.auth.signInWithProvider('discord');
|
|
200
|
+
await sdk.auth.signInWithProvider('github');
|
|
201
|
+
|
|
202
|
+
// Refresh backend token
|
|
203
|
+
const newTokens = await sdk.auth.refreshToken(refreshToken);
|
|
204
|
+
|
|
205
|
+
// Sign out (clears Supabase session)
|
|
206
|
+
await sdk.auth.signOut();
|
|
207
|
+
|
|
208
|
+
// Get current Supabase session
|
|
209
|
+
const session = await sdk.auth.getSupabaseSession();
|
|
210
|
+
```
|
|
211
|
+
|
|
142
212
|
---
|
|
143
213
|
|
|
144
214
|
## 📁 Project Structure
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../../__tests__/auth.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Auth Repository Tests
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const vitest_1 = require("vitest");
|
|
7
|
+
const authRepository_1 = require("../repositories/authRepository");
|
|
8
|
+
(0, vitest_1.describe)('authRepository', () => {
|
|
9
|
+
let mockFetcher;
|
|
10
|
+
let config;
|
|
11
|
+
(0, vitest_1.beforeEach)(() => {
|
|
12
|
+
mockFetcher = vitest_1.vi.fn();
|
|
13
|
+
config = {
|
|
14
|
+
apiUrl: 'https://api.chanomhub.com',
|
|
15
|
+
cdnUrl: 'https://cdn.chanomhub.com',
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
(0, vitest_1.describe)('isOAuthEnabled', () => {
|
|
19
|
+
(0, vitest_1.it)('should return false when Supabase is not configured', () => {
|
|
20
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
21
|
+
(0, vitest_1.expect)(auth.isOAuthEnabled()).toBe(false);
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.it)('should return true when Supabase URL and key are provided', () => {
|
|
24
|
+
config.supabaseUrl = 'https://test.supabase.co';
|
|
25
|
+
config.supabaseAnonKey = 'test-anon-key';
|
|
26
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
27
|
+
(0, vitest_1.expect)(auth.isOAuthEnabled()).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
(0, vitest_1.it)('should return false when only URL is provided', () => {
|
|
30
|
+
config.supabaseUrl = 'https://test.supabase.co';
|
|
31
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
32
|
+
(0, vitest_1.expect)(auth.isOAuthEnabled()).toBe(false);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
(0, vitest_1.describe)('signInWithProvider', () => {
|
|
36
|
+
(0, vitest_1.it)('should throw error when Supabase is not configured', async () => {
|
|
37
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
38
|
+
await (0, vitest_1.expect)(auth.signInWithProvider('google')).rejects.toThrow('Supabase is not configured');
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.describe)('signInWithGoogle', () => {
|
|
42
|
+
(0, vitest_1.it)('should throw error when Supabase is not configured', async () => {
|
|
43
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
44
|
+
await (0, vitest_1.expect)(auth.signInWithGoogle()).rejects.toThrow('Supabase is not configured');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
(0, vitest_1.describe)('refreshToken', () => {
|
|
48
|
+
(0, vitest_1.it)('should call refresh token endpoint with correct body', async () => {
|
|
49
|
+
mockFetcher.mockResolvedValue({
|
|
50
|
+
data: { token: 'new-token', refreshToken: 'new-refresh-token' },
|
|
51
|
+
error: undefined,
|
|
52
|
+
});
|
|
53
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
54
|
+
const result = await auth.refreshToken('old-refresh-token');
|
|
55
|
+
(0, vitest_1.expect)(mockFetcher).toHaveBeenCalledWith('/api/users/refresh-token', {
|
|
56
|
+
method: 'POST',
|
|
57
|
+
body: { refreshToken: 'old-refresh-token' },
|
|
58
|
+
});
|
|
59
|
+
(0, vitest_1.expect)(result).toEqual({ token: 'new-token', refreshToken: 'new-refresh-token' });
|
|
60
|
+
});
|
|
61
|
+
(0, vitest_1.it)('should return null when refresh fails', async () => {
|
|
62
|
+
mockFetcher.mockResolvedValue({
|
|
63
|
+
data: null,
|
|
64
|
+
error: 'Token expired',
|
|
65
|
+
});
|
|
66
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
67
|
+
const result = await auth.refreshToken('expired-token');
|
|
68
|
+
(0, vitest_1.expect)(result).toBeNull();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
(0, vitest_1.describe)('getSupabaseSession', () => {
|
|
72
|
+
(0, vitest_1.it)('should return null when Supabase is not configured', async () => {
|
|
73
|
+
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
74
|
+
const session = await auth.getSupabaseSession();
|
|
75
|
+
(0, vitest_1.expect)(session).toBeNull();
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=auth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../__tests__/auth.test.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -10,6 +10,10 @@ export interface ChanomhubConfig {
|
|
|
10
10
|
token?: string;
|
|
11
11
|
/** Default cache duration in seconds (0 = no cache) */
|
|
12
12
|
defaultCacheSeconds?: number;
|
|
13
|
+
/** Supabase project URL (required for OAuth) */
|
|
14
|
+
supabaseUrl?: string;
|
|
15
|
+
/** Supabase anon key (required for OAuth) */
|
|
16
|
+
supabaseAnonKey?: string;
|
|
13
17
|
}
|
|
14
18
|
export declare const DEFAULT_CONFIG: ChanomhubConfig;
|
|
15
19
|
/** Article status enum */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,cAAc,EAAE,eAI5B,CAAC;AAEF,0BAA0B;AAC1B,MAAM,MAAM,aAAa,GACnB,OAAO,GACP,gBAAgB,GAChB,WAAW,GACX,UAAU,GACV,cAAc,GACd,gBAAgB,CAAC;AAEvB,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAChB,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,OAAO,GACP,eAAe,GACf,SAAS,GACT,UAAU,GACV,OAAO,GACP,aAAa,CAAC"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiBU,QAAA,cAAc,GAAoB;IAC3C,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,qDAAqD;IAC7D,mBAAmB,EAAE,IAAI;CAC5B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
import { type GraphQLFetcher } from './client';
|
|
34
|
-
import { type ArticleRepository, type FavoritesRepository, type UsersRepository, type SearchRepository } from './repositories';
|
|
34
|
+
import { type ArticleRepository, type FavoritesRepository, type UsersRepository, type SearchRepository, type AuthRepository } from './repositories';
|
|
35
35
|
import { type ChanomhubConfig } from './config';
|
|
36
36
|
export * from './types';
|
|
37
37
|
export * from './config';
|
|
@@ -47,6 +47,8 @@ export interface ChanomhubClient {
|
|
|
47
47
|
users: UsersRepository;
|
|
48
48
|
/** Search operations */
|
|
49
49
|
search: SearchRepository;
|
|
50
|
+
/** Authentication operations (requires Supabase config for OAuth) */
|
|
51
|
+
auth: AuthRepository;
|
|
50
52
|
/** Raw GraphQL fetcher for custom queries */
|
|
51
53
|
graphql: GraphQLFetcher;
|
|
52
54
|
/** SDK configuration */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAyC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AACtF,OAAO,EAMH,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhE,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC5B,yBAAyB;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,2BAA2B;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,8BAA8B;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,wBAAwB;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,qEAAqE;IACrE,IAAI,EAAE,cAAc,CAAC;IACrB,6CAA6C;IAC7C,OAAO,EAAE,cAAc,CAAC;IACxB,wBAAwB;IACxB,MAAM,EAAE,eAAe,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAuB5F;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACtC,eAAe,CAMjB;AAGD,eAAe,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -91,11 +91,13 @@ function createChanomhubClient(config = {}) {
|
|
|
91
91
|
const favorites = (0, repositories_1.createFavoritesRepository)(rest);
|
|
92
92
|
const users = (0, repositories_1.createUsersRepository)(rest);
|
|
93
93
|
const search = (0, repositories_1.createSearchRepository)(graphql);
|
|
94
|
+
const auth = (0, repositories_1.createAuthRepository)(rest, fullConfig);
|
|
94
95
|
return {
|
|
95
96
|
articles,
|
|
96
97
|
favorites,
|
|
97
98
|
users,
|
|
98
99
|
search,
|
|
100
|
+
auth,
|
|
99
101
|
graphql,
|
|
100
102
|
config: fullConfig,
|
|
101
103
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AA+DH,sDAuBC;AAUD,8DASC;AAvGD,qCAAsF;AACtF,iDAWwB;AACxB,qCAAgE;AAEhE,kBAAkB;AAClB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,kDAAwD;AAA/C,2GAAA,eAAe,OAAA;AAoBxB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,qBAAqB,CAAC,SAAmC,EAAE;IACvE,MAAM,UAAU,GAAoB;QAChC,GAAG,uBAAc;QACjB,GAAG,MAAM;KACZ,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,4BAAmB,EAAC,UAAU,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAA,yBAAgB,EAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAA,sCAAuB,EAAC,OAAO,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAA,wCAAyB,EAAC,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAA,oCAAqB,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAA,qCAAsB,EAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAA,mCAAoB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEpD,OAAO;QACH,QAAQ;QACR,SAAS;QACT,KAAK;QACL,MAAM;QACN,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,UAAU;KACrB,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACrC,KAAa,EACb,SAAmC,EAAE;IAErC,OAAO,qBAAqB,CAAC;QACzB,GAAG,MAAM;QACT,KAAK;QACL,mBAAmB,EAAE,CAAC,EAAE,2CAA2C;KACtE,CAAC,CAAC;AACP,CAAC;AAED,iBAAiB;AACjB,kBAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articleRepository.d.ts","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EACR,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,WAAW,iBAAiB;IAC9B,2BAA2B;IAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEjE,sDAAsD;IACtD,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3F,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1F,+BAA+B;IAC/B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1F,iCAAiC;IACjC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"articleRepository.d.ts","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EACR,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,MAAM,WAAW,iBAAiB;IAC9B,2BAA2B;IAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEjE,sDAAsD;IACtD,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3F,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEhF,+BAA+B;IAC/B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1F,+BAA+B;IAC/B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE1F,iCAAiC;IACjC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAyRlF"}
|
|
@@ -23,6 +23,12 @@ function createArticleRepository(fetcher) {
|
|
|
23
23
|
filterParts.push(`author: "${filter.author}"`);
|
|
24
24
|
if (filter.favorited !== undefined)
|
|
25
25
|
filterParts.push(`favorited: ${filter.favorited}`);
|
|
26
|
+
if (filter.engine)
|
|
27
|
+
filterParts.push(`engine: "${filter.engine}"`);
|
|
28
|
+
if (filter.sequentialCode)
|
|
29
|
+
filterParts.push(`sequentialCode: "${filter.sequentialCode}"`);
|
|
30
|
+
if (filter.q)
|
|
31
|
+
filterParts.push(`q: "${filter.q.replace(/"/g, '\\"')}"`);
|
|
26
32
|
const filterArg = filterParts.length > 0 ? `filter: { ${filterParts.join(', ')} }, ` : '';
|
|
27
33
|
const fieldsQuery = (0, fields_1.buildFieldsQuery)({ preset, fields });
|
|
28
34
|
const query = `query GetArticles {
|
|
@@ -53,6 +59,12 @@ function createArticleRepository(fetcher) {
|
|
|
53
59
|
filterParts.push(`author: "${filter.author}"`);
|
|
54
60
|
if (filter.favorited !== undefined)
|
|
55
61
|
filterParts.push(`favorited: ${filter.favorited}`);
|
|
62
|
+
if (filter.engine)
|
|
63
|
+
filterParts.push(`engine: "${filter.engine}"`);
|
|
64
|
+
if (filter.sequentialCode)
|
|
65
|
+
filterParts.push(`sequentialCode: "${filter.sequentialCode}"`);
|
|
66
|
+
if (filter.q)
|
|
67
|
+
filterParts.push(`q: "${filter.q.replace(/"/g, '\\"')}"`);
|
|
56
68
|
const filterArg = filterParts.length > 0 ? `filter: { ${filterParts.join(', ')} }, ` : '';
|
|
57
69
|
const countFilterArg = filterParts.length > 0 ? `(filter: { ${filterParts.join(', ')} })` : '';
|
|
58
70
|
const fieldsQuery = (0, fields_1.buildFieldsQuery)({ preset, fields });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articleRepository.js","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAsCH,
|
|
1
|
+
{"version":3,"file":"articleRepository.js","sourceRoot":"","sources":["../../repositories/articleRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chanomhub SDK - Auth Repository
|
|
3
|
+
*
|
|
4
|
+
* Handles OAuth authentication via Supabase and token exchange with backend.
|
|
5
|
+
*/
|
|
6
|
+
import type { ChanomhubConfig } from '../config';
|
|
7
|
+
import type { RestFetcher } from '../client';
|
|
8
|
+
import type { OAuthProvider, OAuthOptions, LoginResponse, RefreshResponse, SupabaseSession } from '../types/auth';
|
|
9
|
+
export interface AuthRepository {
|
|
10
|
+
/** Check if Supabase OAuth is configured and available */
|
|
11
|
+
isOAuthEnabled(): boolean;
|
|
12
|
+
/** Sign in with Google OAuth - redirects to Google login page */
|
|
13
|
+
signInWithGoogle(options?: OAuthOptions): Promise<void>;
|
|
14
|
+
/** Sign in with any supported OAuth provider */
|
|
15
|
+
signInWithProvider(provider: OAuthProvider, options?: OAuthOptions): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Handle OAuth callback after redirect back from provider.
|
|
18
|
+
* Exchanges Supabase access token for backend JWT.
|
|
19
|
+
* Call this on your OAuth callback page.
|
|
20
|
+
*/
|
|
21
|
+
handleCallback(): Promise<LoginResponse | null>;
|
|
22
|
+
/** Sign out from Supabase (clears Supabase session only) */
|
|
23
|
+
signOut(): Promise<void>;
|
|
24
|
+
/** Refresh the backend access token using refresh token */
|
|
25
|
+
refreshToken(refreshToken: string): Promise<RefreshResponse | null>;
|
|
26
|
+
/** Get current Supabase session (if any) */
|
|
27
|
+
getSupabaseSession(): Promise<SupabaseSession | null>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates an auth repository for OAuth operations
|
|
31
|
+
*
|
|
32
|
+
* @param fetcher - REST API fetcher
|
|
33
|
+
* @param config - SDK configuration with optional Supabase settings
|
|
34
|
+
*/
|
|
35
|
+
export declare function createAuthRepository(fetcher: RestFetcher, config: ChanomhubConfig): AuthRepository;
|
|
36
|
+
//# sourceMappingURL=authRepository.d.ts.map
|
|
@@ -0,0 +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,EAGlB,MAAM,eAAe,CAAC;AAiBvB,MAAM,WAAW,cAAc;IAC3B,0DAA0D;IAC1D,cAAc,IAAI,OAAO,CAAC;IAE1B,iEAAiE;IACjE,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,gDAAgD;IAChD,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;;;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,CA6IlG"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Chanomhub SDK - Auth Repository
|
|
4
|
+
*
|
|
5
|
+
* Handles OAuth authentication via Supabase and token exchange with backend.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.createAuthRepository = createAuthRepository;
|
|
42
|
+
/**
|
|
43
|
+
* Try to dynamically import @supabase/supabase-js
|
|
44
|
+
* Returns null if not installed
|
|
45
|
+
*/
|
|
46
|
+
async function tryGetSupabaseClient(config) {
|
|
47
|
+
if (!config.supabaseUrl || !config.supabaseAnonKey) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
// Dynamic import to handle optional dependency
|
|
52
|
+
const { createClient } = await Promise.resolve().then(() => __importStar(require('@supabase/supabase-js')));
|
|
53
|
+
return createClient(config.supabaseUrl, config.supabaseAnonKey);
|
|
54
|
+
}
|
|
55
|
+
catch (_a) {
|
|
56
|
+
console.warn('Supabase client not available. Install @supabase/supabase-js to enable OAuth.');
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates an auth repository for OAuth operations
|
|
62
|
+
*
|
|
63
|
+
* @param fetcher - REST API fetcher
|
|
64
|
+
* @param config - SDK configuration with optional Supabase settings
|
|
65
|
+
*/
|
|
66
|
+
function createAuthRepository(fetcher, config) {
|
|
67
|
+
// Cache the Supabase client promise
|
|
68
|
+
let supabaseClientPromise = null;
|
|
69
|
+
async function getSupabaseClient() {
|
|
70
|
+
if (!supabaseClientPromise) {
|
|
71
|
+
supabaseClientPromise = tryGetSupabaseClient(config);
|
|
72
|
+
}
|
|
73
|
+
return supabaseClientPromise;
|
|
74
|
+
}
|
|
75
|
+
function isOAuthEnabled() {
|
|
76
|
+
return Boolean(config.supabaseUrl && config.supabaseAnonKey);
|
|
77
|
+
}
|
|
78
|
+
async function signInWithProvider(provider, options = {}) {
|
|
79
|
+
const client = await getSupabaseClient();
|
|
80
|
+
if (!client) {
|
|
81
|
+
throw new Error('Supabase is not configured. Please provide supabaseUrl and supabaseAnonKey in config, ' +
|
|
82
|
+
'and install @supabase/supabase-js package.');
|
|
83
|
+
}
|
|
84
|
+
const { error } = await client.auth.signInWithOAuth({
|
|
85
|
+
provider,
|
|
86
|
+
options: {
|
|
87
|
+
redirectTo: options.redirectTo,
|
|
88
|
+
scopes: options.scopes,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
if (error) {
|
|
92
|
+
console.error(`OAuth sign-in error (${provider}):`, error.message);
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
// Browser will redirect to OAuth provider
|
|
96
|
+
}
|
|
97
|
+
async function signInWithGoogle(options = {}) {
|
|
98
|
+
return signInWithProvider('google', options);
|
|
99
|
+
}
|
|
100
|
+
async function handleCallback() {
|
|
101
|
+
const client = await getSupabaseClient();
|
|
102
|
+
if (!client) {
|
|
103
|
+
throw new Error('Supabase is not configured for OAuth callback handling.');
|
|
104
|
+
}
|
|
105
|
+
// Get the session that Supabase created from the OAuth callback
|
|
106
|
+
const { data, error } = await client.auth.getSession();
|
|
107
|
+
if (error) {
|
|
108
|
+
console.error('Failed to get Supabase session:', error.message);
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
if (!data.session) {
|
|
112
|
+
console.error('No Supabase session found. User may not have completed OAuth flow.');
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
// Exchange Supabase token for backend JWT
|
|
116
|
+
const { data: loginData, error: loginError } = await fetcher('/api/users/login-supabase', {
|
|
117
|
+
method: 'POST',
|
|
118
|
+
body: {
|
|
119
|
+
accessToken: data.session.access_token,
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
if (loginError) {
|
|
123
|
+
console.error('Failed to exchange token with backend:', loginError);
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
return loginData;
|
|
127
|
+
}
|
|
128
|
+
async function signOut() {
|
|
129
|
+
const client = await getSupabaseClient();
|
|
130
|
+
if (client) {
|
|
131
|
+
const { error } = await client.auth.signOut();
|
|
132
|
+
if (error) {
|
|
133
|
+
console.error('Supabase sign-out error:', error.message);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Note: This only clears Supabase session.
|
|
137
|
+
// The frontend is responsible for clearing backend tokens from cookies/storage.
|
|
138
|
+
}
|
|
139
|
+
async function refreshToken(refreshToken) {
|
|
140
|
+
const { data, error } = await fetcher('/api/users/refresh-token', {
|
|
141
|
+
method: 'POST',
|
|
142
|
+
body: { refreshToken },
|
|
143
|
+
});
|
|
144
|
+
if (error) {
|
|
145
|
+
console.error('Failed to refresh token:', error);
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
return data;
|
|
149
|
+
}
|
|
150
|
+
async function getSupabaseSession() {
|
|
151
|
+
const client = await getSupabaseClient();
|
|
152
|
+
if (!client) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
const { data, error } = await client.auth.getSession();
|
|
156
|
+
if (error) {
|
|
157
|
+
console.error('Failed to get Supabase session:', error.message);
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
return data.session;
|
|
161
|
+
}
|
|
162
|
+
return {
|
|
163
|
+
isOAuthEnabled,
|
|
164
|
+
signInWithGoogle,
|
|
165
|
+
signInWithProvider,
|
|
166
|
+
handleCallback,
|
|
167
|
+
signOut,
|
|
168
|
+
refreshToken,
|
|
169
|
+
getSupabaseSession,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=authRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authRepository.js","sourceRoot":"","sources":["../../repositories/authRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,5 @@ export { createArticleRepository, type ArticleRepository } from './articleReposi
|
|
|
5
5
|
export { createFavoritesRepository, type FavoritesRepository, type FavoriteResponse, } from './favoritesRepository';
|
|
6
6
|
export { createUsersRepository, type UsersRepository } from './usersRepository';
|
|
7
7
|
export { createSearchRepository, type SearchRepository, type SearchOptions, } from './searchRepository';
|
|
8
|
+
export { createAuthRepository, type AuthRepository } from './authRepository';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../repositories/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EACH,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACrB,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../repositories/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EACH,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Chanomhub SDK - Repositories Index
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createSearchRepository = exports.createUsersRepository = exports.createFavoritesRepository = exports.createArticleRepository = void 0;
|
|
6
|
+
exports.createAuthRepository = exports.createSearchRepository = exports.createUsersRepository = exports.createFavoritesRepository = exports.createArticleRepository = void 0;
|
|
7
7
|
var articleRepository_1 = require("./articleRepository");
|
|
8
8
|
Object.defineProperty(exports, "createArticleRepository", { enumerable: true, get: function () { return articleRepository_1.createArticleRepository; } });
|
|
9
9
|
var favoritesRepository_1 = require("./favoritesRepository");
|
|
@@ -12,4 +12,6 @@ var usersRepository_1 = require("./usersRepository");
|
|
|
12
12
|
Object.defineProperty(exports, "createUsersRepository", { enumerable: true, get: function () { return usersRepository_1.createUsersRepository; } });
|
|
13
13
|
var searchRepository_1 = require("./searchRepository");
|
|
14
14
|
Object.defineProperty(exports, "createSearchRepository", { enumerable: true, get: function () { return searchRepository_1.createSearchRepository; } });
|
|
15
|
+
var authRepository_1 = require("./authRepository");
|
|
16
|
+
Object.defineProperty(exports, "createAuthRepository", { enumerable: true, get: function () { return authRepository_1.createAuthRepository; } });
|
|
15
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../repositories/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAAsF;AAA7E,4HAAA,uBAAuB,OAAA;AAChC,6DAI+B;AAH3B,gIAAA,yBAAyB,OAAA;AAI7B,qDAAgF;AAAvE,wHAAA,qBAAqB,OAAA;AAC9B,uDAI4B;AAHxB,0HAAA,sBAAsB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../repositories/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAAsF;AAA7E,4HAAA,uBAAuB,OAAA;AAChC,6DAI+B;AAH3B,gIAAA,yBAAyB,OAAA;AAI7B,qDAAgF;AAAvE,wHAAA,qBAAqB,OAAA;AAC9B,uDAI4B;AAHxB,0HAAA,sBAAsB,OAAA;AAI1B,mDAA6E;AAApE,sHAAA,oBAAoB,OAAA"}
|
package/dist/types/article.d.ts
CHANGED
|
@@ -82,6 +82,12 @@ export interface ArticleFilter {
|
|
|
82
82
|
category?: string;
|
|
83
83
|
author?: string;
|
|
84
84
|
favorited?: boolean;
|
|
85
|
+
/** Filter by engine (e.g., 'RenPy', 'Unity') */
|
|
86
|
+
engine?: string;
|
|
87
|
+
/** Filter by sequential code (e.g., 'HJ218') */
|
|
88
|
+
sequentialCode?: string;
|
|
89
|
+
/** Full-text search query */
|
|
90
|
+
q?: string;
|
|
85
91
|
}
|
|
86
92
|
/** Article list options */
|
|
87
93
|
export interface ArticleListOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../types/article.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../types/article.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chanomhub SDK - Auth Types
|
|
3
|
+
*/
|
|
4
|
+
import type { User } from './user';
|
|
5
|
+
/** Supported OAuth providers */
|
|
6
|
+
export type OAuthProvider = 'google' | 'discord' | 'github' | 'facebook';
|
|
7
|
+
/** OAuth redirect options */
|
|
8
|
+
export interface OAuthOptions {
|
|
9
|
+
/** URL to redirect to after OAuth */
|
|
10
|
+
redirectTo?: string;
|
|
11
|
+
/** Additional scopes to request */
|
|
12
|
+
scopes?: string;
|
|
13
|
+
}
|
|
14
|
+
/** Login response from backend after token exchange */
|
|
15
|
+
export interface LoginResponse {
|
|
16
|
+
user: User;
|
|
17
|
+
token: string;
|
|
18
|
+
refreshToken: string;
|
|
19
|
+
}
|
|
20
|
+
/** Token refresh response from backend */
|
|
21
|
+
export interface RefreshResponse {
|
|
22
|
+
token: string;
|
|
23
|
+
refreshToken?: string;
|
|
24
|
+
}
|
|
25
|
+
/** Auth session state */
|
|
26
|
+
export interface AuthSession {
|
|
27
|
+
user: User;
|
|
28
|
+
token: string;
|
|
29
|
+
refreshToken: string;
|
|
30
|
+
expiresAt?: number;
|
|
31
|
+
}
|
|
32
|
+
/** Supabase session (minimal type for SDK use) */
|
|
33
|
+
export interface SupabaseSession {
|
|
34
|
+
access_token: string;
|
|
35
|
+
refresh_token: string;
|
|
36
|
+
expires_at?: number;
|
|
37
|
+
user: {
|
|
38
|
+
id: string;
|
|
39
|
+
email?: string;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/** Backend login request */
|
|
43
|
+
export interface LoginSupabaseRequest {
|
|
44
|
+
accessToken: string;
|
|
45
|
+
}
|
|
46
|
+
/** Backend refresh token request */
|
|
47
|
+
export interface RefreshTokenRequest {
|
|
48
|
+
refreshToken: string;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../types/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzE,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yBAAyB;AACzB,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,4BAA4B;AAC5B,MAAM,WAAW,oBAAoB;IACjC,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,oCAAoC;AACpC,MAAM,WAAW,mBAAmB;IAChC,YAAY,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../types/auth.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
package/dist/types/index.js
CHANGED
|
@@ -20,4 +20,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
__exportStar(require("./common"), exports);
|
|
21
21
|
__exportStar(require("./article"), exports);
|
|
22
22
|
__exportStar(require("./user"), exports);
|
|
23
|
+
__exportStar(require("./auth"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,yCAAuB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chanomhub/sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "ChanomHub SDK",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"author": "",
|
|
43
43
|
"license": "ISC",
|
|
44
44
|
"devDependencies": {
|
|
45
|
+
"@supabase/supabase-js": "^2.89.0",
|
|
45
46
|
"@types/node": "^25.0.3",
|
|
46
47
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
47
48
|
"@typescript-eslint/parser": "^8.51.0",
|
|
@@ -49,14 +50,23 @@
|
|
|
49
50
|
"eslint": "^9.39.2",
|
|
50
51
|
"eslint-config-prettier": "^10.1.8",
|
|
51
52
|
"eslint-plugin-prettier": "^5.5.4",
|
|
52
|
-
"msw": "^2.12.
|
|
53
|
-
"next": "^16.1.
|
|
53
|
+
"msw": "^2.12.7",
|
|
54
|
+
"next": "^16.1.1",
|
|
54
55
|
"prettier": "^3.7.4",
|
|
55
56
|
"typescript": "^5.9.3",
|
|
56
57
|
"typescript-eslint": "^8.51.0",
|
|
57
58
|
"vitest": "^4.0.16"
|
|
58
59
|
},
|
|
59
60
|
"peerDependencies": {
|
|
61
|
+
"@supabase/supabase-js": ">=2.0.0",
|
|
60
62
|
"next": ">=13.0.0"
|
|
63
|
+
},
|
|
64
|
+
"peerDependenciesMeta": {
|
|
65
|
+
"next": {
|
|
66
|
+
"optional": true
|
|
67
|
+
},
|
|
68
|
+
"@supabase/supabase-js": {
|
|
69
|
+
"optional": true
|
|
70
|
+
}
|
|
61
71
|
}
|
|
62
72
|
}
|