@growsober/sdk 1.0.11 → 1.0.14
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/mutations/creators.d.ts +38 -0
- package/dist/api/mutations/creators.js +31 -1
- package/dist/api/mutations/index.d.ts +1 -0
- package/dist/api/mutations/index.js +2 -1
- package/dist/api/mutations/stripe-connect.d.ts +9 -0
- package/dist/api/mutations/stripe-connect.js +35 -0
- package/dist/api/queries/index.d.ts +1 -0
- package/dist/api/queries/index.js +2 -1
- package/dist/api/queries/stripe-connect.d.ts +37 -0
- package/dist/api/queries/stripe-connect.js +39 -0
- package/package.json +1 -1
- package/src/api/mutations/creators.ts +59 -0
- package/src/api/mutations/index.ts +1 -0
- package/src/api/mutations/stripe-connect.ts +45 -0
- package/src/api/queries/index.ts +1 -0
- package/src/api/queries/stripe-connect.ts +73 -0
|
@@ -129,3 +129,41 @@ export declare function useRemoveCreatorAvailability(options?: Omit<UseMutationO
|
|
|
129
129
|
creatorId: string;
|
|
130
130
|
availabilityId: string;
|
|
131
131
|
}, unknown>;
|
|
132
|
+
export interface CreateCreatorRewardRequest {
|
|
133
|
+
badgeId: string;
|
|
134
|
+
title: string;
|
|
135
|
+
description: string;
|
|
136
|
+
redeemType: 'IN_PERSON' | 'ONLINE' | 'BOTH';
|
|
137
|
+
code?: string;
|
|
138
|
+
maxRedemptions?: number;
|
|
139
|
+
validUntil?: string;
|
|
140
|
+
}
|
|
141
|
+
export interface CreatorRewardResponse {
|
|
142
|
+
id: string;
|
|
143
|
+
creatorId: string;
|
|
144
|
+
badgeId: string;
|
|
145
|
+
title: string;
|
|
146
|
+
description: string;
|
|
147
|
+
redeemType: 'IN_PERSON' | 'ONLINE' | 'BOTH';
|
|
148
|
+
code?: string;
|
|
149
|
+
maxRedemptions?: number;
|
|
150
|
+
validUntil?: string;
|
|
151
|
+
createdAt: string;
|
|
152
|
+
updatedAt: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Create a new reward for a creator
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```tsx
|
|
159
|
+
* const createReward = useCreateCreatorReward(creatorId);
|
|
160
|
+
*
|
|
161
|
+
* await createReward.mutateAsync({
|
|
162
|
+
* badgeId: 'badge-123',
|
|
163
|
+
* title: 'Free Session',
|
|
164
|
+
* description: 'Get a free 30-minute session',
|
|
165
|
+
* redeemType: 'IN_PERSON',
|
|
166
|
+
* });
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
export declare function useCreateCreatorReward(creatorId: string): import("@tanstack/react-query").UseMutationResult<CreatorRewardResponse, Error, CreateCreatorRewardRequest, unknown>;
|
|
@@ -4,6 +4,7 @@ exports.useCreateCreator = useCreateCreator;
|
|
|
4
4
|
exports.useUpdateCreator = useUpdateCreator;
|
|
5
5
|
exports.useAddCreatorAvailability = useAddCreatorAvailability;
|
|
6
6
|
exports.useRemoveCreatorAvailability = useRemoveCreatorAvailability;
|
|
7
|
+
exports.useCreateCreatorReward = useCreateCreatorReward;
|
|
7
8
|
const react_query_1 = require("@tanstack/react-query");
|
|
8
9
|
const client_1 = require("../client");
|
|
9
10
|
const creators_1 = require("../queries/creators");
|
|
@@ -126,4 +127,33 @@ function useRemoveCreatorAvailability(options) {
|
|
|
126
127
|
...options,
|
|
127
128
|
});
|
|
128
129
|
}
|
|
129
|
-
|
|
130
|
+
/**
|
|
131
|
+
* Create a new reward for a creator
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```tsx
|
|
135
|
+
* const createReward = useCreateCreatorReward(creatorId);
|
|
136
|
+
*
|
|
137
|
+
* await createReward.mutateAsync({
|
|
138
|
+
* badgeId: 'badge-123',
|
|
139
|
+
* title: 'Free Session',
|
|
140
|
+
* description: 'Get a free 30-minute session',
|
|
141
|
+
* redeemType: 'IN_PERSON',
|
|
142
|
+
* });
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
function useCreateCreatorReward(creatorId) {
|
|
146
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
147
|
+
return (0, react_query_1.useMutation)({
|
|
148
|
+
mutationFn: async (data) => {
|
|
149
|
+
const client = (0, client_1.getApiClient)();
|
|
150
|
+
const response = await client.post(`/api/v1/creators/${creatorId}/rewards`, data);
|
|
151
|
+
return response.data;
|
|
152
|
+
},
|
|
153
|
+
onSuccess: () => {
|
|
154
|
+
queryClient.invalidateQueries({ queryKey: creators_1.creatorKeys.detail(creatorId) });
|
|
155
|
+
queryClient.invalidateQueries({ queryKey: ['creator-rewards', creatorId] });
|
|
156
|
+
},
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9jcmVhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSw0Q0FnQkM7QUFlRCw0Q0FvQkM7QUFxQkQsOERBNkJDO0FBZUQsb0VBd0JDO0FBNkNELHdEQWNDO0FBck9ELHVEQUF3RjtBQUN4RixzQ0FBeUM7QUFDekMsa0RBQWtEO0FBU2xELCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BQThGO0lBRTlGLE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBMEIsRUFBNEIsRUFBRTtZQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDN0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ2QsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixPQUdDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBQSw0QkFBYyxHQUFFLENBQUM7SUFFckMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJ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O1lBQ2xGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNkLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0UsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTXV0YXRpb24sIHVzZVF1ZXJ5Q2xpZW50LCBVc2VNdXRhdGlvbk9wdGlvbnMgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IGNyZWF0b3JLZXlzIH0gZnJvbSAnLi4vcXVlcmllcy9jcmVhdG9ycyc7XG5pbXBvcnQgdHlwZSB7XG4gIENyZWF0b3JSZXNwb25zZSxcbiAgQ3JlYXRvckF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICBDcmVhdGVDcmVhdG9yUmVxdWVzdCxcbiAgVXBkYXRlQ3JlYXRvclJlcXVlc3QsXG4gIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG59IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTVVUQVRJT04gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgY3JlYXRvciBwcm9maWxlIGZvciB0aGUgY3VycmVudCB1c2VyXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogY3JlYXRlQ3JlYXRvciB9ID0gdXNlQ3JlYXRlQ3JlYXRvcigpO1xuICpcbiAqIGF3YWl0IGNyZWF0ZUNyZWF0b3Ioe1xuICogICBzbHVnOiAnam9obi1kb2UnLFxuICogICBkaXNwbGF5TmFtZTogJ0pvaG4gRG9lJyxcbiAqICAgYmlvOiAnV2VsbG5lc3MgZmFjaWxpdGF0b3InLFxuICogICBjYW5GYWNpbGl0YXRlOiB0cnVlLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNyZWF0ZUNyZWF0b3IoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczxDcmVhdG9yUmVzcG9uc2UsIEVycm9yLCBDcmVhdGVDcmVhdG9yUmVxdWVzdD4sICdtdXRhdGlvbkZuJz5cbikge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlQ3JlYXRvclJlcXVlc3QpOiBQcm9taXNlPENyZWF0b3JSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KCcvYXBpL3YxL2NyZWF0b3JzJywgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogY3JlYXRvcktleXMuYWxsIH0pO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogVXBkYXRlIGEgY3JlYXRvciBwcm9maWxlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGVBc3luYzogdXBkYXRlQ3JlYXRvciB9ID0gdXNlVXBkYXRlQ3JlYXRvcigpO1xuICpcbiAqIGF3YWl0IHVwZGF0ZUNyZWF0b3Ioe1xuICogICBpZDogJ2NyZWF0b3ItMTIzJyxcbiAqICAgZGF0YTogeyBiaW86ICdVcGRhdGVkIGJpbycgfSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVDcmVhdG9yKFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8Q3JlYXRvclJlc3BvbnNlLCBFcnJvciwgeyBpZDogc3RyaW5nOyBkYXRhOiBVcGRhdGVDcmVhdG9yUmVxdWVzdCB9PixcbiAgICAnbXV0YXRpb25GbidcbiAgPlxuKSB7XG4gIGNvbnN0IHF1ZXJ5Q2xpZW50ID0gdXNlUXVlcnlDbGllbnQoKTtcblxuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICh7IGlkLCBkYXRhIH06IHsgaWQ6IHN0cmluZzsgZGF0YTogVXBkYXRlQ3JlYXRvclJlcXVlc3QgfSk6IFByb21pc2U8Q3JlYXRvclJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBhdGNoKGAvYXBpL3YxL2NyZWF0b3JzLyR7aWR9YCwgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKF8sIHZhcmlhYmxlcykgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogY3JlYXRvcktleXMuZGV0YWlsKHZhcmlhYmxlcy5pZCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBjcmVhdG9yS2V5cy5tZSgpIH0pO1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogQWRkIGFuIGF2YWlsYWJpbGl0eSBzbG90IGZvciBhIGNyZWF0b3JcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZUFzeW5jOiBhZGRBdmFpbGFiaWxpdHkgfSA9IHVzZUFkZENyZWF0b3JBdmFpbGFiaWxpdHkoKTtcbiAqXG4gKiBhd2FpdCBhZGRBdmFpbGFiaWxpdHkoe1xuICogICBjcmVhdG9ySWQ6ICdjcmVhdG9yLTEyMycsXG4gKiAgIGRhdGE6IHtcbiAqICAgICBkYXlPZldlZWs6IDEsIC8vIE1vbmRheVxuICogICAgIHN0YXJ0VGltZTogJzA5OjAwJyxcbiAqICAgICBlbmRUaW1lOiAnMTc6MDAnLFxuICogICAgIHRpbWV6b25lOiAnRXVyb3BlL0xvbmRvbicsXG4gKiAgICAgaXNSZWN1cnJpbmc6IHRydWUsXG4gKiAgIH0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQWRkQ3JlYXRvckF2YWlsYWJpbGl0eShcbiAgb3B0aW9ucz86IE9taXQ8XG4gICAgVXNlTXV0YXRpb25PcHRpb25zPFxuICAgICAgQ3JlYXRvckF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgICAgRXJyb3IsXG4gICAgICB7IGNyZWF0b3JJZDogc3RyaW5nOyBkYXRhOiBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0IH1cbiAgICA+LFxuICAgICdtdXRhdGlvbkZuJ1xuICA+XG4pIHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKHtcbiAgICAgIGNyZWF0b3JJZCxcbiAgICAgIGRhdGEsXG4gICAgfToge1xuICAgICAgY3JlYXRvcklkOiBzdHJpbmc7XG4gICAgICBkYXRhOiBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0O1xuICAgIH0pOiBQcm9taXNlPENyZWF0b3JBdmFpbGFiaWxpdHlSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KGAvYXBpL3YxL2NyZWF0b3JzLyR7Y3JlYXRvcklkfS9hdmFpbGFiaWxpdHlgLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoXywgdmFyaWFibGVzKSA9PiB7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBjcmVhdG9yS2V5cy5hdmFpbGFiaWxpdHkodmFyaWFibGVzLmNyZWF0b3JJZCkgfSk7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYW4gYXZhaWxhYmlsaXR5IHNsb3QgZm9yIGEgY3JlYXRvclxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGNvbnN0IHsgbXV0YXRlQXN5bmM6IHJlbW92ZUF2YWlsYWJpbGl0eSB9ID0gdXNlUmVtb3ZlQ3JlYXRvckF2YWlsYWJpbGl0eSgpO1xuICpcbiAqIGF3YWl0IHJlbW92ZUF2YWlsYWJpbGl0eSh7XG4gKiAgIGNyZWF0b3JJZDogJ2NyZWF0b3ItMTIzJyxcbiAqICAgYXZhaWxhYmlsaXR5SWQ6ICdhdmFpbGFiaWxpdHktNDU2JyxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VSZW1vdmVDcmVhdG9yQXZhaWxhYmlsaXR5KFxuICBvcHRpb25zPzogT21pdDxcbiAgICBVc2VNdXRhdGlvbk9wdGlvbnM8dm9pZCwgRXJyb3IsIHsgY3JlYXRvcklkOiBzdHJpbmc7IGF2YWlsYWJpbGl0eUlkOiBzdHJpbmcgfT4sXG4gICAgJ211dGF0aW9uRm4nXG4gID5cbikge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoe1xuICAgICAgY3JlYXRvcklkLFxuICAgICAgYXZhaWxhYmlsaXR5SWQsXG4gICAgfToge1xuICAgICAgY3JlYXRvcklkOiBzdHJpbmc7XG4gICAgICBhdmFpbGFiaWxpdHlJZDogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgYXdhaXQgY2xpZW50LmRlbGV0ZShgL2FwaS92MS9jcmVhdG9ycy8ke2NyZWF0b3JJZH0vYXZhaWxhYmlsaXR5LyR7YXZhaWxhYmlsaXR5SWR9YCk7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChfLCB2YXJpYWJsZXMpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IGNyZWF0b3JLZXlzLmF2YWlsYWJpbGl0eSh2YXJpYWJsZXMuY3JlYXRvcklkKSB9KTtcbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDUkVBVE9SIFJFV0FSRFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDcmVhdG9yUmV3YXJkUmVxdWVzdCB7XG4gIGJhZGdlSWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVkZWVtVHlwZTogJ0lOX1BFUlNPTicgfCAnT05MSU5FJyB8ICdCT1RIJztcbiAgY29kZT86IHN0cmluZztcbiAgbWF4UmVkZW1wdGlvbnM/OiBudW1iZXI7XG4gIHZhbGlkVW50aWw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRvclJld2FyZFJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgY3JlYXRvcklkOiBzdHJpbmc7XG4gIGJhZGdlSWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcmVkZWVtVHlwZTogJ0lOX1BFUlNPTicgfCAnT05MSU5FJyB8ICdCT1RIJztcbiAgY29kZT86IHN0cmluZztcbiAgbWF4UmVkZW1wdGlvbnM/OiBudW1iZXI7XG4gIHZhbGlkVW50aWw/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgcmV3YXJkIGZvciBhIGNyZWF0b3JcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBjcmVhdGVSZXdhcmQgPSB1c2VDcmVhdGVDcmVhdG9yUmV3YXJkKGNyZWF0b3JJZCk7XG4gKlxuICogYXdhaXQgY3JlYXRlUmV3YXJkLm11dGF0ZUFzeW5jKHtcbiAqICAgYmFkZ2VJZDogJ2JhZGdlLTEyMycsXG4gKiAgIHRpdGxlOiAnRnJlZSBTZXNzaW9uJyxcbiAqICAgZGVzY3JpcHRpb246ICdHZXQgYSBmcmVlIDMwLW1pbnV0ZSBzZXNzaW9uJyxcbiAqICAgcmVkZWVtVHlwZTogJ0lOX1BFUlNPTicsXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRlQ3JlYXRvclJld2FyZChjcmVhdG9ySWQ6IHN0cmluZykge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogQ3JlYXRlQ3JlYXRvclJld2FyZFJlcXVlc3QpOiBQcm9taXNlPENyZWF0b3JSZXdhcmRSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KGAvYXBpL3YxL2NyZWF0b3JzLyR7Y3JlYXRvcklkfS9yZXdhcmRzYCwgZGF0YSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogY3JlYXRvcktleXMuZGV0YWlsKGNyZWF0b3JJZCkgfSk7XG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiBbJ2NyZWF0b3ItcmV3YXJkcycsIGNyZWF0b3JJZF0gfSk7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -42,4 +42,5 @@ __exportStar(require("./creators"), exports);
|
|
|
42
42
|
__exportStar(require("./brands"), exports);
|
|
43
43
|
__exportStar(require("./products"), exports);
|
|
44
44
|
__exportStar(require("./venues"), exports);
|
|
45
|
-
|
|
45
|
+
__exportStar(require("./stripe-connect"), exports);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIsNkNBQTJCO0FBQzNCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLHdDQUFzQjtBQUN0QixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLGtEQUFnQztBQUNoQyw0Q0FBMEI7QUFDMUIsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QixnREFBOEI7QUFDOUIsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwyQ0FBeUI7QUFDekIsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNdXRhdGlvbiBIb29rc1xuICpcbiAqIFJlLWV4cG9ydHMgYWxsIG11dGF0aW9uIGhvb2tzIGZvciBBUEkgZW5kcG9pbnRzLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vYWRtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYm9va2luZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9odWJzJztcbmV4cG9ydCAqIGZyb20gJy4vbGlicmFyeSc7XG5leHBvcnQgKiBmcm9tICcuL21hcCc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9vZmZlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWJzY3JpcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vc3VwcG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vamFjayc7XG5leHBvcnQgKiBmcm9tICcuL2FtYmFzc2Fkb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vZ3JvdzkwJztcbmV4cG9ydCAqIGZyb20gJy4vbWF0Y2hpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC1jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1waW5zJztcbmV4cG9ydCAqIGZyb20gJy4vYmFkZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9icmFuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlbnVlcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmlwZS1jb25uZWN0JztcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface OnboardingLinkResponse {
|
|
2
|
+
url: string;
|
|
3
|
+
}
|
|
4
|
+
export interface DashboardLinkResponse {
|
|
5
|
+
url: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function useStartStripeOnboarding(): import("@tanstack/react-query").UseMutationResult<OnboardingLinkResponse, Error, void, unknown>;
|
|
8
|
+
export declare function useRefreshStripeOnboarding(): import("@tanstack/react-query").UseMutationResult<OnboardingLinkResponse, Error, void, unknown>;
|
|
9
|
+
export declare function useGetStripeDashboard(): import("@tanstack/react-query").UseMutationResult<DashboardLinkResponse, Error, void, unknown>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useStartStripeOnboarding = useStartStripeOnboarding;
|
|
4
|
+
exports.useRefreshStripeOnboarding = useRefreshStripeOnboarding;
|
|
5
|
+
exports.useGetStripeDashboard = useGetStripeDashboard;
|
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
7
|
+
const client_1 = require("../client");
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// HOOKS
|
|
10
|
+
// ============================================================================
|
|
11
|
+
function useStartStripeOnboarding() {
|
|
12
|
+
return (0, react_query_1.useMutation)({
|
|
13
|
+
mutationFn: async () => {
|
|
14
|
+
const response = await (0, client_1.getApiClient)().post('/creators/me/stripe-connect/onboard');
|
|
15
|
+
return response.data;
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function useRefreshStripeOnboarding() {
|
|
20
|
+
return (0, react_query_1.useMutation)({
|
|
21
|
+
mutationFn: async () => {
|
|
22
|
+
const response = await (0, client_1.getApiClient)().post('/creators/me/stripe-connect/refresh');
|
|
23
|
+
return response.data;
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function useGetStripeDashboard() {
|
|
28
|
+
return (0, react_query_1.useMutation)({
|
|
29
|
+
mutationFn: async () => {
|
|
30
|
+
const response = await (0, client_1.getApiClient)().get('/creators/me/stripe-connect/dashboard');
|
|
31
|
+
return response.data;
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNvbm5lY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy9zdHJpcGUtY29ubmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw0REFPQztBQUVELGdFQU9DO0FBRUQsc0RBT0M7QUE1Q0QsdURBQW9EO0FBQ3BELHNDQUF5QztBQWN6QywrRUFBK0U7QUFDL0UsUUFBUTtBQUNSLCtFQUErRTtBQUUvRSxTQUFnQix3QkFBd0I7SUFDdEMsT0FBTyxJQUFBLHlCQUFXLEVBQUM7UUFDakIsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxxQkFBWSxHQUFFLENBQUMsSUFBSSxDQUF5QixxQ0FBcUMsQ0FBQyxDQUFDO1lBQzFHLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQWdCLDBCQUEwQjtJQUN4QyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLHFCQUFZLEdBQUUsQ0FBQyxJQUFJLENBQXlCLHFDQUFxQyxDQUFDLENBQUM7WUFDMUcsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IscUJBQXFCO0lBQ25DLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEscUJBQVksR0FBRSxDQUFDLEdBQUcsQ0FBd0IsdUNBQXVDLENBQUMsQ0FBQztZQUMxRyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNdXRhdGlvbiB9IGZyb20gJ0B0YW5zdGFjay9yZWFjdC1xdWVyeSc7XG5pbXBvcnQgeyBnZXRBcGlDbGllbnQgfSBmcm9tICcuLi9jbGllbnQnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uYm9hcmRpbmdMaW5rUmVzcG9uc2Uge1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXNoYm9hcmRMaW5rUmVzcG9uc2Uge1xuICB1cmw6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0YXJ0U3RyaXBlT25ib2FyZGluZygpIHtcbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEFwaUNsaWVudCgpLnBvc3Q8T25ib2FyZGluZ0xpbmtSZXNwb25zZT4oJy9jcmVhdG9ycy9tZS9zdHJpcGUtY29ubmVjdC9vbmJvYXJkJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVJlZnJlc2hTdHJpcGVPbmJvYXJkaW5nKCkge1xuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0QXBpQ2xpZW50KCkucG9zdDxPbmJvYXJkaW5nTGlua1Jlc3BvbnNlPignL2NyZWF0b3JzL21lL3N0cmlwZS1jb25uZWN0L3JlZnJlc2gnKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlR2V0U3RyaXBlRGFzaGJvYXJkKCkge1xuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZ2V0QXBpQ2xpZW50KCkuZ2V0PERhc2hib2FyZExpbmtSZXNwb25zZT4oJy9jcmVhdG9ycy9tZS9zdHJpcGUtY29ubmVjdC9kYXNoYm9hcmQnKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gIH0pO1xufVxuIl19
|
|
@@ -44,4 +44,5 @@ __exportStar(require("./venues"), exports);
|
|
|
44
44
|
__exportStar(require("./creators"), exports);
|
|
45
45
|
__exportStar(require("./brands"), exports);
|
|
46
46
|
__exportStar(require("./products"), exports);
|
|
47
|
-
|
|
47
|
+
__exportStar(require("./stripe-connect"), exports);
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCwwQ0FBd0I7QUFDeEIseUNBQXVCO0FBQ3ZCLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsMkNBQXlCO0FBQ3pCLDJDQUF5QjtBQUN6Qix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLHdDQUFzQjtBQUN0QixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLGtEQUFnQztBQUNoQyw0Q0FBMEI7QUFDMUIsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QixnREFBOEI7QUFDOUIsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6QiwyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBRdWVyeSBIb29rc1xuICpcbiAqIFJlLWV4cG9ydHMgYWxsIHF1ZXJ5IGhvb2tzIGZvciBBUEkgZW5kcG9pbnRzLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vYWRtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYm9va2luZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9idXNpbmVzc2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY2l0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vaHVicyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYnJhcnknO1xuZXhwb3J0ICogZnJvbSAnLi9tYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vb2ZmZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3N1cHBvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycyc7XG5leHBvcnQgKiBmcm9tICcuL2phY2snO1xuZXhwb3J0ICogZnJvbSAnLi9hbWJhc3NhZG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3c5MCc7XG5leHBvcnQgKiBmcm9tICcuL21hdGNoaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQtY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItcGlucyc7XG5leHBvcnQgKiBmcm9tICcuL2JhZGdlcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZlbnVlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vYnJhbmRzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpcGUtY29ubmVjdCc7XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type StripeConnectStatus = 'ACTIVE' | 'ONBOARDING' | 'RESTRICTED' | 'DISABLED' | 'PENDING';
|
|
2
|
+
export interface StripeAccountStatus {
|
|
3
|
+
status: StripeConnectStatus;
|
|
4
|
+
chargesEnabled: boolean;
|
|
5
|
+
payoutsEnabled: boolean;
|
|
6
|
+
detailsSubmitted: boolean;
|
|
7
|
+
createdAt?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface EarningsSummary {
|
|
10
|
+
totalEarnings: number;
|
|
11
|
+
pendingEarnings: number;
|
|
12
|
+
availableBalance: number;
|
|
13
|
+
currency: string;
|
|
14
|
+
}
|
|
15
|
+
export interface EarningsHistoryItem {
|
|
16
|
+
id: string;
|
|
17
|
+
amount: number;
|
|
18
|
+
currency: string;
|
|
19
|
+
status: string;
|
|
20
|
+
paidAt: string;
|
|
21
|
+
eventTitle?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface EarningsResponse {
|
|
24
|
+
summary: EarningsSummary;
|
|
25
|
+
history: EarningsHistoryItem[];
|
|
26
|
+
}
|
|
27
|
+
export declare const stripeConnectKeys: {
|
|
28
|
+
all: readonly ["stripe-connect"];
|
|
29
|
+
status: () => readonly ["stripe-connect", "status"];
|
|
30
|
+
earnings: () => readonly ["stripe-connect", "earnings"];
|
|
31
|
+
};
|
|
32
|
+
export declare function useStripeConnectStatus(options?: {
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
}): import("@tanstack/react-query").UseQueryResult<StripeAccountStatus, Error>;
|
|
35
|
+
export declare function useCreatorEarnings(options?: {
|
|
36
|
+
enabled?: boolean;
|
|
37
|
+
}): import("@tanstack/react-query").UseQueryResult<EarningsResponse, Error>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stripeConnectKeys = void 0;
|
|
4
|
+
exports.useStripeConnectStatus = useStripeConnectStatus;
|
|
5
|
+
exports.useCreatorEarnings = useCreatorEarnings;
|
|
6
|
+
const react_query_1 = require("@tanstack/react-query");
|
|
7
|
+
const client_1 = require("../client");
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// QUERY KEYS
|
|
10
|
+
// ============================================================================
|
|
11
|
+
exports.stripeConnectKeys = {
|
|
12
|
+
all: ['stripe-connect'],
|
|
13
|
+
status: () => [...exports.stripeConnectKeys.all, 'status'],
|
|
14
|
+
earnings: () => [...exports.stripeConnectKeys.all, 'earnings'],
|
|
15
|
+
};
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// HOOKS
|
|
18
|
+
// ============================================================================
|
|
19
|
+
function useStripeConnectStatus(options) {
|
|
20
|
+
return (0, react_query_1.useQuery)({
|
|
21
|
+
queryKey: exports.stripeConnectKeys.status(),
|
|
22
|
+
queryFn: async () => {
|
|
23
|
+
const response = await (0, client_1.getApiClient)().get('/creators/me/stripe-connect/status');
|
|
24
|
+
return response.data;
|
|
25
|
+
},
|
|
26
|
+
enabled: options?.enabled ?? true,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function useCreatorEarnings(options) {
|
|
30
|
+
return (0, react_query_1.useQuery)({
|
|
31
|
+
queryKey: exports.stripeConnectKeys.earnings(),
|
|
32
|
+
queryFn: async () => {
|
|
33
|
+
const response = await (0, client_1.getApiClient)().get('/creators/me/stripe-connect/earnings');
|
|
34
|
+
return response.data;
|
|
35
|
+
},
|
|
36
|
+
enabled: options?.enabled ?? true,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNvbm5lY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3F1ZXJpZXMvc3RyaXBlLWNvbm5lY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBb0RBLHdEQVNDO0FBRUQsZ0RBU0M7QUF4RUQsdURBQWlEO0FBQ2pELHNDQUF5QztBQXFDekMsK0VBQStFO0FBQy9FLGFBQWE7QUFDYiwrRUFBK0U7QUFFbEUsUUFBQSxpQkFBaUIsR0FBRztJQUMvQixHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBVTtJQUNoQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLHlCQUFpQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQVU7SUFDM0QsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyx5QkFBaUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFVO0NBQ2hFLENBQUM7QUFFRiwrRUFBK0U7QUFDL0UsUUFBUTtBQUNSLCtFQUErRTtBQUUvRSxTQUFnQixzQkFBc0IsQ0FBQyxPQUErQjtJQUNwRSxPQUFPLElBQUEsc0JBQVEsRUFBQztRQUNkLFFBQVEsRUFBRSx5QkFBaUIsQ0FBQyxNQUFNLEVBQUU7UUFDcEMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxxQkFBWSxHQUFFLENBQUMsR0FBRyxDQUFzQixvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3JHLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSTtLQUNsQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsT0FBK0I7SUFDaEUsT0FBTyxJQUFBLHNCQUFRLEVBQUM7UUFDZCxRQUFRLEVBQUUseUJBQWlCLENBQUMsUUFBUSxFQUFFO1FBQ3RDLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTtZQUNsQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEscUJBQVksR0FBRSxDQUFDLEdBQUcsQ0FBbUIsc0NBQXNDLENBQUMsQ0FBQztZQUNwRyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUk7S0FDbEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVF1ZXJ5IH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IGdldEFwaUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRZUEVTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCB0eXBlIFN0cmlwZUNvbm5lY3RTdGF0dXMgPSAnQUNUSVZFJyB8ICdPTkJPQVJESU5HJyB8ICdSRVNUUklDVEVEJyB8ICdESVNBQkxFRCcgfCAnUEVORElORyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaXBlQWNjb3VudFN0YXR1cyB7XG4gIHN0YXR1czogU3RyaXBlQ29ubmVjdFN0YXR1cztcbiAgY2hhcmdlc0VuYWJsZWQ6IGJvb2xlYW47XG4gIHBheW91dHNFbmFibGVkOiBib29sZWFuO1xuICBkZXRhaWxzU3VibWl0dGVkOiBib29sZWFuO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWFybmluZ3NTdW1tYXJ5IHtcbiAgdG90YWxFYXJuaW5nczogbnVtYmVyO1xuICBwZW5kaW5nRWFybmluZ3M6IG51bWJlcjtcbiAgYXZhaWxhYmxlQmFsYW5jZTogbnVtYmVyO1xuICBjdXJyZW5jeTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVhcm5pbmdzSGlzdG9yeUl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgY3VycmVuY3k6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHBhaWRBdDogc3RyaW5nO1xuICBldmVudFRpdGxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVhcm5pbmdzUmVzcG9uc2Uge1xuICBzdW1tYXJ5OiBFYXJuaW5nc1N1bW1hcnk7XG4gIGhpc3Rvcnk6IEVhcm5pbmdzSGlzdG9yeUl0ZW1bXTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUVVFUlkgS0VZU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgY29uc3Qgc3RyaXBlQ29ubmVjdEtleXMgPSB7XG4gIGFsbDogWydzdHJpcGUtY29ubmVjdCddIGFzIGNvbnN0LFxuICBzdGF0dXM6ICgpID0+IFsuLi5zdHJpcGVDb25uZWN0S2V5cy5hbGwsICdzdGF0dXMnXSBhcyBjb25zdCxcbiAgZWFybmluZ3M6ICgpID0+IFsuLi5zdHJpcGVDb25uZWN0S2V5cy5hbGwsICdlYXJuaW5ncyddIGFzIGNvbnN0LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSE9PS1Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVN0cmlwZUNvbm5lY3RTdGF0dXMob3B0aW9ucz86IHsgZW5hYmxlZD86IGJvb2xlYW4gfSkge1xuICByZXR1cm4gdXNlUXVlcnkoe1xuICAgIHF1ZXJ5S2V5OiBzdHJpcGVDb25uZWN0S2V5cy5zdGF0dXMoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEFwaUNsaWVudCgpLmdldDxTdHJpcGVBY2NvdW50U3RhdHVzPignL2NyZWF0b3JzL21lL3N0cmlwZS1jb25uZWN0L3N0YXR1cycpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBlbmFibGVkOiBvcHRpb25zPy5lbmFibGVkID8/IHRydWUsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3JlYXRvckVhcm5pbmdzKG9wdGlvbnM/OiB7IGVuYWJsZWQ/OiBib29sZWFuIH0pIHtcbiAgcmV0dXJuIHVzZVF1ZXJ5KHtcbiAgICBxdWVyeUtleTogc3RyaXBlQ29ubmVjdEtleXMuZWFybmluZ3MoKSxcbiAgICBxdWVyeUZuOiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEFwaUNsaWVudCgpLmdldDxFYXJuaW5nc1Jlc3BvbnNlPignL2NyZWF0b3JzL21lL3N0cmlwZS1jb25uZWN0L2Vhcm5pbmdzJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIGVuYWJsZWQ6IG9wdGlvbnM/LmVuYWJsZWQgPz8gdHJ1ZSxcbiAgfSk7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -169,3 +169,62 @@ export function useRemoveCreatorAvailability(
|
|
|
169
169
|
...options,
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
|
+
|
|
173
|
+
// ============================================================================
|
|
174
|
+
// CREATOR REWARDS
|
|
175
|
+
// ============================================================================
|
|
176
|
+
|
|
177
|
+
export interface CreateCreatorRewardRequest {
|
|
178
|
+
badgeId: string;
|
|
179
|
+
title: string;
|
|
180
|
+
description: string;
|
|
181
|
+
redeemType: 'IN_PERSON' | 'ONLINE' | 'BOTH';
|
|
182
|
+
code?: string;
|
|
183
|
+
maxRedemptions?: number;
|
|
184
|
+
validUntil?: string;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export interface CreatorRewardResponse {
|
|
188
|
+
id: string;
|
|
189
|
+
creatorId: string;
|
|
190
|
+
badgeId: string;
|
|
191
|
+
title: string;
|
|
192
|
+
description: string;
|
|
193
|
+
redeemType: 'IN_PERSON' | 'ONLINE' | 'BOTH';
|
|
194
|
+
code?: string;
|
|
195
|
+
maxRedemptions?: number;
|
|
196
|
+
validUntil?: string;
|
|
197
|
+
createdAt: string;
|
|
198
|
+
updatedAt: string;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Create a new reward for a creator
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```tsx
|
|
206
|
+
* const createReward = useCreateCreatorReward(creatorId);
|
|
207
|
+
*
|
|
208
|
+
* await createReward.mutateAsync({
|
|
209
|
+
* badgeId: 'badge-123',
|
|
210
|
+
* title: 'Free Session',
|
|
211
|
+
* description: 'Get a free 30-minute session',
|
|
212
|
+
* redeemType: 'IN_PERSON',
|
|
213
|
+
* });
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
export function useCreateCreatorReward(creatorId: string) {
|
|
217
|
+
const queryClient = useQueryClient();
|
|
218
|
+
|
|
219
|
+
return useMutation({
|
|
220
|
+
mutationFn: async (data: CreateCreatorRewardRequest): Promise<CreatorRewardResponse> => {
|
|
221
|
+
const client = getApiClient();
|
|
222
|
+
const response = await client.post(`/api/v1/creators/${creatorId}/rewards`, data);
|
|
223
|
+
return response.data;
|
|
224
|
+
},
|
|
225
|
+
onSuccess: () => {
|
|
226
|
+
queryClient.invalidateQueries({ queryKey: creatorKeys.detail(creatorId) });
|
|
227
|
+
queryClient.invalidateQueries({ queryKey: ['creator-rewards', creatorId] });
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useMutation } from '@tanstack/react-query';
|
|
2
|
+
import { getApiClient } from '../client';
|
|
3
|
+
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// TYPES
|
|
6
|
+
// ============================================================================
|
|
7
|
+
|
|
8
|
+
export interface OnboardingLinkResponse {
|
|
9
|
+
url: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface DashboardLinkResponse {
|
|
13
|
+
url: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// HOOKS
|
|
18
|
+
// ============================================================================
|
|
19
|
+
|
|
20
|
+
export function useStartStripeOnboarding() {
|
|
21
|
+
return useMutation({
|
|
22
|
+
mutationFn: async () => {
|
|
23
|
+
const response = await getApiClient().post<OnboardingLinkResponse>('/creators/me/stripe-connect/onboard');
|
|
24
|
+
return response.data;
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function useRefreshStripeOnboarding() {
|
|
30
|
+
return useMutation({
|
|
31
|
+
mutationFn: async () => {
|
|
32
|
+
const response = await getApiClient().post<OnboardingLinkResponse>('/creators/me/stripe-connect/refresh');
|
|
33
|
+
return response.data;
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function useGetStripeDashboard() {
|
|
39
|
+
return useMutation({
|
|
40
|
+
mutationFn: async () => {
|
|
41
|
+
const response = await getApiClient().get<DashboardLinkResponse>('/creators/me/stripe-connect/dashboard');
|
|
42
|
+
return response.data;
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
package/src/api/queries/index.ts
CHANGED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { getApiClient } from '../client';
|
|
3
|
+
|
|
4
|
+
// ============================================================================
|
|
5
|
+
// TYPES
|
|
6
|
+
// ============================================================================
|
|
7
|
+
|
|
8
|
+
export type StripeConnectStatus = 'ACTIVE' | 'ONBOARDING' | 'RESTRICTED' | 'DISABLED' | 'PENDING';
|
|
9
|
+
|
|
10
|
+
export interface StripeAccountStatus {
|
|
11
|
+
status: StripeConnectStatus;
|
|
12
|
+
chargesEnabled: boolean;
|
|
13
|
+
payoutsEnabled: boolean;
|
|
14
|
+
detailsSubmitted: boolean;
|
|
15
|
+
createdAt?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface EarningsSummary {
|
|
19
|
+
totalEarnings: number;
|
|
20
|
+
pendingEarnings: number;
|
|
21
|
+
availableBalance: number;
|
|
22
|
+
currency: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface EarningsHistoryItem {
|
|
26
|
+
id: string;
|
|
27
|
+
amount: number;
|
|
28
|
+
currency: string;
|
|
29
|
+
status: string;
|
|
30
|
+
paidAt: string;
|
|
31
|
+
eventTitle?: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface EarningsResponse {
|
|
35
|
+
summary: EarningsSummary;
|
|
36
|
+
history: EarningsHistoryItem[];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// QUERY KEYS
|
|
41
|
+
// ============================================================================
|
|
42
|
+
|
|
43
|
+
export const stripeConnectKeys = {
|
|
44
|
+
all: ['stripe-connect'] as const,
|
|
45
|
+
status: () => [...stripeConnectKeys.all, 'status'] as const,
|
|
46
|
+
earnings: () => [...stripeConnectKeys.all, 'earnings'] as const,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// ============================================================================
|
|
50
|
+
// HOOKS
|
|
51
|
+
// ============================================================================
|
|
52
|
+
|
|
53
|
+
export function useStripeConnectStatus(options?: { enabled?: boolean }) {
|
|
54
|
+
return useQuery({
|
|
55
|
+
queryKey: stripeConnectKeys.status(),
|
|
56
|
+
queryFn: async () => {
|
|
57
|
+
const response = await getApiClient().get<StripeAccountStatus>('/creators/me/stripe-connect/status');
|
|
58
|
+
return response.data;
|
|
59
|
+
},
|
|
60
|
+
enabled: options?.enabled ?? true,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function useCreatorEarnings(options?: { enabled?: boolean }) {
|
|
65
|
+
return useQuery({
|
|
66
|
+
queryKey: stripeConnectKeys.earnings(),
|
|
67
|
+
queryFn: async () => {
|
|
68
|
+
const response = await getApiClient().get<EarningsResponse>('/creators/me/stripe-connect/earnings');
|
|
69
|
+
return response.data;
|
|
70
|
+
},
|
|
71
|
+
enabled: options?.enabled ?? true,
|
|
72
|
+
});
|
|
73
|
+
}
|