@spotsdev/sdk 1.0.0 → 1.1.0
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/api/client.d.ts +1 -1
- package/dist/api/client.js +7 -3
- package/dist/api/entities.d.ts +316 -0
- package/dist/api/entities.js +9 -0
- package/dist/api/mutations/clubs.d.ts +6 -6
- package/dist/api/mutations/clubs.js +12 -10
- package/dist/api/mutations/conversations.d.ts +7 -7
- package/dist/api/mutations/conversations.js +17 -13
- package/dist/api/mutations/index.js +1 -1
- package/dist/api/mutations/notifications.d.ts +4 -4
- package/dist/api/mutations/notifications.js +7 -7
- package/dist/api/mutations/orders.d.ts +7 -7
- package/dist/api/mutations/orders.js +11 -13
- package/dist/api/mutations/posts.d.ts +13 -13
- package/dist/api/mutations/posts.js +41 -29
- package/dist/api/mutations/products.d.ts +5 -5
- package/dist/api/mutations/products.js +9 -13
- package/dist/api/mutations/spots.d.ts +42 -8
- package/dist/api/mutations/spots.js +51 -13
- package/dist/api/mutations/users.d.ts +12 -10
- package/dist/api/mutations/users.js +20 -18
- package/dist/api/queries/auth.d.ts +5 -5
- package/dist/api/queries/auth.js +7 -7
- package/dist/api/queries/clubs.d.ts +7 -7
- package/dist/api/queries/clubs.js +11 -11
- package/dist/api/queries/conversations.d.ts +5 -5
- package/dist/api/queries/conversations.js +7 -7
- package/dist/api/queries/index.js +1 -1
- package/dist/api/queries/misc.d.ts +8 -32
- package/dist/api/queries/misc.js +28 -66
- package/dist/api/queries/notifications.d.ts +4 -4
- package/dist/api/queries/notifications.js +5 -5
- package/dist/api/queries/orders.d.ts +4 -4
- package/dist/api/queries/orders.js +7 -7
- package/dist/api/queries/posts.d.ts +44 -7
- package/dist/api/queries/posts.js +118 -15
- package/dist/api/queries/products.d.ts +6 -10
- package/dist/api/queries/products.js +7 -9
- package/dist/api/queries/spots.d.ts +31 -16
- package/dist/api/queries/spots.js +113 -31
- package/dist/api/queries/templates.d.ts +6 -9
- package/dist/api/queries/templates.js +8 -13
- package/dist/api/queries/users.d.ts +25 -11
- package/dist/api/queries/users.js +75 -27
- package/dist/api/types.d.ts +36 -33
- package/dist/api/types.js +6 -7
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -8
- package/package.json +6 -21
- package/src/api/client.ts +45 -30
- package/src/api/entities.ts +420 -0
- package/src/api/mutations/clubs.ts +73 -40
- package/src/api/mutations/conversations.ts +91 -47
- package/src/api/mutations/index.ts +8 -8
- package/src/api/mutations/notifications.ts +48 -25
- package/src/api/mutations/orders.ts +101 -70
- package/src/api/mutations/posts.ts +229 -118
- package/src/api/mutations/products.ts +120 -81
- package/src/api/mutations/spots.ts +167 -55
- package/src/api/mutations/users.ts +109 -76
- package/src/api/queries/auth.ts +49 -24
- package/src/api/queries/clubs.ts +53 -38
- package/src/api/queries/conversations.ts +48 -30
- package/src/api/queries/index.ts +21 -21
- package/src/api/queries/misc.ts +53 -82
- package/src/api/queries/notifications.ts +32 -21
- package/src/api/queries/orders.ts +59 -42
- package/src/api/queries/posts.ts +203 -48
- package/src/api/queries/products.ts +51 -44
- package/src/api/queries/spots.ts +216 -85
- package/src/api/queries/templates.ts +39 -32
- package/src/api/queries/users.ts +157 -64
- package/src/api/types.ts +72 -118
- package/src/index.ts +5 -11
|
@@ -3,8 +3,6 @@
|
|
|
3
3
|
* Templates Query Hooks
|
|
4
4
|
*
|
|
5
5
|
* TanStack Query hooks for post template operations.
|
|
6
|
-
*
|
|
7
|
-
* Templates are reference data (flat array), not paginated.
|
|
8
6
|
*/
|
|
9
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
8
|
exports.templateKeys = void 0;
|
|
@@ -28,10 +26,9 @@ exports.templateKeys = {
|
|
|
28
26
|
// QUERY HOOKS
|
|
29
27
|
// ============================================================================
|
|
30
28
|
/**
|
|
31
|
-
* Get all templates
|
|
29
|
+
* Get all templates
|
|
32
30
|
*
|
|
33
|
-
* @endpoint GET /
|
|
34
|
-
* @returns Flat array of templates (not paginated)
|
|
31
|
+
* @endpoint GET /templates
|
|
35
32
|
*/
|
|
36
33
|
function useTemplates(params, options) {
|
|
37
34
|
return (0, react_query_1.useQuery)({
|
|
@@ -41,25 +38,23 @@ function useTemplates(params, options) {
|
|
|
41
38
|
const queryParams = new URLSearchParams();
|
|
42
39
|
if (params?.spotType)
|
|
43
40
|
queryParams.set('spotType', params.spotType);
|
|
44
|
-
const response = await client.get(`/
|
|
45
|
-
// Templates endpoint returns flat array: { data: [] }
|
|
41
|
+
const response = await client.get(`/templates?${queryParams}`);
|
|
46
42
|
return response.data.data;
|
|
47
43
|
},
|
|
48
|
-
staleTime: 1000 * 60 * 60, // Cache for 1 hour (reference data)
|
|
49
44
|
...options,
|
|
50
45
|
});
|
|
51
46
|
}
|
|
52
47
|
/**
|
|
53
48
|
* Get a template by ID
|
|
54
49
|
*
|
|
55
|
-
* @endpoint GET /
|
|
50
|
+
* @endpoint GET /templates/{templateId}
|
|
56
51
|
*/
|
|
57
52
|
function useTemplate(templateId, options) {
|
|
58
53
|
return (0, react_query_1.useQuery)({
|
|
59
54
|
queryKey: exports.templateKeys.detail(templateId),
|
|
60
55
|
queryFn: async () => {
|
|
61
56
|
const client = (0, client_1.getApiClient)();
|
|
62
|
-
const response = await client.get(`/
|
|
57
|
+
const response = await client.get(`/templates/${templateId}`);
|
|
63
58
|
return response.data.data;
|
|
64
59
|
},
|
|
65
60
|
enabled: !!templateId,
|
|
@@ -69,18 +64,18 @@ function useTemplate(templateId, options) {
|
|
|
69
64
|
/**
|
|
70
65
|
* Get a template by slug
|
|
71
66
|
*
|
|
72
|
-
* @endpoint GET /
|
|
67
|
+
* @endpoint GET /templates/slug/{slug}
|
|
73
68
|
*/
|
|
74
69
|
function useTemplateBySlug(slug, options) {
|
|
75
70
|
return (0, react_query_1.useQuery)({
|
|
76
71
|
queryKey: exports.templateKeys.bySlug(slug),
|
|
77
72
|
queryFn: async () => {
|
|
78
73
|
const client = (0, client_1.getApiClient)();
|
|
79
|
-
const response = await client.get(`/
|
|
74
|
+
const response = await client.get(`/templates/slug/${slug}`);
|
|
80
75
|
return response.data.data;
|
|
81
76
|
},
|
|
82
77
|
enabled: !!slug,
|
|
83
78
|
...options,
|
|
84
79
|
});
|
|
85
80
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9xdWVyaWVzL3RlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7O0FBa0NILG9DQWlCQztBQU9ELGtDQWdCQztBQU9ELDhDQWdCQztBQS9GRCx1REFJOEI7QUFFOUIsc0NBQXNDO0FBR3RDLCtFQUErRTtBQUMvRSxhQUFhO0FBQ2IsK0VBQStFO0FBRWxFLFFBQUEsWUFBWSxHQUFHO0lBQzFCLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBVTtJQUMzQixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLG9CQUFZLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBVTtJQUNuRCxJQUFJLEVBQUUsQ0FBQyxPQUE2QixFQUFFLEVBQUUsQ0FDdEMsQ0FBQyxHQUFHLG9CQUFZLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxDQUFVO0lBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsb0JBQVksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFVO0lBQ3ZELE1BQU0sRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLG9CQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFVO0lBQ2hFLE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLG9CQUFZLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQVU7Q0FDdkUsQ0FBQTtBQUVELCtFQUErRTtBQUMvRSxjQUFjO0FBQ2QsK0VBQStFO0FBRS9FOzs7O0dBSUc7QUFDSCxTQUFnQixZQUFZLENBQzFCLE1BQTRCLEVBQzVCLE9BQW1FO0lBRW5FLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLG9CQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxPQUFPLEVBQUUsS0FBSyxJQUF5QixFQUFFO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7WUFDekMsSUFBSSxNQUFNLEVBQUUsUUFBUTtnQkFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUMvQixjQUFjLFdBQVcsRUFBRSxDQUM1QixDQUFBO1lBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtRQUMzQixDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQ3pCLFVBQWtCLEVBQ2xCLE9BQWlFO0lBRWpFLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLG9CQUFZLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxPQUFPLEVBQUUsS0FBSyxJQUF1QixFQUFFO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFBO1lBQzdCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FDL0IsY0FBYyxVQUFVLEVBQUUsQ0FDM0IsQ0FBQTtZQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDM0IsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLENBQUMsVUFBVTtRQUNyQixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUMvQixJQUFZLEVBQ1osT0FBaUU7SUFFakUsT0FBTyxJQUFBLHNCQUFRLEVBQUM7UUFDZCxRQUFRLEVBQUUsb0JBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ25DLE9BQU8sRUFBRSxLQUFLLElBQXVCLEVBQUU7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUE7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUMvQixtQkFBbUIsSUFBSSxFQUFFLENBQzFCLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzNCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDZixHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUZW1wbGF0ZXMgUXVlcnkgSG9va3NcbiAqXG4gKiBUYW5TdGFjayBRdWVyeSBob29rcyBmb3IgcG9zdCB0ZW1wbGF0ZSBvcGVyYXRpb25zLlxuICovXG5cbmltcG9ydCB7XG4gIHVzZVF1ZXJ5LFxuICB0eXBlIFVzZVF1ZXJ5T3B0aW9ucyxcbiAgdHlwZSBVc2VRdWVyeVJlc3VsdCxcbn0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5J1xuXG5pbXBvcnQge2dldEFwaUNsaWVudH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHt0eXBlIEFwaVJlc3BvbnNlLCB0eXBlIFRlbXBsYXRlfSBmcm9tICcuLi90eXBlcydcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgS0VZU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3QgdGVtcGxhdGVLZXlzID0ge1xuICBhbGw6IFsndGVtcGxhdGVzJ10gYXMgY29uc3QsXG4gIGxpc3RzOiAoKSA9PiBbLi4udGVtcGxhdGVLZXlzLmFsbCwgJ2xpc3QnXSBhcyBjb25zdCxcbiAgbGlzdDogKGZpbHRlcnM/OiB7c3BvdFR5cGU/OiBzdHJpbmd9KSA9PlxuICAgIFsuLi50ZW1wbGF0ZUtleXMubGlzdHMoKSwgZmlsdGVyc10gYXMgY29uc3QsXG4gIGRldGFpbHM6ICgpID0+IFsuLi50ZW1wbGF0ZUtleXMuYWxsLCAnZGV0YWlsJ10gYXMgY29uc3QsXG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IFsuLi50ZW1wbGF0ZUtleXMuZGV0YWlscygpLCBpZF0gYXMgY29uc3QsXG4gIGJ5U2x1ZzogKHNsdWc6IHN0cmluZykgPT4gWy4uLnRlbXBsYXRlS2V5cy5hbGwsICdzbHVnJywgc2x1Z10gYXMgY29uc3QsXG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFFVRVJZIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogR2V0IGFsbCB0ZW1wbGF0ZXNcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC90ZW1wbGF0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRlbXBsYXRlcyhcbiAgcGFyYW1zPzoge3Nwb3RUeXBlPzogc3RyaW5nfSxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFRlbXBsYXRlW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPixcbik6IFVzZVF1ZXJ5UmVzdWx0PFRlbXBsYXRlW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdGVtcGxhdGVLZXlzLmxpc3QocGFyYW1zKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxUZW1wbGF0ZVtdPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgICAgIGlmIChwYXJhbXM/LnNwb3RUeXBlKSBxdWVyeVBhcmFtcy5zZXQoJ3Nwb3RUeXBlJywgcGFyYW1zLnNwb3RUeXBlKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPFRlbXBsYXRlW10+PihcbiAgICAgICAgYC90ZW1wbGF0ZXM/JHtxdWVyeVBhcmFtc31gLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSlcbn1cblxuLyoqXG4gKiBHZXQgYSB0ZW1wbGF0ZSBieSBJRFxuICpcbiAqIEBlbmRwb2ludCBHRVQgL3RlbXBsYXRlcy97dGVtcGxhdGVJZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRlbXBsYXRlKFxuICB0ZW1wbGF0ZUlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxUZW1wbGF0ZT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8VGVtcGxhdGU+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdGVtcGxhdGVLZXlzLmRldGFpbCh0ZW1wbGF0ZUlkKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxUZW1wbGF0ZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxUZW1wbGF0ZT4+KFxuICAgICAgICBgL3RlbXBsYXRlcy8ke3RlbXBsYXRlSWR9YCxcbiAgICAgIClcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGFcbiAgICB9LFxuICAgIGVuYWJsZWQ6ICEhdGVtcGxhdGVJZCxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBhIHRlbXBsYXRlIGJ5IHNsdWdcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC90ZW1wbGF0ZXMvc2x1Zy97c2x1Z31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRlbXBsYXRlQnlTbHVnKFxuICBzbHVnOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxUZW1wbGF0ZT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8VGVtcGxhdGU+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdGVtcGxhdGVLZXlzLmJ5U2x1ZyhzbHVnKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxUZW1wbGF0ZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxUZW1wbGF0ZT4+KFxuICAgICAgICBgL3RlbXBsYXRlcy9zbHVnLyR7c2x1Z31gLFxuICAgICAgKVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgIH0sXG4gICAgZW5hYmxlZDogISFzbHVnLFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG4iXX0=
|
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* TanStack Query hooks for user-related operations.
|
|
5
5
|
*/
|
|
6
|
-
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
7
|
-
import type
|
|
6
|
+
import { type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query';
|
|
7
|
+
import { type Club, type FavoriteSpot, type Post, type Spot, type SpotsSummaryResponse, type SpotSubscription, type User } from '../types';
|
|
8
8
|
export declare const userKeys: {
|
|
9
9
|
all: readonly ["users"];
|
|
10
10
|
me: () => readonly ["users", "me"];
|
|
11
11
|
stats: () => readonly ["users", "me", "stats"];
|
|
12
|
+
spotsSummary: () => readonly ["users", "me", "spots-summary"];
|
|
12
13
|
activity: (limit?: number) => readonly ["users", "me", "activity", number | undefined];
|
|
13
14
|
posts: (params?: {
|
|
14
15
|
page?: number;
|
|
@@ -26,13 +27,14 @@ export declare const userKeys: {
|
|
|
26
27
|
/**
|
|
27
28
|
* Get current user's profile
|
|
28
29
|
*
|
|
29
|
-
* @endpoint GET /
|
|
30
|
+
* @endpoint GET /users/me
|
|
30
31
|
*/
|
|
31
32
|
export declare function useCurrentUser(options?: Omit<UseQueryOptions<User>, 'queryKey' | 'queryFn'>): UseQueryResult<User>;
|
|
32
33
|
/**
|
|
33
34
|
* Get current user's stats
|
|
34
35
|
*
|
|
35
|
-
* @endpoint GET /
|
|
36
|
+
* @endpoint GET /users/me/stats
|
|
37
|
+
* @deprecated This endpoint doesn't exist in the API. Use useUserSpotsSummary instead.
|
|
36
38
|
*/
|
|
37
39
|
export declare function useUserStats(options?: Omit<UseQueryOptions<{
|
|
38
40
|
posts: number;
|
|
@@ -43,16 +45,28 @@ export declare function useUserStats(options?: Omit<UseQueryOptions<{
|
|
|
43
45
|
responses: number;
|
|
44
46
|
upvotes: number;
|
|
45
47
|
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Get current user's spots summary with activity indicators
|
|
50
|
+
*
|
|
51
|
+
* Returns list of spots where user has posted, with:
|
|
52
|
+
* - Post count per spot
|
|
53
|
+
* - Unread messages count
|
|
54
|
+
* - Pending responses count
|
|
55
|
+
* - Last activity timestamp
|
|
56
|
+
*
|
|
57
|
+
* @endpoint GET /users/me/spots-summary
|
|
58
|
+
*/
|
|
59
|
+
export declare function useUserSpotsSummary(options?: Omit<UseQueryOptions<SpotsSummaryResponse>, 'queryKey' | 'queryFn'>): UseQueryResult<SpotsSummaryResponse>;
|
|
46
60
|
/**
|
|
47
61
|
* Get current user's activity
|
|
48
62
|
*
|
|
49
|
-
* @endpoint GET /
|
|
63
|
+
* @endpoint GET /users/me/activity
|
|
50
64
|
*/
|
|
51
65
|
export declare function useUserActivity(limit?: number, options?: Omit<UseQueryOptions<unknown[]>, 'queryKey' | 'queryFn'>): UseQueryResult<unknown[]>;
|
|
52
66
|
/**
|
|
53
67
|
* Get current user's posts
|
|
54
68
|
*
|
|
55
|
-
* @endpoint GET /
|
|
69
|
+
* @endpoint GET /user/me/posts
|
|
56
70
|
*/
|
|
57
71
|
export declare function useUserPosts(params?: {
|
|
58
72
|
page?: number;
|
|
@@ -61,30 +75,30 @@ export declare function useUserPosts(params?: {
|
|
|
61
75
|
/**
|
|
62
76
|
* Get current user's clubs
|
|
63
77
|
*
|
|
64
|
-
* @endpoint GET /
|
|
78
|
+
* @endpoint GET /user/me/clubs
|
|
65
79
|
*/
|
|
66
80
|
export declare function useUserClubs(options?: Omit<UseQueryOptions<Club[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Club[]>;
|
|
67
81
|
/**
|
|
68
82
|
* Get current user's spot subscriptions
|
|
69
83
|
*
|
|
70
|
-
* @endpoint GET /
|
|
84
|
+
* @endpoint GET /user/me/subscriptions
|
|
71
85
|
*/
|
|
72
86
|
export declare function useUserSubscriptions(options?: Omit<UseQueryOptions<SpotSubscription[]>, 'queryKey' | 'queryFn'>): UseQueryResult<SpotSubscription[]>;
|
|
73
87
|
/**
|
|
74
88
|
* Get blocked users list
|
|
75
89
|
*
|
|
76
|
-
* @endpoint GET /
|
|
90
|
+
* @endpoint GET /user/me/blocked
|
|
77
91
|
*/
|
|
78
92
|
export declare function useBlockedUsers(options?: Omit<UseQueryOptions<User[]>, 'queryKey' | 'queryFn'>): UseQueryResult<User[]>;
|
|
79
93
|
/**
|
|
80
94
|
* Get current user's owned spots (for business owners)
|
|
81
95
|
*
|
|
82
|
-
* @endpoint GET /
|
|
96
|
+
* @endpoint GET /users/me/owned-spots
|
|
83
97
|
*/
|
|
84
98
|
export declare function useOwnedSpots(options?: Omit<UseQueryOptions<Spot[]>, 'queryKey' | 'queryFn'>): UseQueryResult<Spot[]>;
|
|
85
99
|
/**
|
|
86
100
|
* Get current user's favorite spots
|
|
87
101
|
*
|
|
88
|
-
* @endpoint GET /
|
|
102
|
+
* @endpoint GET /users/me/favorites
|
|
89
103
|
*/
|
|
90
104
|
export declare function useUserFavorites(options?: Omit<UseQueryOptions<FavoriteSpot[]>, 'queryKey' | 'queryFn'>): UseQueryResult<FavoriteSpot[]>;
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.userKeys = void 0;
|
|
9
9
|
exports.useCurrentUser = useCurrentUser;
|
|
10
10
|
exports.useUserStats = useUserStats;
|
|
11
|
+
exports.useUserSpotsSummary = useUserSpotsSummary;
|
|
11
12
|
exports.useUserActivity = useUserActivity;
|
|
12
13
|
exports.useUserPosts = useUserPosts;
|
|
13
14
|
exports.useUserClubs = useUserClubs;
|
|
@@ -17,6 +18,20 @@ exports.useOwnedSpots = useOwnedSpots;
|
|
|
17
18
|
exports.useUserFavorites = useUserFavorites;
|
|
18
19
|
const react_query_1 = require("@tanstack/react-query");
|
|
19
20
|
const client_1 = require("../client");
|
|
21
|
+
// Helper to extract array data from API response
|
|
22
|
+
// API can return either { data: T[] } or { data: { data: T[], meta?: {...} } }
|
|
23
|
+
function extractArrayData(data) {
|
|
24
|
+
if (Array.isArray(data)) {
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
if (data && typeof data === 'object' && 'data' in data) {
|
|
28
|
+
const nested = data.data;
|
|
29
|
+
if (Array.isArray(nested)) {
|
|
30
|
+
return nested;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
20
35
|
// ============================================================================
|
|
21
36
|
// QUERY KEYS
|
|
22
37
|
// ============================================================================
|
|
@@ -24,6 +39,7 @@ exports.userKeys = {
|
|
|
24
39
|
all: ['users'],
|
|
25
40
|
me: () => [...exports.userKeys.all, 'me'],
|
|
26
41
|
stats: () => [...exports.userKeys.me(), 'stats'],
|
|
42
|
+
spotsSummary: () => [...exports.userKeys.me(), 'spots-summary'],
|
|
27
43
|
activity: (limit) => [...exports.userKeys.me(), 'activity', limit],
|
|
28
44
|
posts: (params) => [...exports.userKeys.me(), 'posts', params],
|
|
29
45
|
clubs: () => [...exports.userKeys.me(), 'clubs'],
|
|
@@ -38,15 +54,24 @@ exports.userKeys = {
|
|
|
38
54
|
/**
|
|
39
55
|
* Get current user's profile
|
|
40
56
|
*
|
|
41
|
-
* @endpoint GET /
|
|
57
|
+
* @endpoint GET /users/me
|
|
42
58
|
*/
|
|
43
59
|
function useCurrentUser(options) {
|
|
44
60
|
return (0, react_query_1.useQuery)({
|
|
45
61
|
queryKey: exports.userKeys.me(),
|
|
46
62
|
queryFn: async () => {
|
|
63
|
+
console.log('[SDK-USERS] Fetching /users/me...');
|
|
47
64
|
const client = (0, client_1.getApiClient)();
|
|
48
|
-
|
|
49
|
-
|
|
65
|
+
try {
|
|
66
|
+
const response = await client.get('/users/me');
|
|
67
|
+
console.log('[SDK-USERS] Success:', response.status);
|
|
68
|
+
return response.data.data;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const axiosError = error;
|
|
72
|
+
console.log('[SDK-USERS] Error:', axiosError.response?.status, 'URL:', axiosError.config?.baseURL, axiosError.config?.url);
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
50
75
|
},
|
|
51
76
|
...options,
|
|
52
77
|
});
|
|
@@ -54,14 +79,37 @@ function useCurrentUser(options) {
|
|
|
54
79
|
/**
|
|
55
80
|
* Get current user's stats
|
|
56
81
|
*
|
|
57
|
-
* @endpoint GET /
|
|
82
|
+
* @endpoint GET /users/me/stats
|
|
83
|
+
* @deprecated This endpoint doesn't exist in the API. Use useUserSpotsSummary instead.
|
|
58
84
|
*/
|
|
59
85
|
function useUserStats(options) {
|
|
60
86
|
return (0, react_query_1.useQuery)({
|
|
61
87
|
queryKey: exports.userKeys.stats(),
|
|
62
88
|
queryFn: async () => {
|
|
63
89
|
const client = (0, client_1.getApiClient)();
|
|
64
|
-
const response = await client.get('/
|
|
90
|
+
const response = await client.get('/users/me/stats');
|
|
91
|
+
return response.data.data;
|
|
92
|
+
},
|
|
93
|
+
...options,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get current user's spots summary with activity indicators
|
|
98
|
+
*
|
|
99
|
+
* Returns list of spots where user has posted, with:
|
|
100
|
+
* - Post count per spot
|
|
101
|
+
* - Unread messages count
|
|
102
|
+
* - Pending responses count
|
|
103
|
+
* - Last activity timestamp
|
|
104
|
+
*
|
|
105
|
+
* @endpoint GET /users/me/spots-summary
|
|
106
|
+
*/
|
|
107
|
+
function useUserSpotsSummary(options) {
|
|
108
|
+
return (0, react_query_1.useQuery)({
|
|
109
|
+
queryKey: exports.userKeys.spotsSummary(),
|
|
110
|
+
queryFn: async () => {
|
|
111
|
+
const client = (0, client_1.getApiClient)();
|
|
112
|
+
const response = await client.get('/users/me/spots-summary');
|
|
65
113
|
return response.data.data;
|
|
66
114
|
},
|
|
67
115
|
...options,
|
|
@@ -70,15 +118,15 @@ function useUserStats(options) {
|
|
|
70
118
|
/**
|
|
71
119
|
* Get current user's activity
|
|
72
120
|
*
|
|
73
|
-
* @endpoint GET /
|
|
121
|
+
* @endpoint GET /users/me/activity
|
|
74
122
|
*/
|
|
75
123
|
function useUserActivity(limit = 10, options) {
|
|
76
124
|
return (0, react_query_1.useQuery)({
|
|
77
125
|
queryKey: exports.userKeys.activity(limit),
|
|
78
126
|
queryFn: async () => {
|
|
79
127
|
const client = (0, client_1.getApiClient)();
|
|
80
|
-
const response = await client.get(`/
|
|
81
|
-
return response.data.data;
|
|
128
|
+
const response = await client.get(`/users/me/activity?limit=${limit}`);
|
|
129
|
+
return extractArrayData(response.data.data);
|
|
82
130
|
},
|
|
83
131
|
...options,
|
|
84
132
|
});
|
|
@@ -86,7 +134,7 @@ function useUserActivity(limit = 10, options) {
|
|
|
86
134
|
/**
|
|
87
135
|
* Get current user's posts
|
|
88
136
|
*
|
|
89
|
-
* @endpoint GET /
|
|
137
|
+
* @endpoint GET /user/me/posts
|
|
90
138
|
*/
|
|
91
139
|
function useUserPosts(params, options) {
|
|
92
140
|
return (0, react_query_1.useQuery)({
|
|
@@ -98,8 +146,8 @@ function useUserPosts(params, options) {
|
|
|
98
146
|
queryParams.set('page', String(params.page));
|
|
99
147
|
if (params?.limit)
|
|
100
148
|
queryParams.set('limit', String(params.limit));
|
|
101
|
-
const response = await client.get(`/
|
|
102
|
-
return response.data.data;
|
|
149
|
+
const response = await client.get(`/user/me/posts?${queryParams}`);
|
|
150
|
+
return extractArrayData(response.data.data);
|
|
103
151
|
},
|
|
104
152
|
...options,
|
|
105
153
|
});
|
|
@@ -107,15 +155,15 @@ function useUserPosts(params, options) {
|
|
|
107
155
|
/**
|
|
108
156
|
* Get current user's clubs
|
|
109
157
|
*
|
|
110
|
-
* @endpoint GET /
|
|
158
|
+
* @endpoint GET /user/me/clubs
|
|
111
159
|
*/
|
|
112
160
|
function useUserClubs(options) {
|
|
113
161
|
return (0, react_query_1.useQuery)({
|
|
114
162
|
queryKey: exports.userKeys.clubs(),
|
|
115
163
|
queryFn: async () => {
|
|
116
164
|
const client = (0, client_1.getApiClient)();
|
|
117
|
-
const response = await client.get('/
|
|
118
|
-
return response.data.data;
|
|
165
|
+
const response = await client.get('/user/me/clubs');
|
|
166
|
+
return extractArrayData(response.data.data);
|
|
119
167
|
},
|
|
120
168
|
...options,
|
|
121
169
|
});
|
|
@@ -123,15 +171,15 @@ function useUserClubs(options) {
|
|
|
123
171
|
/**
|
|
124
172
|
* Get current user's spot subscriptions
|
|
125
173
|
*
|
|
126
|
-
* @endpoint GET /
|
|
174
|
+
* @endpoint GET /user/me/subscriptions
|
|
127
175
|
*/
|
|
128
176
|
function useUserSubscriptions(options) {
|
|
129
177
|
return (0, react_query_1.useQuery)({
|
|
130
178
|
queryKey: exports.userKeys.subscriptions(),
|
|
131
179
|
queryFn: async () => {
|
|
132
180
|
const client = (0, client_1.getApiClient)();
|
|
133
|
-
const response = await client.get('/
|
|
134
|
-
return response.data.data;
|
|
181
|
+
const response = await client.get('/user/me/subscriptions');
|
|
182
|
+
return extractArrayData(response.data.data);
|
|
135
183
|
},
|
|
136
184
|
...options,
|
|
137
185
|
});
|
|
@@ -139,15 +187,15 @@ function useUserSubscriptions(options) {
|
|
|
139
187
|
/**
|
|
140
188
|
* Get blocked users list
|
|
141
189
|
*
|
|
142
|
-
* @endpoint GET /
|
|
190
|
+
* @endpoint GET /user/me/blocked
|
|
143
191
|
*/
|
|
144
192
|
function useBlockedUsers(options) {
|
|
145
193
|
return (0, react_query_1.useQuery)({
|
|
146
194
|
queryKey: exports.userKeys.blocked(),
|
|
147
195
|
queryFn: async () => {
|
|
148
196
|
const client = (0, client_1.getApiClient)();
|
|
149
|
-
const response = await client.get('/
|
|
150
|
-
return response.data.data;
|
|
197
|
+
const response = await client.get('/user/me/blocked');
|
|
198
|
+
return extractArrayData(response.data.data);
|
|
151
199
|
},
|
|
152
200
|
...options,
|
|
153
201
|
});
|
|
@@ -155,15 +203,15 @@ function useBlockedUsers(options) {
|
|
|
155
203
|
/**
|
|
156
204
|
* Get current user's owned spots (for business owners)
|
|
157
205
|
*
|
|
158
|
-
* @endpoint GET /
|
|
206
|
+
* @endpoint GET /users/me/owned-spots
|
|
159
207
|
*/
|
|
160
208
|
function useOwnedSpots(options) {
|
|
161
209
|
return (0, react_query_1.useQuery)({
|
|
162
210
|
queryKey: exports.userKeys.ownedSpots(),
|
|
163
211
|
queryFn: async () => {
|
|
164
212
|
const client = (0, client_1.getApiClient)();
|
|
165
|
-
const response = await client.get('/
|
|
166
|
-
return response.data.data;
|
|
213
|
+
const response = await client.get('/users/me/owned-spots');
|
|
214
|
+
return extractArrayData(response.data.data);
|
|
167
215
|
},
|
|
168
216
|
...options,
|
|
169
217
|
});
|
|
@@ -171,17 +219,17 @@ function useOwnedSpots(options) {
|
|
|
171
219
|
/**
|
|
172
220
|
* Get current user's favorite spots
|
|
173
221
|
*
|
|
174
|
-
* @endpoint GET /
|
|
222
|
+
* @endpoint GET /users/me/favorites
|
|
175
223
|
*/
|
|
176
224
|
function useUserFavorites(options) {
|
|
177
225
|
return (0, react_query_1.useQuery)({
|
|
178
226
|
queryKey: exports.userKeys.favorites(),
|
|
179
227
|
queryFn: async () => {
|
|
180
228
|
const client = (0, client_1.getApiClient)();
|
|
181
|
-
const response = await client.get('/
|
|
182
|
-
return response.data.data;
|
|
229
|
+
const response = await client.get('/users/me/favorites');
|
|
230
|
+
return extractArrayData(response.data.data);
|
|
183
231
|
},
|
|
184
232
|
...options,
|
|
185
233
|
});
|
|
186
234
|
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvdXNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQWdDSCx3Q0FZQztBQU9ELG9DQVlDO0FBT0QsMENBYUM7QUFPRCxvQ0FnQkM7QUFPRCxvQ0FZQztBQU9ELG9EQVlDO0FBT0QsMENBWUM7QUFPRCxzQ0FZQztBQU9ELDRDQVlDO0FBdk1ELHVEQUFrRjtBQUNsRixzQ0FBeUM7QUFHekMsK0VBQStFO0FBQy9FLGFBQWE7QUFDYiwrRUFBK0U7QUFFbEUsUUFBQSxRQUFRLEdBQUc7SUFDdEIsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFVO0lBQ3ZCLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFVO0lBQzFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQVU7SUFDakQsUUFBUSxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFVO0lBQzVFLEtBQUssRUFBRSxDQUFDLE1BQTBDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQVU7SUFDbkcsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxnQkFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBVTtJQUNqRCxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsZUFBZSxDQUFVO0lBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsZ0JBQVEsQ0FBQyxF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YWNrIFF1ZXJ5IGhvb2tzIGZvciB1c2VyLXJlbGF0ZWQgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgeyB1c2VRdWVyeSwgVXNlUXVlcnlPcHRpb25zLCBVc2VRdWVyeVJlc3VsdCB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBnZXRBcGlDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBVc2VyLCBQb3N0LCBDbHViLCBTcG90LCBTcG90U3Vic2NyaXB0aW9uLCBGYXZvcml0ZVNwb3QsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBLRVlTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCB1c2VyS2V5cyA9IHtcbiAgYWxsOiBbJ3VzZXJzJ10gYXMgY29uc3QsXG4gIG1lOiAoKSA9PiBbLi4udXNlcktleXMuYWxsLCAnbWUnXSBhcyBjb25zdCxcbiAgc3RhdHM6ICgpID0+IFsuLi51c2VyS2V5cy5tZSgpLCAnc3RhdHMnXSBhcyBjb25zdCxcbiAgYWN0aXZpdHk6IChsaW1pdD86IG51bWJlcikgPT4gWy4uLnVzZXJLZXlzLm1lKCksICdhY3Rpdml0eScsIGxpbWl0XSBhcyBjb25zdCxcbiAgcG9zdHM6IChwYXJhbXM/OiB7IHBhZ2U/OiBudW1iZXI7IGxpbWl0PzogbnVtYmVyIH0pID0+IFsuLi51c2VyS2V5cy5tZSgpLCAncG9zdHMnLCBwYXJhbXNdIGFzIGNvbnN0LFxuICBjbHViczogKCkgPT4gWy4uLnVzZXJLZXlzLm1lKCksICdjbHVicyddIGFzIGNvbnN0LFxuICBzdWJzY3JpcHRpb25zOiAoKSA9PiBbLi4udXNlcktleXMubWUoKSwgJ3N1YnNjcmlwdGlvbnMnXSBhcyBjb25zdCxcbiAgYmxvY2tlZDogKCkgPT4gWy4uLnVzZXJLZXlzLm1lKCksICdibG9ja2VkJ10gYXMgY29uc3QsXG4gIG93bmVkU3BvdHM6ICgpID0+IFsuLi51c2VyS2V5cy5tZSgpLCAnb3duZWQtc3BvdHMnXSBhcyBjb25zdCxcbiAgZmF2b3JpdGVzOiAoKSA9PiBbLi4udXNlcktleXMubWUoKSwgJ2Zhdm9yaXRlcyddIGFzIGNvbnN0LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBHZXQgY3VycmVudCB1c2VyJ3MgcHJvZmlsZVxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS91c2Vycy9tZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3VycmVudFVzZXIoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxVc2VyPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PFVzZXI+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdXNlcktleXMubWUoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKTogUHJvbWlzZTxVc2VyPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxVc2VyPj4oJy9hcGkvdjEvdXNlcnMvbWUnKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgY3VycmVudCB1c2VyJ3Mgc3RhdHNcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9hcGkvdjEvdXNlcnMvbWUvc3RhdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJTdGF0cyhcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPHsgcG9zdHM6IG51bWJlcjsgcmVzcG9uc2VzOiBudW1iZXI7IHVwdm90ZXM6IG51bWJlciB9PiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PHsgcG9zdHM6IG51bWJlcjsgcmVzcG9uc2VzOiBudW1iZXI7IHVwdm90ZXM6IG51bWJlciB9PiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLnN0YXRzKCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8eyBwb3N0czogbnVtYmVyOyByZXNwb25zZXM6IG51bWJlcjsgdXB2b3RlczogbnVtYmVyIH0+PignL2FwaS92MS91c2Vycy9tZS9zdGF0cycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBhY3Rpdml0eVxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS91c2Vycy9tZS9hY3Rpdml0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXNlckFjdGl2aXR5KFxuICBsaW1pdDogbnVtYmVyID0gMTAsXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczx1bmtub3duW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8dW5rbm93bltdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLmFjdGl2aXR5KGxpbWl0KSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTx1bmtub3duW10+PihgL2FwaS92MS91c2Vycy9tZS9hY3Rpdml0eT9saW1pdD0ke2xpbWl0fWApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBwb3N0c1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS91c2VyL21lL3Bvc3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVc2VyUG9zdHMoXG4gIHBhcmFtcz86IHsgcGFnZT86IG51bWJlcjsgbGltaXQ/OiBudW1iZXIgfSxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFBvc3RbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxQb3N0W10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdXNlcktleXMucG9zdHMocGFyYW1zKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgaWYgKHBhcmFtcz8ucGFnZSkgcXVlcnlQYXJhbXMuc2V0KCdwYWdlJywgU3RyaW5nKHBhcmFtcy5wYWdlKSk7XG4gICAgICBpZiAocGFyYW1zPy5saW1pdCkgcXVlcnlQYXJhbXMuc2V0KCdsaW1pdCcsIFN0cmluZyhwYXJhbXMubGltaXQpKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxQb3N0W10+PihgL2FwaS92MS91c2VyL21lL3Bvc3RzPyR7cXVlcnlQYXJhbXN9YCk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGN1cnJlbnQgdXNlcidzIGNsdWJzXG4gKlxuICogQGVuZHBvaW50IEdFVCAvYXBpL3YxL3VzZXIvbWUvY2x1YnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJDbHVicyhcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENsdWJbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxDbHViW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdXNlcktleXMuY2x1YnMoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxDbHViW10+PignL2FwaS92MS91c2VyL21lL2NsdWJzJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGN1cnJlbnQgdXNlcidzIHNwb3Qgc3Vic2NyaXB0aW9uc1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS91c2VyL21lL3N1YnNjcmlwdGlvbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJTdWJzY3JpcHRpb25zKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8U3BvdFN1YnNjcmlwdGlvbltdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz5cbik6IFVzZVF1ZXJ5UmVzdWx0PFNwb3RTdWJzY3JpcHRpb25bXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiB1c2VyS2V5cy5zdWJzY3JpcHRpb25zKCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8U3BvdFN1YnNjcmlwdGlvbltdPj4oJy9hcGkvdjEvdXNlci9tZS9zdWJzY3JpcHRpb25zJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGJsb2NrZWQgdXNlcnMgbGlzdFxuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS91c2VyL21lL2Jsb2NrZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUJsb2NrZWRVc2VycyhcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFVzZXJbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxVc2VyW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdXNlcktleXMuYmxvY2tlZCgpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPFVzZXJbXT4+KCcvYXBpL3YxL3VzZXIvbWUvYmxvY2tlZCcpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBvd25lZCBzcG90cyAoZm9yIGJ1c2luZXNzIG93bmVycylcbiAqXG4gKiBAZW5kcG9pbnQgR0VUIC9hcGkvdjEvdXNlcnMvbWUvb3duZWQtc3BvdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU93bmVkU3BvdHMoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxTcG90W10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPlxuKTogVXNlUXVlcnlSZXN1bHQ8U3BvdFtdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLm93bmVkU3BvdHMoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxTcG90W10+PignL2FwaS92MS91c2Vycy9tZS9vd25lZC1zcG90cycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBmYXZvcml0ZSBzcG90c1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL2FwaS92MS91c2Vycy9tZS9mYXZvcml0ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJGYXZvcml0ZXMoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxGYXZvcml0ZVNwb3RbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+XG4pOiBVc2VRdWVyeVJlc3VsdDxGYXZvcml0ZVNwb3RbXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiB1c2VyS2V5cy5mYXZvcml0ZXMoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxGYXZvcml0ZVNwb3RbXT4+KCcvYXBpL3YxL3VzZXJzL21lL2Zhdm9yaXRlcycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvdXNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQStESCx3Q0E2QkM7QUFRRCxvQ0FrQkM7QUFhRCxrREFjQztBQU9ELDBDQWVDO0FBT0Qsb0NBa0JDO0FBT0Qsb0NBWUM7QUFPRCxvREFjQztBQU9ELDBDQWFDO0FBT0Qsc0NBY0M7QUFPRCw0Q0FjQztBQXBTRCx1REFJOEI7QUFFOUIsc0NBQXNDO0FBWXRDLGlEQUFpRDtBQUNqRCwrRUFBK0U7QUFDL0UsU0FBUyxnQkFBZ0IsQ0FBSSxJQUFhO0lBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELElBQUksSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUksSUFBd0IsQ0FBQyxJQUFJLENBQUE7UUFDN0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFBO0FBQ1gsQ0FBQztBQUVELCtFQUErRTtBQUMvRSxhQUFhO0FBQ2IsK0VBQStFO0FBRWxFLFFBQUEsUUFBUSxHQUFHO0lBQ3RCLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBVTtJQUN2QixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBVTtJQUMxQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLGdCQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFVO0lBQ2pELFlBQVksRUFBRSxHQUFH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Z0JBQWdCLENBQzlCLE9BQXVFO0lBRXZFLE9BQU8sSUFBQSxzQkFBUSxFQUFDO1FBQ2QsUUFBUSxFQUFFLGdCQUFRLENBQUMsU0FBUyxFQUFFO1FBQzlCLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQTtZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQy9CLHFCQUFxQixDQUN0QixDQUFBO1lBQ0QsT0FBTyxnQkFBZ0IsQ0FBZSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNELENBQUM7UUFDRCxHQUFHLE9BQU87S0FDWCxDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2VycyBRdWVyeSBIb29rc1xuICpcbiAqIFRhblN0YWNrIFF1ZXJ5IGhvb2tzIGZvciB1c2VyLXJlbGF0ZWQgb3BlcmF0aW9ucy5cbiAqL1xuXG5pbXBvcnQge1xuICB1c2VRdWVyeSxcbiAgdHlwZSBVc2VRdWVyeU9wdGlvbnMsXG4gIHR5cGUgVXNlUXVlcnlSZXN1bHQsXG59IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSdcblxuaW1wb3J0IHtnZXRBcGlDbGllbnR9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7XG4gIHR5cGUgQXBpUmVzcG9uc2UsXG4gIHR5cGUgQ2x1YixcbiAgdHlwZSBGYXZvcml0ZVNwb3QsXG4gIHR5cGUgUG9zdCxcbiAgdHlwZSBTcG90LFxuICB0eXBlIFNwb3RzU3VtbWFyeVJlc3BvbnNlLFxuICB0eXBlIFNwb3RTdWJzY3JpcHRpb24sXG4gIHR5cGUgVXNlcixcbn0gZnJvbSAnLi4vdHlwZXMnXG5cbi8vIEhlbHBlciB0byBleHRyYWN0IGFycmF5IGRhdGEgZnJvbSBBUEkgcmVzcG9uc2Vcbi8vIEFQSSBjYW4gcmV0dXJuIGVpdGhlciB7IGRhdGE6IFRbXSB9IG9yIHsgZGF0YTogeyBkYXRhOiBUW10sIG1ldGE/OiB7Li4ufSB9IH1cbmZ1bmN0aW9uIGV4dHJhY3RBcnJheURhdGE8VD4oZGF0YTogdW5rbm93bik6IFRbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgcmV0dXJuIGRhdGFcbiAgfVxuICBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ2RhdGEnIGluIGRhdGEpIHtcbiAgICBjb25zdCBuZXN0ZWQgPSAoZGF0YSBhcyB7ZGF0YTogdW5rbm93bn0pLmRhdGFcbiAgICBpZiAoQXJyYXkuaXNBcnJheShuZXN0ZWQpKSB7XG4gICAgICByZXR1cm4gbmVzdGVkXG4gICAgfVxuICB9XG4gIHJldHVybiBbXVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBLRVlTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBjb25zdCB1c2VyS2V5cyA9IHtcbiAgYWxsOiBbJ3VzZXJzJ10gYXMgY29uc3QsXG4gIG1lOiAoKSA9PiBbLi4udXNlcktleXMuYWxsLCAnbWUnXSBhcyBjb25zdCxcbiAgc3RhdHM6ICgpID0+IFsuLi51c2VyS2V5cy5tZSgpLCAnc3RhdHMnXSBhcyBjb25zdCxcbiAgc3BvdHNTdW1tYXJ5OiAoKSA9PiBbLi4udXNlcktleXMubWUoKSwgJ3Nwb3RzLXN1bW1hcnknXSBhcyBjb25zdCxcbiAgYWN0aXZpdHk6IChsaW1pdD86IG51bWJlcikgPT4gWy4uLnVzZXJLZXlzLm1lKCksICdhY3Rpdml0eScsIGxpbWl0XSBhcyBjb25zdCxcbiAgcG9zdHM6IChwYXJhbXM/OiB7cGFnZT86IG51bWJlcjsgbGltaXQ/OiBudW1iZXJ9KSA9PlxuICAgIFsuLi51c2VyS2V5cy5tZSgpLCAncG9zdHMnLCBwYXJhbXNdIGFzIGNvbnN0LFxuICBjbHViczogKCkgPT4gWy4uLnVzZXJLZXlzLm1lKCksICdjbHVicyddIGFzIGNvbnN0LFxuICBzdWJzY3JpcHRpb25zOiAoKSA9PiBbLi4udXNlcktleXMubWUoKSwgJ3N1YnNjcmlwdGlvbnMnXSBhcyBjb25zdCxcbiAgYmxvY2tlZDogKCkgPT4gWy4uLnVzZXJLZXlzLm1lKCksICdibG9ja2VkJ10gYXMgY29uc3QsXG4gIG93bmVkU3BvdHM6ICgpID0+IFsuLi51c2VyS2V5cy5tZSgpLCAnb3duZWQtc3BvdHMnXSBhcyBjb25zdCxcbiAgZmF2b3JpdGVzOiAoKSA9PiBbLi4udXNlcktleXMubWUoKSwgJ2Zhdm9yaXRlcyddIGFzIGNvbnN0LFxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBRVUVSWSBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBwcm9maWxlXG4gKlxuICogQGVuZHBvaW50IEdFVCAvdXNlcnMvbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUN1cnJlbnRVc2VyKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8VXNlcj4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8VXNlcj4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiB1c2VyS2V5cy5tZSgpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpOiBQcm9taXNlPFVzZXI+ID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdbU0RLLVVTRVJTXSBGZXRjaGluZyAvdXNlcnMvbWUuLi4nKVxuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTxVc2VyPj4oJy91c2Vycy9tZScpXG4gICAgICAgIGNvbnNvbGUubG9nKCdbU0RLLVVTRVJTXSBTdWNjZXNzOicsIHJlc3BvbnNlLnN0YXR1cylcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YVxuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgY29uc3QgYXhpb3NFcnJvciA9IGVycm9yIGFzIHtcbiAgICAgICAgICByZXNwb25zZT86IHtzdGF0dXM6IG51bWJlcn1cbiAgICAgICAgICBjb25maWc/OiB7dXJsOiBzdHJpbmc7IGJhc2VVUkw/OiBzdHJpbmd9XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgJ1tTREstVVNFUlNdIEVycm9yOicsXG4gICAgICAgICAgYXhpb3NFcnJvci5yZXNwb25zZT8uc3RhdHVzLFxuICAgICAgICAgICdVUkw6JyxcbiAgICAgICAgICBheGlvc0Vycm9yLmNvbmZpZz8uYmFzZVVSTCxcbiAgICAgICAgICBheGlvc0Vycm9yLmNvbmZpZz8udXJsLFxuICAgICAgICApXG4gICAgICAgIHRocm93IGVycm9yXG4gICAgICB9XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBzdGF0c1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXJzL21lL3N0YXRzXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGVuZHBvaW50IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIEFQSS4gVXNlIHVzZVVzZXJTcG90c1N1bW1hcnkgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJTdGF0cyhcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlUXVlcnlPcHRpb25zPHtwb3N0czogbnVtYmVyOyByZXNwb25zZXM6IG51bWJlcjsgdXB2b3RlczogbnVtYmVyfT4sXG4gICAgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJ1xuICA+LFxuKTogVXNlUXVlcnlSZXN1bHQ8e3Bvc3RzOiBudW1iZXI7IHJlc3BvbnNlczogbnVtYmVyOyB1cHZvdGVzOiBudW1iZXJ9PiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLnN0YXRzKCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID1cbiAgICAgICAgYXdhaXQgY2xpZW50LmdldDxcbiAgICAgICAgICBBcGlSZXNwb25zZTx7cG9zdHM6IG51bWJlcjsgcmVzcG9uc2VzOiBudW1iZXI7IHVwdm90ZXM6IG51bWJlcn0+XG4gICAgICAgID4oJy91c2Vycy9tZS9zdGF0cycpXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBzcG90cyBzdW1tYXJ5IHdpdGggYWN0aXZpdHkgaW5kaWNhdG9yc1xuICpcbiAqIFJldHVybnMgbGlzdCBvZiBzcG90cyB3aGVyZSB1c2VyIGhhcyBwb3N0ZWQsIHdpdGg6XG4gKiAtIFBvc3QgY291bnQgcGVyIHNwb3RcbiAqIC0gVW5yZWFkIG1lc3NhZ2VzIGNvdW50XG4gKiAtIFBlbmRpbmcgcmVzcG9uc2VzIGNvdW50XG4gKiAtIExhc3QgYWN0aXZpdHkgdGltZXN0YW1wXG4gKlxuICogQGVuZHBvaW50IEdFVCAvdXNlcnMvbWUvc3BvdHMtc3VtbWFyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXNlclNwb3RzU3VtbWFyeShcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFNwb3RzU3VtbWFyeVJlc3BvbnNlPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz4sXG4pOiBVc2VRdWVyeVJlc3VsdDxTcG90c1N1bW1hcnlSZXNwb25zZT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiB1c2VyS2V5cy5zcG90c1N1bW1hcnkoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPFNwb3RzU3VtbWFyeVJlc3BvbnNlPj4oXG4gICAgICAgICcvdXNlcnMvbWUvc3BvdHMtc3VtbWFyeScsXG4gICAgICApXG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5kYXRhXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBhY3Rpdml0eVxuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXJzL21lL2FjdGl2aXR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVc2VyQWN0aXZpdHkoXG4gIGxpbWl0OiBudW1iZXIgPSAxMCxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPHVua25vd25bXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8dW5rbm93bltdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLmFjdGl2aXR5KGxpbWl0KSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQuZ2V0PEFwaVJlc3BvbnNlPHVua25vd24+PihcbiAgICAgICAgYC91c2Vycy9tZS9hY3Rpdml0eT9saW1pdD0ke2xpbWl0fWAsXG4gICAgICApXG4gICAgICByZXR1cm4gZXh0cmFjdEFycmF5RGF0YTx1bmtub3duPihyZXNwb25zZS5kYXRhLmRhdGEpXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBwb3N0c1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXIvbWUvcG9zdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJQb3N0cyhcbiAgcGFyYW1zPzoge3BhZ2U/OiBudW1iZXI7IGxpbWl0PzogbnVtYmVyfSxcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPFBvc3RbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8UG9zdFtdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLnBvc3RzKHBhcmFtcyksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICBpZiAocGFyYW1zPy5wYWdlKSBxdWVyeVBhcmFtcy5zZXQoJ3BhZ2UnLCBTdHJpbmcocGFyYW1zLnBhZ2UpKVxuICAgICAgaWYgKHBhcmFtcz8ubGltaXQpIHF1ZXJ5UGFyYW1zLnNldCgnbGltaXQnLCBTdHJpbmcocGFyYW1zLmxpbWl0KSlcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTx1bmtub3duPj4oXG4gICAgICAgIGAvdXNlci9tZS9wb3N0cz8ke3F1ZXJ5UGFyYW1zfWAsXG4gICAgICApXG4gICAgICByZXR1cm4gZXh0cmFjdEFycmF5RGF0YTxQb3N0PihyZXNwb25zZS5kYXRhLmRhdGEpXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KVxufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IHVzZXIncyBjbHVic1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXIvbWUvY2x1YnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVzZXJDbHVicyhcbiAgb3B0aW9ucz86IE9taXQ8VXNlUXVlcnlPcHRpb25zPENsdWJbXT4sICdxdWVyeUtleScgfCAncXVlcnlGbic+LFxuKTogVXNlUXVlcnlSZXN1bHQ8Q2x1YltdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLmNsdWJzKCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTx1bmtub3duPj4oJy91c2VyL21lL2NsdWJzJylcbiAgICAgIHJldHVybiBleHRyYWN0QXJyYXlEYXRhPENsdWI+KHJlc3BvbnNlLmRhdGEuZGF0YSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IGN1cnJlbnQgdXNlcidzIHNwb3Qgc3Vic2NyaXB0aW9uc1xuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXIvbWUvc3Vic2NyaXB0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVXNlclN1YnNjcmlwdGlvbnMoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZVF1ZXJ5T3B0aW9uczxTcG90U3Vic2NyaXB0aW9uW10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPixcbik6IFVzZVF1ZXJ5UmVzdWx0PFNwb3RTdWJzY3JpcHRpb25bXT4ge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiB1c2VyS2V5cy5zdWJzY3JpcHRpb25zKCksXG4gICAgcXVlcnlGbjogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldDxBcGlSZXNwb25zZTx1bmtub3duPj4oXG4gICAgICAgICcvdXNlci9tZS9zdWJzY3JpcHRpb25zJyxcbiAgICAgIClcbiAgICAgIHJldHVybiBleHRyYWN0QXJyYXlEYXRhPFNwb3RTdWJzY3JpcHRpb24+KHJlc3BvbnNlLmRhdGEuZGF0YSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IGJsb2NrZWQgdXNlcnMgbGlzdFxuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXIvbWUvYmxvY2tlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQmxvY2tlZFVzZXJzKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8VXNlcltdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz4sXG4pOiBVc2VRdWVyeVJlc3VsdDxVc2VyW10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdXNlcktleXMuYmxvY2tlZCgpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgIGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8dW5rbm93bj4+KCcvdXNlci9tZS9ibG9ja2VkJylcbiAgICAgIHJldHVybiBleHRyYWN0QXJyYXlEYXRhPFVzZXI+KHJlc3BvbnNlLmRhdGEuZGF0YSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IGN1cnJlbnQgdXNlcidzIG93bmVkIHNwb3RzIChmb3IgYnVzaW5lc3Mgb3duZXJzKVxuICpcbiAqIEBlbmRwb2ludCBHRVQgL3VzZXJzL21lL293bmVkLXNwb3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPd25lZFNwb3RzKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8U3BvdFtdPiwgJ3F1ZXJ5S2V5JyB8ICdxdWVyeUZuJz4sXG4pOiBVc2VRdWVyeVJlc3VsdDxTcG90W10+IHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogdXNlcktleXMub3duZWRTcG90cygpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8dW5rbm93bj4+KFxuICAgICAgICAnL3VzZXJzL21lL293bmVkLXNwb3RzJyxcbiAgICAgIClcbiAgICAgIHJldHVybiBleHRyYWN0QXJyYXlEYXRhPFNwb3Q+KHJlc3BvbnNlLmRhdGEuZGF0YSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG5cbi8qKlxuICogR2V0IGN1cnJlbnQgdXNlcidzIGZhdm9yaXRlIHNwb3RzXG4gKlxuICogQGVuZHBvaW50IEdFVCAvdXNlcnMvbWUvZmF2b3JpdGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVc2VyRmF2b3JpdGVzKFxuICBvcHRpb25zPzogT21pdDxVc2VRdWVyeU9wdGlvbnM8RmF2b3JpdGVTcG90W10+LCAncXVlcnlLZXknIHwgJ3F1ZXJ5Rm4nPixcbik6IFVzZVF1ZXJ5UmVzdWx0PEZhdm9yaXRlU3BvdFtdPiB7XG4gIHJldHVybiB1c2VRdWVyeSh7XG4gICAgcXVlcnlLZXk6IHVzZXJLZXlzLmZhdm9yaXRlcygpLFxuICAgIHF1ZXJ5Rm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5nZXQ8QXBpUmVzcG9uc2U8dW5rbm93bj4+KFxuICAgICAgICAnL3VzZXJzL21lL2Zhdm9yaXRlcycsXG4gICAgICApXG4gICAgICByZXR1cm4gZXh0cmFjdEFycmF5RGF0YTxGYXZvcml0ZVNwb3Q+KHJlc3BvbnNlLmRhdGEuZGF0YSlcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pXG59XG4iXX0=
|
package/dist/api/types.d.ts
CHANGED
|
@@ -2,42 +2,15 @@
|
|
|
2
2
|
* Spots SDK Types
|
|
3
3
|
*
|
|
4
4
|
* Type sources:
|
|
5
|
-
* - Entity types (User, Spot, Post, etc.) →
|
|
6
|
-
* - DTO types (CreatePostDto, etc.) → import from @
|
|
5
|
+
* - Entity types (User, Spot, Post, etc.) → from ./entities (local definitions)
|
|
6
|
+
* - DTO types (CreatePostDto, etc.) → import from @spots/types (OpenAPI generated)
|
|
7
7
|
*
|
|
8
|
-
* This file provides type aliases for SDK convenience
|
|
9
|
-
* single sources of truth:
|
|
10
|
-
* - Prisma schema for entities
|
|
11
|
-
* - OpenAPI spec for DTOs
|
|
8
|
+
* This file provides type aliases for SDK convenience.
|
|
12
9
|
*/
|
|
13
|
-
/**
|
|
14
|
-
* Standard API response wrapper from ResponseInterceptor
|
|
15
|
-
* All API responses are wrapped in this format
|
|
16
|
-
*/
|
|
17
|
-
export interface ApiResponse<T> {
|
|
18
|
-
success: boolean;
|
|
19
|
-
data: T;
|
|
20
|
-
timestamp: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Paginated response for list endpoints
|
|
24
|
-
* Used inside ApiResponse.data for paginated queries
|
|
25
|
-
*/
|
|
26
|
-
export interface PaginatedResponse<T> {
|
|
27
|
-
data: T[];
|
|
28
|
-
meta: {
|
|
29
|
-
total: number;
|
|
30
|
-
page: number;
|
|
31
|
-
limit: number;
|
|
32
|
-
totalPages: number;
|
|
33
|
-
hasNextPage: boolean;
|
|
34
|
-
hasPreviousPage: boolean;
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
10
|
export * from '@spotsdev/types';
|
|
38
|
-
export
|
|
39
|
-
import type
|
|
40
|
-
import type
|
|
11
|
+
export * from './entities';
|
|
12
|
+
import { type ClaimSpotDto, type CreateConversationDto, type CreateMessageDto, type CreatePostDto, type CreateReplyDto, type CreateResponseDto, type SendOtpDto, type UpdateResponseDto, type UpdateUserDto, type UpvoteResponseDto, type VerifyOtpDto, type VerifyOtpWrappedResponseDto } from '@spotsdev/types';
|
|
13
|
+
import { type PostTemplate, type SpotPost } from './entities';
|
|
41
14
|
export type SendOtpRequest = SendOtpDto;
|
|
42
15
|
export type VerifyOtpRequest = VerifyOtpDto;
|
|
43
16
|
export type CreatePostRequest = CreatePostDto;
|
|
@@ -52,3 +25,33 @@ export type UpvoteResponse = UpvoteResponseDto;
|
|
|
52
25
|
export type AuthResponse = VerifyOtpWrappedResponseDto;
|
|
53
26
|
export type Post = SpotPost;
|
|
54
27
|
export type Template = PostTemplate;
|
|
28
|
+
/**
|
|
29
|
+
* Spot summary with activity indicators
|
|
30
|
+
* Returned by /users/me/spots-summary
|
|
31
|
+
*/
|
|
32
|
+
export interface SpotSummary {
|
|
33
|
+
spotId: string;
|
|
34
|
+
spotName: string;
|
|
35
|
+
spotSlug: string;
|
|
36
|
+
spotType: string;
|
|
37
|
+
postCount: number;
|
|
38
|
+
unreadMessages: number;
|
|
39
|
+
pendingResponses: number;
|
|
40
|
+
lastActivity: string | null;
|
|
41
|
+
hasNewActivity: boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Response meta for spots summary
|
|
45
|
+
*/
|
|
46
|
+
export interface SpotsSummaryMeta {
|
|
47
|
+
totalSpots: number;
|
|
48
|
+
totalUnreadMessages: number;
|
|
49
|
+
totalPendingResponses: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Full response from /users/me/spots-summary
|
|
53
|
+
*/
|
|
54
|
+
export interface SpotsSummaryResponse {
|
|
55
|
+
data: SpotSummary[];
|
|
56
|
+
meta: SpotsSummaryMeta;
|
|
57
|
+
}
|
package/dist/api/types.js
CHANGED
|
@@ -3,13 +3,10 @@
|
|
|
3
3
|
* Spots SDK Types
|
|
4
4
|
*
|
|
5
5
|
* Type sources:
|
|
6
|
-
* - Entity types (User, Spot, Post, etc.) →
|
|
7
|
-
* - DTO types (CreatePostDto, etc.) → import from @
|
|
6
|
+
* - Entity types (User, Spot, Post, etc.) → from ./entities (local definitions)
|
|
7
|
+
* - DTO types (CreatePostDto, etc.) → import from @spots/types (OpenAPI generated)
|
|
8
8
|
*
|
|
9
|
-
* This file provides type aliases for SDK convenience
|
|
10
|
-
* single sources of truth:
|
|
11
|
-
* - Prisma schema for entities
|
|
12
|
-
* - OpenAPI spec for DTOs
|
|
9
|
+
* This file provides type aliases for SDK convenience.
|
|
13
10
|
*/
|
|
14
11
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
12
|
if (k2 === undefined) k2 = k;
|
|
@@ -31,4 +28,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
28
|
// ============================================================================
|
|
32
29
|
// Re-export all DTO types from @spotsdev/types (OpenAPI generated)
|
|
33
30
|
__exportStar(require("@spotsdev/types"), exports);
|
|
34
|
-
|
|
31
|
+
// Re-export entity types from local entities file (Prisma-compatible but no Prisma dep)
|
|
32
|
+
__exportStar(require("./entities"), exports);
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7R0FRRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILCtFQUErRTtBQUMvRSwwQkFBMEI7QUFDMUIsK0VBQStFO0FBRS9FLG1FQUFtRTtBQUNuRSxrREFBK0I7QUFFL0Isd0ZBQXdGO0FBQ3hGLDZDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3BvdHMgU0RLIFR5cGVzXG4gKlxuICogVHlwZSBzb3VyY2VzOlxuICogLSBFbnRpdHkgdHlwZXMgKFVzZXIsIFNwb3QsIFBvc3QsIGV0Yy4pIOKGkiBmcm9tIC4vZW50aXRpZXMgKGxvY2FsIGRlZmluaXRpb25zKVxuICogLSBEVE8gdHlwZXMgKENyZWF0ZVBvc3REdG8sIGV0Yy4pIOKGkiBpbXBvcnQgZnJvbSBAc3BvdHMvdHlwZXMgKE9wZW5BUEkgZ2VuZXJhdGVkKVxuICpcbiAqIFRoaXMgZmlsZSBwcm92aWRlcyB0eXBlIGFsaWFzZXMgZm9yIFNESyBjb252ZW5pZW5jZS5cbiAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSRS1FWFBPUlRTIEZST00gU09VUkNFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBSZS1leHBvcnQgYWxsIERUTyB0eXBlcyBmcm9tIEBzcG90c2Rldi90eXBlcyAoT3BlbkFQSSBnZW5lcmF0ZWQpXG5leHBvcnQgKiBmcm9tICdAc3BvdHNkZXYvdHlwZXMnXG5cbi8vIFJlLWV4cG9ydCBlbnRpdHkgdHlwZXMgZnJvbSBsb2NhbCBlbnRpdGllcyBmaWxlIChQcmlzbWEtY29tcGF0aWJsZSBidXQgbm8gUHJpc21hIGRlcClcbmV4cG9ydCAqIGZyb20gJy4vZW50aXRpZXMnXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNESyBUWVBFIEFMSUFTRVNcbi8vIFRoZXNlIHByb3ZpZGUgY29udmVuaWVudCBuYW1lcyB0aGF0IG1hdGNoIFNESyB1c2FnZSBwYXR0ZXJuc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5pbXBvcnQge1xuICB0eXBlIENsYWltU3BvdER0byxcbiAgdHlwZSBDcmVhdGVDb252ZXJzYXRpb25EdG8sXG4gIHR5cGUgQ3JlYXRlTWVzc2FnZUR0byxcbiAgdHlwZSBDcmVhdGVQb3N0RHRvLFxuICB0eXBlIENyZWF0ZVJlcGx5RHRvLFxuICB0eXBlIENyZWF0ZVJlc3BvbnNlRHRvLFxuICB0eXBlIFNlbmRPdHBEdG8sXG4gIHR5cGUgVXBkYXRlUmVzcG9uc2VEdG8sXG4gIHR5cGUgVXBkYXRlVXNlckR0byxcbiAgdHlwZSBVcHZvdGVSZXNwb25zZUR0byxcbiAgdHlwZSBWZXJpZnlPdHBEdG8sXG4gIHR5cGUgVmVyaWZ5T3RwV3JhcHBlZFJlc3BvbnNlRHRvLFxufSBmcm9tICdAc3BvdHNkZXYvdHlwZXMnXG5cbmltcG9ydCB7dHlwZSBQb3N0VGVtcGxhdGUsIHR5cGUgU3BvdFBvc3R9IGZyb20gJy4vZW50aXRpZXMnXG5cbi8vIFJlcXVlc3QgdHlwZSBhbGlhc2VzIChtYXAgdG8gRFRPcylcbmV4cG9ydCB0eXBlIFNlbmRPdHBSZXF1ZXN0ID0gU2VuZE90cER0b1xuZXhwb3J0IHR5cGUgVmVyaWZ5T3RwUmVxdWVzdCA9IFZlcmlmeU90cER0b1xuZXhwb3J0IHR5cGUgQ3JlYXRlUG9zdFJlcXVlc3QgPSBDcmVhdGVQb3N0RHRvXG5leHBvcnQgdHlwZSBDcmVhdGVSZXBseVJlcXVlc3QgPSBDcmVhdGVSZXBseUR0b1xuZXhwb3J0IHR5cGUgUmVzcG9uZFRvUG9zdFJlcXVlc3QgPSBDcmVhdGVSZXNwb25zZUR0b1xuZXhwb3J0IHR5cGUgVXBkYXRlUmVzcG9uc2VSZXF1ZXN0ID0gVXBkYXRlUmVzcG9uc2VEdG9cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2ZpbGVSZXF1ZXN0ID0gVXBkYXRlVXNlckR0b1xuZXhwb3J0IHR5cGUgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCA9IENyZWF0ZUNvbnZlcnNhdGlvbkR0b1xuZXhwb3J0IHR5cGUgU2VuZE1lc3NhZ2VSZXF1ZXN0ID0gQ3JlYXRlTWVzc2FnZUR0b1xuZXhwb3J0IHR5cGUgQ2xhaW1TcG90UmVxdWVzdCA9IENsYWltU3BvdER0b1xuXG4vLyBSZXNwb25zZSB0eXBlIGFsaWFzZXNcbmV4cG9ydCB0eXBlIFVwdm90ZVJlc3BvbnNlID0gVXB2b3RlUmVzcG9uc2VEdG9cbmV4cG9ydCB0eXBlIEF1dGhSZXNwb25zZSA9IFZlcmlmeU90cFdyYXBwZWRSZXNwb25zZUR0b1xuXG4vLyBFbnRpdHkgdHlwZSBhbGlhc2VzIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSlcbmV4cG9ydCB0eXBlIFBvc3QgPSBTcG90UG9zdFxuZXhwb3J0IHR5cGUgVGVtcGxhdGUgPSBQb3N0VGVtcGxhdGVcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU0RLLVNQRUNJRklDIFRZUEVTIChub3QgZnJvbSBlbnRpdGllcyBvciBEVE9zKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFNwb3Qgc3VtbWFyeSB3aXRoIGFjdGl2aXR5IGluZGljYXRvcnNcbiAqIFJldHVybmVkIGJ5IC91c2Vycy9tZS9zcG90cy1zdW1tYXJ5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdFN1bW1hcnkge1xuICBzcG90SWQ6IHN0cmluZ1xuICBzcG90TmFtZTogc3RyaW5nXG4gIHNwb3RTbHVnOiBzdHJpbmdcbiAgc3BvdFR5cGU6IHN0cmluZ1xuICBwb3N0Q291bnQ6IG51bWJlclxuICB1bnJlYWRNZXNzYWdlczogbnVtYmVyXG4gIHBlbmRpbmdSZXNwb25zZXM6IG51bWJlclxuICBsYXN0QWN0aXZpdHk6IHN0cmluZyB8IG51bGxcbiAgaGFzTmV3QWN0aXZpdHk6IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBSZXNwb25zZSBtZXRhIGZvciBzcG90cyBzdW1tYXJ5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdHNTdW1tYXJ5TWV0YSB7XG4gIHRvdGFsU3BvdHM6IG51bWJlclxuICB0b3RhbFVucmVhZE1lc3NhZ2VzOiBudW1iZXJcbiAgdG90YWxQZW5kaW5nUmVzcG9uc2VzOiBudW1iZXJcbn1cblxuLyoqXG4gKiBGdWxsIHJlc3BvbnNlIGZyb20gL3VzZXJzL21lL3Nwb3RzLXN1bW1hcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcG90c1N1bW1hcnlSZXNwb25zZSB7XG4gIGRhdGE6IFNwb3RTdW1tYXJ5W11cbiAgbWV0YTogU3BvdHNTdW1tYXJ5TWV0YVxufVxuIl19
|