@chanomhub/sdk 1.3.10 → 1.3.11
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/dist/__tests__/auth.test.js +1 -1
- package/dist/__tests__/auth.test.js.map +1 -1
- package/dist/client.d.ts +5 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +103 -21
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/repositories/authRepository.js +1 -1
- package/dist/repositories/authRepository.js.map +1 -1
- package/dist/repositories/developerRepository.d.ts +1 -1
- package/dist/repositories/developerRepository.d.ts.map +1 -1
- package/dist/repositories/developerRepository.js +9 -8
- package/dist/repositories/developerRepository.js.map +1 -1
- package/dist/types/auth.d.ts +4 -2
- package/dist/types/auth.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -52,7 +52,7 @@ const authRepository_1 = require("../repositories/authRepository");
|
|
|
52
52
|
});
|
|
53
53
|
const auth = (0, authRepository_1.createAuthRepository)(mockFetcher, config);
|
|
54
54
|
const result = await auth.refreshToken('old-refresh-token');
|
|
55
|
-
(0, vitest_1.expect)(mockFetcher).toHaveBeenCalledWith('/api/
|
|
55
|
+
(0, vitest_1.expect)(mockFetcher).toHaveBeenCalledWith('/api/auth/refresh', {
|
|
56
56
|
method: 'POST',
|
|
57
57
|
body: { refreshToken: 'old-refresh-token' },
|
|
58
58
|
});
|
|
@@ -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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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Chanomhub SDK - GraphQL
|
|
2
|
+
* Chanomhub SDK - GraphQL and REST Clients
|
|
3
3
|
*
|
|
4
|
-
* Framework-agnostic
|
|
5
|
-
*
|
|
4
|
+
* Framework-agnostic API clients using standard fetch API.
|
|
5
|
+
* Includes automatic token renewal logic.
|
|
6
6
|
*/
|
|
7
7
|
import type { ChanomhubConfig } from './config';
|
|
8
8
|
import type { GraphQLResponse } from './types/common';
|
|
@@ -20,7 +20,7 @@ export interface FetchOptions {
|
|
|
20
20
|
* @param config - SDK configuration
|
|
21
21
|
* @returns GraphQL fetch function
|
|
22
22
|
*/
|
|
23
|
-
export declare function createGraphQLClient(config: ChanomhubConfig): <T>(query: string, variables?: Record<string, unknown>, options?: FetchOptions) => Promise<GraphQLResponse<T>>;
|
|
23
|
+
export declare function createGraphQLClient(config: ChanomhubConfig): <T>(query: string, variables?: Record<string, unknown>, options?: FetchOptions, isRetry?: boolean) => Promise<GraphQLResponse<T>>;
|
|
24
24
|
export type GraphQLFetcher = ReturnType<typeof createGraphQLClient>;
|
|
25
25
|
/**
|
|
26
26
|
* REST API response type
|
|
@@ -38,6 +38,6 @@ export interface RestResponse<T> {
|
|
|
38
38
|
export declare function createRestClient(config: ChanomhubConfig): <T>(endpoint: string, options?: {
|
|
39
39
|
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
40
40
|
body?: Record<string, unknown>;
|
|
41
|
-
}) => Promise<RestResponse<T>>;
|
|
41
|
+
}, isRetry?: boolean) => Promise<RestResponse<T>>;
|
|
42
42
|
export type RestFetcher = ReturnType<typeof createRestClient>;
|
|
43
43
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AA8EtD,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,IAC3B,CAAC,SAClB,MAAM,cACF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YACzB,YAAY,wBAEtB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAsFjC;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,IAC3B,CAAC,YACZ,MAAM,YACP;IACL,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,wBAEF,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAmE9B;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -1,14 +1,77 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Chanomhub SDK - GraphQL
|
|
3
|
+
* Chanomhub SDK - GraphQL and REST Clients
|
|
4
4
|
*
|
|
5
|
-
* Framework-agnostic
|
|
6
|
-
*
|
|
5
|
+
* Framework-agnostic API clients using standard fetch API.
|
|
6
|
+
* Includes automatic token renewal logic.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createGraphQLClient = createGraphQLClient;
|
|
10
10
|
exports.createRestClient = createRestClient;
|
|
11
11
|
const imageUrl_1 = require("./transforms/imageUrl");
|
|
12
|
+
// Shared state for token refreshing to handle concurrent requests
|
|
13
|
+
// Keyed by refreshToken to avoid cross-user token leakage in server-side environments
|
|
14
|
+
const refreshPromises = new Map();
|
|
15
|
+
/**
|
|
16
|
+
* Internal helper to refresh tokens
|
|
17
|
+
*/
|
|
18
|
+
async function performTokenRefresh(config) {
|
|
19
|
+
const refreshToken = config.refreshToken;
|
|
20
|
+
if (!refreshToken)
|
|
21
|
+
return null;
|
|
22
|
+
try {
|
|
23
|
+
// Use /api/auth/refresh as it's a REST call
|
|
24
|
+
const res = await fetch(`${config.apiUrl}/api/auth/refresh`, {
|
|
25
|
+
method: 'POST',
|
|
26
|
+
headers: { 'Content-Type': 'application/json' },
|
|
27
|
+
body: JSON.stringify({ refreshToken }),
|
|
28
|
+
});
|
|
29
|
+
if (!res.ok)
|
|
30
|
+
throw new Error('Refresh failed');
|
|
31
|
+
const json = await res.json();
|
|
32
|
+
// Backend returns TokenPairDTO wrapped in 'data' by TransformInterceptor
|
|
33
|
+
const data = json.data || json;
|
|
34
|
+
const newToken = data.accessToken || data.token;
|
|
35
|
+
const newRefreshToken = data.refreshToken;
|
|
36
|
+
if (newToken && newRefreshToken) {
|
|
37
|
+
// Update config in-place so subsequent requests use new token
|
|
38
|
+
config.token = newToken;
|
|
39
|
+
config.refreshToken = newRefreshToken;
|
|
40
|
+
// Notify consumer (e.g., to update cookies)
|
|
41
|
+
if (config.onTokenRefreshed) {
|
|
42
|
+
config.onTokenRefreshed(newToken, newRefreshToken);
|
|
43
|
+
}
|
|
44
|
+
return { token: newToken, refreshToken: newRefreshToken };
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('SDK: Token refresh failed:', error);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
// Clean up the promise from the map
|
|
54
|
+
refreshPromises.delete(refreshToken);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Shared logic for handling 401 and refreshing tokens
|
|
59
|
+
*/
|
|
60
|
+
async function handleUnauthorized(config, retryAction) {
|
|
61
|
+
const refreshToken = config.refreshToken;
|
|
62
|
+
if (!refreshToken)
|
|
63
|
+
return null;
|
|
64
|
+
let promise = refreshPromises.get(refreshToken);
|
|
65
|
+
if (!promise) {
|
|
66
|
+
promise = performTokenRefresh(config);
|
|
67
|
+
refreshPromises.set(refreshToken, promise);
|
|
68
|
+
}
|
|
69
|
+
const result = await promise;
|
|
70
|
+
if (result && result.token) {
|
|
71
|
+
return retryAction(result.token);
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
12
75
|
/**
|
|
13
76
|
* Creates a GraphQL fetcher function with automatic image URL transformation
|
|
14
77
|
*
|
|
@@ -16,7 +79,7 @@ const imageUrl_1 = require("./transforms/imageUrl");
|
|
|
16
79
|
* @returns GraphQL fetch function
|
|
17
80
|
*/
|
|
18
81
|
function createGraphQLClient(config) {
|
|
19
|
-
|
|
82
|
+
async function graphqlFetch(query, variables = {}, options = {}, isRetry = false) {
|
|
20
83
|
var _a, _b;
|
|
21
84
|
const headers = {
|
|
22
85
|
'Content-Type': 'application/json',
|
|
@@ -25,7 +88,6 @@ function createGraphQLClient(config) {
|
|
|
25
88
|
if (config.token) {
|
|
26
89
|
headers['Authorization'] = `Bearer ${config.token}`;
|
|
27
90
|
}
|
|
28
|
-
// Build fetch options - framework agnostic
|
|
29
91
|
const fetchOptions = {
|
|
30
92
|
method: 'POST',
|
|
31
93
|
headers,
|
|
@@ -35,21 +97,24 @@ function createGraphQLClient(config) {
|
|
|
35
97
|
...(options.operationName && { operationName: options.operationName }),
|
|
36
98
|
}),
|
|
37
99
|
};
|
|
38
|
-
// Handle caching - use Next.js revalidate option for ISR support
|
|
39
100
|
const useCache = !options.noCache && !config.token;
|
|
40
101
|
const cacheSeconds = (_b = (_a = options.cacheSeconds) !== null && _a !== void 0 ? _a : config.defaultCacheSeconds) !== null && _b !== void 0 ? _b : 3600;
|
|
41
102
|
if (useCache && cacheSeconds > 0) {
|
|
42
|
-
// Use Next.js ISR caching with revalidate option
|
|
43
103
|
fetchOptions.next = {
|
|
44
104
|
revalidate: cacheSeconds,
|
|
45
105
|
};
|
|
46
106
|
}
|
|
47
107
|
else {
|
|
48
|
-
// Disable caching entirely
|
|
49
108
|
fetchOptions.cache = 'no-store';
|
|
50
109
|
}
|
|
51
110
|
try {
|
|
52
111
|
const res = await fetch(`${config.apiUrl}/api/v2/graphql`, fetchOptions);
|
|
112
|
+
// Handle 401 Unauthorized - try to refresh token
|
|
113
|
+
if (res.status === 401 && config.refreshToken && !isRetry) {
|
|
114
|
+
const retryResult = await handleUnauthorized(config, (newToken) => graphqlFetch(query, variables, options, true));
|
|
115
|
+
if (retryResult)
|
|
116
|
+
return retryResult;
|
|
117
|
+
}
|
|
53
118
|
if (!res.ok) {
|
|
54
119
|
const errorText = await res.text();
|
|
55
120
|
console.error('GraphQL fetch error:', res.status, errorText);
|
|
@@ -59,12 +124,23 @@ function createGraphQLClient(config) {
|
|
|
59
124
|
};
|
|
60
125
|
}
|
|
61
126
|
const json = await res.json();
|
|
62
|
-
console.log('DEBUG: GraphQL Response JSON:', JSON.stringify(json));
|
|
63
127
|
if (json.errors) {
|
|
128
|
+
// Check if any error is an authentication error
|
|
129
|
+
const isAuthError = json.errors.some((e) => {
|
|
130
|
+
var _a, _b, _c, _d;
|
|
131
|
+
return ((_a = e.message) === null || _a === void 0 ? void 0 : _a.includes('Unauthorized')) ||
|
|
132
|
+
((_b = e.message) === null || _b === void 0 ? void 0 : _b.includes('unauthorized')) ||
|
|
133
|
+
((_c = e.extensions) === null || _c === void 0 ? void 0 : _c.code) === 'UNAUTHENTICATED' ||
|
|
134
|
+
((_d = e.extensions) === null || _d === void 0 ? void 0 : _d.code) === '401';
|
|
135
|
+
});
|
|
136
|
+
if (isAuthError && config.refreshToken && !isRetry) {
|
|
137
|
+
const retryResult = await handleUnauthorized(config, (newToken) => graphqlFetch(query, variables, options, true));
|
|
138
|
+
if (retryResult)
|
|
139
|
+
return retryResult;
|
|
140
|
+
}
|
|
64
141
|
console.error('GraphQL errors:', json.errors);
|
|
65
142
|
return { data: null, errors: json.errors };
|
|
66
143
|
}
|
|
67
|
-
// Auto-transform all image URLs in the response
|
|
68
144
|
const transformedData = (0, imageUrl_1.transformImageUrlsDeep)(json.data, config.cdnUrl);
|
|
69
145
|
return { data: transformedData };
|
|
70
146
|
}
|
|
@@ -75,7 +151,8 @@ function createGraphQLClient(config) {
|
|
|
75
151
|
errors: [{ message: error instanceof Error ? error.message : 'Unknown error' }],
|
|
76
152
|
};
|
|
77
153
|
}
|
|
78
|
-
}
|
|
154
|
+
}
|
|
155
|
+
return graphqlFetch;
|
|
79
156
|
}
|
|
80
157
|
/**
|
|
81
158
|
* Creates a REST API client for non-GraphQL endpoints
|
|
@@ -84,7 +161,7 @@ function createGraphQLClient(config) {
|
|
|
84
161
|
* @returns REST fetch function
|
|
85
162
|
*/
|
|
86
163
|
function createRestClient(config) {
|
|
87
|
-
|
|
164
|
+
async function restFetch(endpoint, options = {}, isRetry = false) {
|
|
88
165
|
const { method = 'GET', body } = options;
|
|
89
166
|
const headers = {
|
|
90
167
|
Accept: 'application/json',
|
|
@@ -95,34 +172,38 @@ function createRestClient(config) {
|
|
|
95
172
|
const fetchOptions = {
|
|
96
173
|
method,
|
|
97
174
|
headers,
|
|
98
|
-
cache: 'no-store',
|
|
175
|
+
cache: 'no-store',
|
|
99
176
|
};
|
|
100
177
|
if (body) {
|
|
101
178
|
headers['Content-Type'] = 'application/json';
|
|
102
179
|
fetchOptions.body = JSON.stringify(body);
|
|
103
180
|
}
|
|
104
181
|
try {
|
|
105
|
-
//
|
|
106
|
-
const res = await fetch(`${config.apiUrl}
|
|
182
|
+
// DO NOT include /api prefix here anymore because it's already in repositories
|
|
183
|
+
const res = await fetch(`${config.apiUrl}${endpoint}`, fetchOptions);
|
|
184
|
+
// Handle 401 Unauthorized
|
|
185
|
+
if (res.status === 401 && config.refreshToken && !isRetry && !endpoint.includes('/auth/refresh')) {
|
|
186
|
+
const retryResult = await handleUnauthorized(config, (newToken) => restFetch(endpoint, options, true));
|
|
187
|
+
if (retryResult)
|
|
188
|
+
return retryResult;
|
|
189
|
+
}
|
|
107
190
|
if (!res.ok) {
|
|
108
191
|
const errorText = await res.text();
|
|
109
|
-
|
|
192
|
+
if (res.status !== 404) {
|
|
193
|
+
console.error('REST fetch error:', res.status, errorText);
|
|
194
|
+
}
|
|
110
195
|
return {
|
|
111
196
|
data: null,
|
|
112
197
|
error: `HTTP ${res.status}: ${res.statusText}`,
|
|
113
198
|
};
|
|
114
199
|
}
|
|
115
|
-
// Some endpoints may return empty body (204)
|
|
116
200
|
if (res.status === 204) {
|
|
117
201
|
return { data: null };
|
|
118
202
|
}
|
|
119
203
|
const json = await res.json();
|
|
120
|
-
// Handle API responses that wrap data in a 'data' field
|
|
121
|
-
// e.g., { data: { profile: {...} }, statusCode: 200, timestamp: "..." }
|
|
122
204
|
const responseData = json && typeof json === 'object' && 'data' in json && 'statusCode' in json
|
|
123
205
|
? json.data
|
|
124
206
|
: json;
|
|
125
|
-
// Transform image URLs if present
|
|
126
207
|
const transformedData = (0, imageUrl_1.transformImageUrlsDeep)(responseData, config.cdnUrl);
|
|
127
208
|
return { data: transformedData };
|
|
128
209
|
}
|
|
@@ -133,6 +214,7 @@ function createRestClient(config) {
|
|
|
133
214
|
error: error instanceof Error ? error.message : 'Unknown error',
|
|
134
215
|
};
|
|
135
216
|
}
|
|
136
|
-
}
|
|
217
|
+
}
|
|
218
|
+
return restFetch;
|
|
137
219
|
}
|
|
138
220
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -44,6 +44,10 @@ export interface ChanomhubConfig {
|
|
|
44
44
|
imgproxyOptions?: ImgproxyOptions;
|
|
45
45
|
/** Authentication token (optional) */
|
|
46
46
|
token?: string;
|
|
47
|
+
/** Refresh token for automatic renewal (optional) */
|
|
48
|
+
refreshToken?: string;
|
|
49
|
+
/** Callback triggered when token is automatically refreshed */
|
|
50
|
+
onTokenRefreshed?: (token: string, refreshToken: string) => void;
|
|
47
51
|
/** Default cache duration in seconds (0 = no cache) */
|
|
48
52
|
defaultCacheSeconds?: number;
|
|
49
53
|
/** Supabase project URL (required for OAuth) */
|
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,2BAA2B;AAC3B,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjF,sCAAsC;AACtC,MAAM,MAAM,eAAe,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAEX,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GACpB,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,sCAAsC;IACtC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mCAAmC;IACnC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,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;IACzB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,wBAAwB,EAAE,eAEtC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAQ5B,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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2BAA2B;AAC3B,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjF,sCAAsC;AACtC,MAAM,MAAM,eAAe,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAEX,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GACpB,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,sCAAsC;IACtC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mCAAmC;IACnC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,uDAAuD;IACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iCAAiC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,wBAAwB,EAAE,eAEtC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAQ5B,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;;;AAqFU,QAAA,wBAAwB,GAAoB;IACrD,MAAM,EAAE,MAAM;CACjB,CAAC;AAEW,QAAA,cAAc,GAAoB;IAC3C,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,gCAAgC;IACxC,UAAU,EAAE,2BAA2B;IACvC,iBAAiB,EAAE,0BAA0B;IAC7C,kBAAkB,EAAE,0BAA0B;IAC9C,eAAe,EAAE,gCAAwB;IACzC,mBAAmB,EAAE,IAAI;CAC5B,CAAC"}
|
|
@@ -166,7 +166,7 @@ function createAuthRepository(fetcher, config) {
|
|
|
166
166
|
// The frontend is responsible for clearing backend tokens from cookies/storage.
|
|
167
167
|
}
|
|
168
168
|
async function refreshToken(refreshToken) {
|
|
169
|
-
const { data, error } = await fetcher('/api/
|
|
169
|
+
const { data, error } = await fetcher('/api/auth/refresh', {
|
|
170
170
|
method: 'POST',
|
|
171
171
|
body: { refreshToken },
|
|
172
172
|
});
|
|
@@ -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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"}
|
|
@@ -24,7 +24,7 @@ export interface DeveloperRepository {
|
|
|
24
24
|
/**
|
|
25
25
|
* Get the developer profile for the currently authenticated user.
|
|
26
26
|
*/
|
|
27
|
-
getProfile(): Promise<DeveloperProfile>;
|
|
27
|
+
getProfile(): Promise<DeveloperProfile | null>;
|
|
28
28
|
/**
|
|
29
29
|
* Update the developer profile for the currently authenticated user.
|
|
30
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developerRepository.d.ts","sourceRoot":"","sources":["../../repositories/developerRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAChC;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpF;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"developerRepository.d.ts","sourceRoot":"","sources":["../../repositories/developerRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAChC;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpF;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAE/C;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5E;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAmFnF"}
|
|
@@ -13,14 +13,14 @@ exports.createDeveloperRepository = createDeveloperRepository;
|
|
|
13
13
|
*/
|
|
14
14
|
function createDeveloperRepository(fetcher) {
|
|
15
15
|
async function getAllProfiles() {
|
|
16
|
-
const { data, error } = await fetcher('/admin/developer/profiles');
|
|
16
|
+
const { data, error } = await fetcher('/api/admin/developer/profiles');
|
|
17
17
|
if (error) {
|
|
18
18
|
throw error;
|
|
19
19
|
}
|
|
20
20
|
return data || [];
|
|
21
21
|
}
|
|
22
22
|
async function generateVerificationToken(userId) {
|
|
23
|
-
const { data, error } = await fetcher('/admin/developer/generate-token', {
|
|
23
|
+
const { data, error } = await fetcher('/api/admin/developer/generate-token', {
|
|
24
24
|
method: 'POST',
|
|
25
25
|
body: { userId },
|
|
26
26
|
});
|
|
@@ -33,7 +33,7 @@ function createDeveloperRepository(fetcher) {
|
|
|
33
33
|
return data;
|
|
34
34
|
}
|
|
35
35
|
async function verifyDeveloper(token, data) {
|
|
36
|
-
const { data: profile, error } = await fetcher(`/developer/verify/${token}`, {
|
|
36
|
+
const { data: profile, error } = await fetcher(`/api/developer/verify/${token}`, {
|
|
37
37
|
method: 'POST',
|
|
38
38
|
body: data,
|
|
39
39
|
});
|
|
@@ -46,17 +46,18 @@ function createDeveloperRepository(fetcher) {
|
|
|
46
46
|
return profile;
|
|
47
47
|
}
|
|
48
48
|
async function getProfile() {
|
|
49
|
-
const { data: profile, error } = await fetcher('/developer/profile');
|
|
49
|
+
const { data: profile, error } = await fetcher('/api/developer/profile');
|
|
50
50
|
if (error) {
|
|
51
|
+
// Handle 404 as a valid "no profile" state
|
|
52
|
+
if (error.includes('404')) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
51
55
|
throw error;
|
|
52
56
|
}
|
|
53
|
-
if (!profile) {
|
|
54
|
-
throw new Error('Developer profile not found');
|
|
55
|
-
}
|
|
56
57
|
return profile;
|
|
57
58
|
}
|
|
58
59
|
async function updateProfile(data) {
|
|
59
|
-
const { data: profile, error } = await fetcher('/developer/profile', {
|
|
60
|
+
const { data: profile, error } = await fetcher('/api/developer/profile', {
|
|
60
61
|
method: 'PATCH',
|
|
61
62
|
body: data,
|
|
62
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"developerRepository.js","sourceRoot":"","sources":["../../repositories/developerRepository.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;
|
|
1
|
+
{"version":3,"file":"developerRepository.js","sourceRoot":"","sources":["../../repositories/developerRepository.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAmDH,8DAmFC;AAxFD;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,OAAoB;IAC1D,KAAK,UAAU,cAAc;QACzB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAqB,+BAA+B,CAAC,CAAC;QAE3F,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,UAAU,yBAAyB,CAAC,MAAc;QACnD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAe,qCAAqC,EAAE;YACvF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,MAAM,EAAE;SACnB,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,KAAa,EAAE,IAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAmB,yBAAyB,KAAK,EAAE,EAAE;YAC/F,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAA0C;SACnD,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,UAAU;QACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAmB,wBAAwB,CAAC,CAAC;QAE3F,IAAI,KAAK,EAAE,CAAC;YACR,2CAA2C;YAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,IAAiC;QAC1D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAmB,wBAAwB,EAAE;YACvF,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAA0C;SACnD,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO;QACH,yBAAyB;QACzB,eAAe;QACf,UAAU;QACV,aAAa;QACb,cAAc;KACjB,CAAC;AACN,CAAC"}
|
package/dist/types/auth.d.ts
CHANGED
|
@@ -20,12 +20,14 @@ export interface OAuthOptions {
|
|
|
20
20
|
/** Login response from backend after token exchange */
|
|
21
21
|
export interface LoginResponse {
|
|
22
22
|
user: User;
|
|
23
|
-
token
|
|
23
|
+
token?: string;
|
|
24
|
+
accessToken?: string;
|
|
24
25
|
refreshToken: string;
|
|
25
26
|
}
|
|
26
27
|
/** Token refresh response from backend */
|
|
27
28
|
export interface RefreshResponse {
|
|
28
|
-
token
|
|
29
|
+
token?: string;
|
|
30
|
+
accessToken?: string;
|
|
29
31
|
refreshToken?: string;
|
|
30
32
|
}
|
|
31
33
|
/** Auth session state */
|
package/dist/types/auth.d.ts.map
CHANGED
|
@@ -1 +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;IAChB,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oDAAoD;IACpD,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;
|
|
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;IAChB,wEAAwE;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oDAAoD;IACpD,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;AAMD,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAC9B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8BAA8B;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAC9B,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IAC/B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB"}
|