@growsober/sdk 1.0.29 → 1.0.30
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/users.d.ts +26 -1
- package/dist/api/mutations/users.js +46 -1
- package/package.json +1 -1
- package/src/api/mutations/users.ts +57 -1
- package/src/modules/creator-products/dto/CLAUDE.md +7 -0
- package/src/modules/users/CLAUDE.md +7 -0
- package/src/modules/users/dto/CLAUDE.md +7 -0
- package/src/modules/venues/CLAUDE.md +7 -0
- package/src/modules/venues/dto/CLAUDE.md +7 -0
|
@@ -7,7 +7,14 @@
|
|
|
7
7
|
* @module api/mutations/users
|
|
8
8
|
*/
|
|
9
9
|
import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
|
|
10
|
-
import type { UpdateUserRequest, UserResponse } from '../types';
|
|
10
|
+
import type { UpdateUserRequest, UserResponse, SendOtpRequest, OtpSentResponse } from '../types';
|
|
11
|
+
/**
|
|
12
|
+
* Request type for verifying a user's phone OTP (no name field needed)
|
|
13
|
+
*/
|
|
14
|
+
export type UserVerifyPhoneOtpRequest = {
|
|
15
|
+
phone: string;
|
|
16
|
+
code: string;
|
|
17
|
+
};
|
|
11
18
|
/**
|
|
12
19
|
* Update current user's profile
|
|
13
20
|
*
|
|
@@ -209,3 +216,21 @@ export declare function useUpdateCurrentUser(options?: Omit<UseMutationOptions<U
|
|
|
209
216
|
* @returns TanStack Query mutation result
|
|
210
217
|
*/
|
|
211
218
|
export declare function useCompleteOnboarding(options?: Omit<UseMutationOptions<UserResponse, Error, void>, 'mutationFn'>): UseMutationResult<UserResponse, Error, void>;
|
|
219
|
+
/**
|
|
220
|
+
* Send OTP to verify phone number for authenticated user
|
|
221
|
+
*
|
|
222
|
+
* @endpoint POST /api/v1/users/me/phone/send-otp
|
|
223
|
+
*
|
|
224
|
+
* @param options - TanStack Query mutation options
|
|
225
|
+
* @returns TanStack Query mutation result
|
|
226
|
+
*/
|
|
227
|
+
export declare function useSendUserPhoneOtp(options?: Omit<UseMutationOptions<OtpSentResponse, Error, SendOtpRequest>, 'mutationFn'>): UseMutationResult<OtpSentResponse, Error, SendOtpRequest>;
|
|
228
|
+
/**
|
|
229
|
+
* Verify OTP and update phone number for authenticated user
|
|
230
|
+
*
|
|
231
|
+
* @endpoint POST /api/v1/users/me/phone/verify-otp
|
|
232
|
+
*
|
|
233
|
+
* @param options - TanStack Query mutation options
|
|
234
|
+
* @returns TanStack Query mutation result
|
|
235
|
+
*/
|
|
236
|
+
export declare function useVerifyUserPhoneOtp(options?: Omit<UseMutationOptions<UserResponse, Error, UserVerifyPhoneOtpRequest>, 'mutationFn'>): UseMutationResult<UserResponse, Error, UserVerifyPhoneOtpRequest>;
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.useUpdateCurrentUser = useUpdateCurrentUser;
|
|
12
12
|
exports.useCompleteOnboarding = useCompleteOnboarding;
|
|
13
|
+
exports.useSendUserPhoneOtp = useSendUserPhoneOtp;
|
|
14
|
+
exports.useVerifyUserPhoneOtp = useVerifyUserPhoneOtp;
|
|
13
15
|
const react_query_1 = require("@tanstack/react-query");
|
|
14
16
|
const client_1 = require("../client");
|
|
15
17
|
const users_1 = require("../queries/users");
|
|
@@ -258,4 +260,47 @@ function useCompleteOnboarding(options) {
|
|
|
258
260
|
...options,
|
|
259
261
|
});
|
|
260
262
|
}
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy91c2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7R0FPRzs7QUFvR0gsb0RBMEJDO0FBZ0hELHNEQXlCQztBQXJRRCx1REFBMkc7QUFDM0csc0NBQXlDO0FBQ3pDLDRDQUE0QztBQUc1QywrRUFBK0U7QUFDL0UsaUJBQWlCO0FBQ2pCLCtFQUErRTtBQUUvRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdGRztBQUNILFNBQWdCLG9CQUFvQixDQUNsQyxPQUF3RjtJQUV4RixNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxFQUFFLElBQXVCLEVBQXlCLEVBQUU7WUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxHQUFFLENBQUM7WUFDOUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxDQUFlLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFFLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxxRUFBcUU7WUFDckUsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTNELHFGQUFxRjtZQUNyRixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDWixXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEUsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUVELG9DQUFvQztZQUNwQyxtREFBbUQ7UUFDckQsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZHRztBQUNILFNBQWdCLHFCQUFxQixDQUNuQyxPQUEyRTtJQUUzRSxNQUFNLFdBQVcsR0FBRyxJQUFBLDRCQUFjLEdBQUUsQ0FBQztJQUVyQyxPQUFPLElBQUEseUJBQVcsRUFBQztRQUNqQixVQUFVLEVBQUUsS0FBSyxJQUEyQixFQUFFO1lBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksR0FBRSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBZSxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQ0QsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxrRkFBa0Y7WUFDbEYsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTNELGlEQUFpRDtZQUNqRCxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDWixXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RSxDQUFDO1lBRUQsb0NBQW9DO1lBQ3BDLG1EQUFtRDtRQUNyRCxDQUFDO1FBQ0QsR0FBRyxPQUFPO0tBQ1gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlcnMgTXV0YXRpb24gSG9va3NcbiAqXG4gKiBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBob29rcyBmb3IgdXNlci1yZWxhdGVkIHdyaXRlIG9wZXJhdGlvbnMuXG4gKiBUaGVzZSBob29rcyBoYW5kbGUgdXNlciBwcm9maWxlIHVwZGF0ZXMgYW5kIG9uYm9hcmRpbmcgY29tcGxldGlvbi5cbiAqXG4gKiBAbW9kdWxlIGFwaS9tdXRhdGlvbnMvdXNlcnNcbiAqL1xuXG5pbXBvcnQgeyB1c2VNdXRhdGlvbiwgVXNlTXV0YXRpb25PcHRpb25zLCBVc2VNdXRhdGlvblJlc3VsdCwgdXNlUXVlcnlDbGllbnQgfSBmcm9tICdAdGFuc3RhY2svcmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgZ2V0QXBpQ2xpZW50IH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IHVzZXJLZXlzIH0gZnJvbSAnLi4vcXVlcmllcy91c2Vycyc7XG5pbXBvcnQgdHlwZSB7IFVwZGF0ZVVzZXJSZXF1ZXN0LCBVc2VyUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1VVEFUSU9OIEhPT0tTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVXBkYXRlIGN1cnJlbnQgdXNlcidzIHByb2ZpbGVcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFVwZGF0ZXMgdGhlIGF1dGhlbnRpY2F0ZWQgdXNlcidzIHByb2ZpbGUgaW5mb3JtYXRpb24uXG4gKiBUaGlzIGNhbiBpbmNsdWRlIG5hbWUsIGJpbywgYXZhdGFyLCBsb2NhdGlvbiwgc29iZXIgZGF0ZSwgYW5kIG90aGVyIHByb2ZpbGUgZmllbGRzLlxuICogQXV0b21hdGljYWxseSBpbnZhbGlkYXRlcyByZWxldmFudCB1c2VyIHF1ZXJpZXMgdG8gcmVmcmVzaCB0aGUgVUkuXG4gKlxuICogQGVuZHBvaW50IFBVVCAvYXBpL3YxL3VzZXJzL21lXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlVXBkYXRlQ3VycmVudFVzZXIgfSBmcm9tICdAZ3Jvd3NvYmVyL3Nkayc7XG4gKlxuICogZnVuY3Rpb24gRWRpdFByb2ZpbGVGb3JtKCkge1xuICogICBjb25zdCB7IG11dGF0ZTogdXBkYXRlUHJvZmlsZSwgaXNQZW5kaW5nLCBlcnJvciB9ID0gdXNlVXBkYXRlQ3VycmVudFVzZXIoe1xuICogICAgIG9uU3VjY2VzczogKGRhdGEpID0+IHtcbiAqICAgICAgIHRvYXN0LnN1Y2Nlc3MoJ1Byb2ZpbGUgdXBkYXRlZCBzdWNjZXNzZnVsbHknKTtcbiAqICAgICAgIG5hdmlnYXRpb24uZ29CYWNrKCk7XG4gKiAgICAgfSxcbiAqICAgICBvbkVycm9yOiAoZXJyb3IpID0+IHtcbiAqICAgICAgIHRvYXN0LmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHByb2ZpbGU6ICcgKyBlcnJvci5tZXNzYWdlKTtcbiAqICAgICB9LFxuICogICB9KTtcbiAqXG4gKiAgIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChmb3JtRGF0YTogRm9ybURhdGEpID0+IHtcbiAqICAgICB1cGRhdGVQcm9maWxlKHtcbiAqICAgICAgIG5hbWU6IGZvcm1EYXRhLm5hbWUsXG4gKiAgICAgICBiaW86IGZvcm1EYXRhLmJpbyxcbiAqICAgICAgIGF2YXRhcjogZm9ybURhdGEuYXZhdGFyLFxuICogICAgICAgY2l0eTogZm9ybURhdGEuY2l0eSxcbiAqICAgICAgIHNvYmVyRGF0ZTogZm9ybURhdGEuc29iZXJEYXRlLFxuICogICAgIH0pO1xuICogICB9O1xuICpcbiAqICAgcmV0dXJuIChcbiAqICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fT5cbiAqICAgICAgIDxpbnB1dCBuYW1lPVwibmFtZVwiIC8+XG4gKiAgICAgICA8dGV4dGFyZWEgbmFtZT1cImJpb1wiIC8+XG4gKiAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBkaXNhYmxlZD17aXNQZW5kaW5nfT5cbiAqICAgICAgICAge2lzUGVuZGluZyA/ICdTYXZpbmcuLi4nIDogJ1NhdmUgUHJvZmlsZSd9XG4gKiAgICAgICA8L2J1dHRvbj5cbiAqICAgICAgIHtlcnJvciAmJiA8cCBjbGFzc05hbWU9XCJlcnJvclwiPntlcnJvci5tZXNzYWdlfTwvcD59XG4gKiAgICAgPC9mb3JtPlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIFVwZGF0ZSBzcGVjaWZpYyBmaWVsZHM6XG4gKiBgYGB0c3hcbiAqIGZ1bmN0aW9uIEF2YXRhclVwbG9hZGVyKCkge1xuICogICBjb25zdCB7IG11dGF0ZUFzeW5jOiB1cGRhdGVQcm9maWxlIH0gPSB1c2VVcGRhdGVDdXJyZW50VXNlcigpO1xuICpcbiAqICAgY29uc3QgaGFuZGxlQXZhdGFyQ2hhbmdlID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAqICAgICBjb25zdCB1cGxvYWRlZFVybCA9IGF3YWl0IHVwbG9hZEltYWdlKGZpbGUpO1xuICogICAgIGF3YWl0IHVwZGF0ZVByb2ZpbGUoeyBhdmF0YXI6IHVwbG9hZGVkVXJsIH0pO1xuICogICAgIHRvYXN0LnN1Y2Nlc3MoJ0F2YXRhciB1cGRhdGVkIScpO1xuICogICB9O1xuICpcbiAqICAgcmV0dXJuIDxJbWFnZVBpY2tlciBvblNlbGVjdD17aGFuZGxlQXZhdGFyQ2hhbmdlfSAvPjtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBVcGRhdGUgc29iZXIgZGF0ZTpcbiAqIGBgYHRzeFxuICogZnVuY3Rpb24gU29iZXJEYXRlUGlja2VyKCkge1xuICogICBjb25zdCB7IG11dGF0ZTogdXBkYXRlUHJvZmlsZSB9ID0gdXNlVXBkYXRlQ3VycmVudFVzZXIoKTtcbiAqICAgY29uc3QgeyBkYXRhOiB1c2VyIH0gPSB1c2VDdXJyZW50VXNlcigpO1xuICpcbiAqICAgY29uc3QgaGFuZGxlRGF0ZUNoYW5nZSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gKiAgICAgdXBkYXRlUHJvZmlsZSh7XG4gKiAgICAgICBzb2JlckRhdGU6IGRhdGUudG9JU09TdHJpbmcoKSxcbiAqICAgICB9KTtcbiAqICAgfTtcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPERhdGVQaWNrZXJcbiAqICAgICAgIHZhbHVlPXt1c2VyPy5zb2JlckRhdGV9XG4gKiAgICAgICBvbkNoYW5nZT17aGFuZGxlRGF0ZUNoYW5nZX1cbiAqICAgICAvPlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiBvcHRpb25zXG4gKiBAcmV0dXJucyBUYW5TdGFjayBRdWVyeSBtdXRhdGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVwZGF0ZUN1cnJlbnRVc2VyKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8VXNlclJlc3BvbnNlLCBFcnJvciwgVXBkYXRlVXNlclJlcXVlc3Q+LCAnbXV0YXRpb25Gbic+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxVc2VyUmVzcG9uc2UsIEVycm9yLCBVcGRhdGVVc2VyUmVxdWVzdD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoZGF0YTogVXBkYXRlVXNlclJlcXVlc3QpOiBQcm9taXNlPFVzZXJSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wdXQ8VXNlclJlc3BvbnNlPignL2FwaS92MS91c2Vycy9tZScsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIC8vIEludmFsaWRhdGUgY3VycmVudCB1c2VyIHF1ZXJ5IHRvIHRyaWdnZXIgcmVmZXRjaCB3aXRoIHVwZGF0ZWQgZGF0YVxuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogdXNlcktleXMubWUoKSB9KTtcblxuICAgICAgLy8gQWxzbyBpbnZhbGlkYXRlIHRoZSBkZXRhaWwgcXVlcnkgZm9yIHRoaXMgdXNlciBpZiB0aGV5J3ZlIHZpZXdlZCB0aGVpciBvd24gcHJvZmlsZVxuICAgICAgaWYgKGRhdGEuaWQpIHtcbiAgICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogdXNlcktleXMuZGV0YWlsKGRhdGEuaWQpIH0pO1xuICAgICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiB1c2VyS2V5cy5wdWJsaWMoZGF0YS5pZCkgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgICAgLy8gVXNlcidzIG9uU3VjY2VzcyBpcyBoYW5kbGVkIGJ5IHNwcmVhZGluZyBvcHRpb25zXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBDb21wbGV0ZSB1c2VyIG9uYm9hcmRpbmdcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIE1hcmtzIHRoZSB1c2VyJ3Mgb25ib2FyZGluZyBwcm9jZXNzIGFzIGNvbXBsZXRlLlxuICogVGhpcyBpcyB0eXBpY2FsbHkgY2FsbGVkIGFmdGVyIGEgdXNlciBjb21wbGV0ZXMgYWxsIHJlcXVpcmVkIG9uYm9hcmRpbmcgc3RlcHNcbiAqIChlLmcuLCBzZXR0aW5nIHVwIHByb2ZpbGUsIHNlbGVjdGluZyBpbnRlcmVzdHMsIHNldHRpbmcgc29iZXIgZGF0ZSkuXG4gKiBVcGRhdGVzIHRoZSB1c2VyJ3Mgb25ib2FyZGluZ0NvbXBsZXRlZCBmbGFnIGFuZCB1bmxvY2tzIGZ1bGwgYXBwIGFjY2Vzcy5cbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvYXBpL3YxL3VzZXJzL21lL2NvbXBsZXRlLW9uYm9hcmRpbmdcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBpbXBvcnQgeyB1c2VDb21wbGV0ZU9uYm9hcmRpbmcgfSBmcm9tICdAZ3Jvd3NvYmVyL3Nkayc7XG4gKlxuICogZnVuY3Rpb24gT25ib2FyZGluZ0ZpbmFsU3RlcCgpIHtcbiAqICAgY29uc3QgeyBtdXRhdGU6IGNvbXBsZXRlT25ib2FyZGluZywgaXNQZW5kaW5nIH0gPSB1c2VDb21wbGV0ZU9uYm9hcmRpbmcoe1xuICogICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICogICAgICAgdG9hc3Quc3VjY2VzcygnV2VsY29tZSB0byBHcm93U29iZXIhJyk7XG4gKiAgICAgICBuYXZpZ2F0aW9uLm5hdmlnYXRlKCdIb21lJyk7XG4gKiAgICAgfSxcbiAqICAgICBvbkVycm9yOiAoZXJyb3IpID0+IHtcbiAqICAgICAgIHRvYXN0LmVycm9yKCdGYWlsZWQgdG8gY29tcGxldGUgb25ib2FyZGluZzogJyArIGVycm9yLm1lc3NhZ2UpO1xuICogICAgIH0sXG4gKiAgIH0pO1xuICpcbiAqICAgY29uc3QgaGFuZGxlRmluaXNoID0gKCkgPT4ge1xuICogICAgIGNvbXBsZXRlT25ib2FyZGluZygpO1xuICogICB9O1xuICpcbiAqICAgcmV0dXJuIChcbiAqICAgICA8ZGl2PlxuICogICAgICAgPGgxPllvdSdyZSBBbGwgU2V0ITwvaDE+XG4gKiAgICAgICA8cD5SZWFkeSB0byBzdGFydCB5b3VyIHNvYmVyIGpvdXJuZXk/PC9wPlxuICogICAgICAgPGJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVGaW5pc2h9IGRpc2FibGVkPXtpc1BlbmRpbmd9PlxuICogICAgICAgICB7aXNQZW5kaW5nID8gJ1NldHRpbmcgdXAuLi4nIDogJ0dldCBTdGFydGVkJ31cbiAqICAgICAgIDwvYnV0dG9uPlxuICogICAgIDwvZGl2PlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIE11bHRpLXN0ZXAgb25ib2FyZGluZyB3aXRoIHZhbGlkYXRpb246XG4gKiBgYGB0c3hcbiAqIGZ1bmN0aW9uIE9uYm9hcmRpbmdGbG93KCkge1xuICogICBjb25zdCBbY3VycmVudFN0ZXAsIHNldEN1cnJlbnRTdGVwXSA9IHVzZVN0YXRlKDEpO1xuICogICBjb25zdCB7IG11dGF0ZUFzeW5jOiBjb21wbGV0ZU9uYm9hcmRpbmcgfSA9IHVzZUNvbXBsZXRlT25ib2FyZGluZygpO1xuICogICBjb25zdCB7IGRhdGE6IHVzZXIgfSA9IHVzZUN1cnJlbnRVc2VyKCk7XG4gKlxuICogICBjb25zdCBoYW5kbGVDb21wbGV0ZSA9IGFzeW5jICgpID0+IHtcbiAqICAgICAvLyBWYWxpZGF0ZSBhbGwgcmVxdWlyZWQgZmllbGRzIGFyZSBmaWxsZWRcbiAqICAgICBpZiAoIXVzZXI/Lm5hbWUgfHwgIXVzZXI/LnNvYmVyRGF0ZSB8fCAhdXNlcj8uY2l0eSkge1xuICogICAgICAgdG9hc3QuZXJyb3IoJ1BsZWFzZSBjb21wbGV0ZSBhbGwgcmVxdWlyZWQgZmllbGRzJyk7XG4gKiAgICAgICByZXR1cm47XG4gKiAgICAgfVxuICpcbiAqICAgICB0cnkge1xuICogICAgICAgYXdhaXQgY29tcGxldGVPbmJvYXJkaW5nKCk7XG4gKiAgICAgICAvLyBVc2VyIHdpbGwgYmUgcmVkaXJlY3RlZCB2aWEgb25TdWNjZXNzIGNhbGxiYWNrXG4gKiAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAqICAgICAgIGNvbnNvbGUuZXJyb3IoJ09uYm9hcmRpbmcgZXJyb3I6JywgZXJyb3IpO1xuICogICAgIH1cbiAqICAgfTtcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPGRpdj5cbiAqICAgICAgIHtjdXJyZW50U3RlcCA9PT0gMSAmJiA8UHJvZmlsZVNldHVwIG9uTmV4dD17KCkgPT4gc2V0Q3VycmVudFN0ZXAoMil9IC8+fVxuICogICAgICAge2N1cnJlbnRTdGVwID09PSAyICYmIDxJbnRlcmVzdFNlbGVjdGlvbiBvbk5leHQ9eygpID0+IHNldEN1cnJlbnRTdGVwKDMpfSAvPn1cbiAqICAgICAgIHtjdXJyZW50U3RlcCA9PT0gMyAmJiA8U29iZXJEYXRlU2V0dXAgb25OZXh0PXtoYW5kbGVDb21wbGV0ZX0gLz59XG4gKiAgICAgPC9kaXY+XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogQ2hlY2sgb25ib2FyZGluZyBzdGF0dXM6XG4gKiBgYGB0c3hcbiAqIGZ1bmN0aW9uIEFwcE5hdmlnYXRvcigpIHtcbiAqICAgY29uc3QgeyBkYXRhOiB1c2VyLCBpc0xvYWRpbmcgfSA9IHVzZUN1cnJlbnRVc2VyKCk7XG4gKlxuICogICBpZiAoaXNMb2FkaW5nKSByZXR1cm4gPFNwbGFzaFNjcmVlbiAvPjtcbiAqXG4gKiAgIC8vIFJlZGlyZWN0IHRvIG9uYm9hcmRpbmcgaWYgbm90IGNvbXBsZXRlZFxuICogICBpZiAodXNlciAmJiAhdXNlci5vbmJvYXJkaW5nQ29tcGxldGVkKSB7XG4gKiAgICAgcmV0dXJuIDxPbmJvYXJkaW5nRmxvdyAvPjtcbiAqICAgfVxuICpcbiAqICAgcmV0dXJuIDxNYWluQXBwIC8+O1xuICogfVxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIFdpdGggYW5hbHl0aWNzIHRyYWNraW5nOlxuICogYGBgdHN4XG4gKiBjb25zdCB7IG11dGF0ZTogY29tcGxldGVPbmJvYXJkaW5nIH0gPSB1c2VDb21wbGV0ZU9uYm9hcmRpbmcoe1xuICogICBvblN1Y2Nlc3M6IChkYXRhKSA9PiB7XG4gKiAgICAgYW5hbHl0aWNzLnRyYWNrKCdPbmJvYXJkaW5nIENvbXBsZXRlZCcsIHtcbiAqICAgICAgIHVzZXJJZDogZGF0YS5pZCxcbiAqICAgICAgIGNvbXBsZXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gKiAgICAgICBwcm9maWxlQ29tcGxldGU6ICEhZGF0YS5iaW8gJiYgISFkYXRhLmF2YXRhcixcbiAqICAgICB9KTtcbiAqICAgICBuYXZpZ2F0aW9uLm5hdmlnYXRlKCdIb21lJyk7XG4gKiAgIH0sXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDb21wbGV0ZU9uYm9hcmRpbmcoXG4gIG9wdGlvbnM/OiBPbWl0PFVzZU11dGF0aW9uT3B0aW9uczxVc2VyUmVzcG9uc2UsIEVycm9yLCB2b2lkPiwgJ211dGF0aW9uRm4nPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8VXNlclJlc3BvbnNlLCBFcnJvciwgdm9pZD4ge1xuICBjb25zdCBxdWVyeUNsaWVudCA9IHVzZVF1ZXJ5Q2xpZW50KCk7XG5cbiAgcmV0dXJuIHVzZU11dGF0aW9uKHtcbiAgICBtdXRhdGlvbkZuOiBhc3luYyAoKTogUHJvbWlzZTxVc2VyUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucG9zdDxVc2VyUmVzcG9uc2U+KCcvYXBpL3YxL3VzZXJzL21lL2NvbXBsZXRlLW9uYm9hcmRpbmcnKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoZGF0YSwgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIGN1cnJlbnQgdXNlciBxdWVyeSB0byB0cmlnZ2VyIHJlZmV0Y2ggd2l0aCB1cGRhdGVkIG9uYm9hcmRpbmcgc3RhdHVzXG4gICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiB1c2VyS2V5cy5tZSgpIH0pO1xuXG4gICAgICAvLyBBbHNvIGludmFsaWRhdGUgdGhlIGRldGFpbCBxdWVyeSBmb3IgdGhpcyB1c2VyXG4gICAgICBpZiAoZGF0YS5pZCkge1xuICAgICAgICBxdWVyeUNsaWVudC5pbnZhbGlkYXRlUXVlcmllcyh7IHF1ZXJ5S2V5OiB1c2VyS2V5cy5kZXRhaWwoZGF0YS5pZCkgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGwgdXNlcidzIG9uU3VjY2VzcyBpZiBwcm92aWRlZFxuICAgICAgLy8gVXNlcidzIG9uU3VjY2VzcyBpcyBoYW5kbGVkIGJ5IHNwcmVhZGluZyBvcHRpb25zXG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cbiJdfQ==
|
|
263
|
+
/**
|
|
264
|
+
* Send OTP to verify phone number for authenticated user
|
|
265
|
+
*
|
|
266
|
+
* @endpoint POST /api/v1/users/me/phone/send-otp
|
|
267
|
+
*
|
|
268
|
+
* @param options - TanStack Query mutation options
|
|
269
|
+
* @returns TanStack Query mutation result
|
|
270
|
+
*/
|
|
271
|
+
function useSendUserPhoneOtp(options) {
|
|
272
|
+
return (0, react_query_1.useMutation)({
|
|
273
|
+
mutationFn: async (data) => {
|
|
274
|
+
const client = (0, client_1.getApiClient)();
|
|
275
|
+
const response = await client.post('/api/v1/users/me/phone/send-otp', data);
|
|
276
|
+
return response.data;
|
|
277
|
+
},
|
|
278
|
+
...options,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Verify OTP and update phone number for authenticated user
|
|
283
|
+
*
|
|
284
|
+
* @endpoint POST /api/v1/users/me/phone/verify-otp
|
|
285
|
+
*
|
|
286
|
+
* @param options - TanStack Query mutation options
|
|
287
|
+
* @returns TanStack Query mutation result
|
|
288
|
+
*/
|
|
289
|
+
function useVerifyUserPhoneOtp(options) {
|
|
290
|
+
const queryClient = (0, react_query_1.useQueryClient)();
|
|
291
|
+
return (0, react_query_1.useMutation)({
|
|
292
|
+
mutationFn: async (data) => {
|
|
293
|
+
const client = (0, client_1.getApiClient)();
|
|
294
|
+
const response = await client.post('/api/v1/users/me/phone/verify-otp', data);
|
|
295
|
+
return response.data;
|
|
296
|
+
},
|
|
297
|
+
onSuccess: (data, variables, context) => {
|
|
298
|
+
queryClient.invalidateQueries({ queryKey: users_1.userKeys.me() });
|
|
299
|
+
if (data.id) {
|
|
300
|
+
queryClient.invalidateQueries({ queryKey: users_1.userKeys.detail(data.id) });
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
...options,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL211dGF0aW9ucy91c2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7R0FPRzs7QUF5R0gsb0RBMEJDO0FBZ0hELHNEQXlCQztBQVVELGtEQVdDO0FBVUQsc0RBb0JDO0FBN1RELHVEQUEyRztBQUMzRyxzQ0FBeUM7QUFDekMsNENBQTRDO0FBUTVDLCtFQUErRTtBQUMvRSxpQkFBaUI7QUFDakIsK0VBQStFO0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0ZHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLE9BQXdGO0lBRXhGLE1BQU0sV0FBVyxHQUFHLElBQUEsNEJBQWMsR0FBRSxDQUFDO0lBRXJDLE9BQU8sSUFBQSx5QkFBVyxFQUFDO1FBQ2pCLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBdUIsRUFBeUIsRUFBRTtZQUNuRSxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztZQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQWUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLHFFQUFxRTtZQUNyRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFM0QscUZBQXFGO1lBQ3JGLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNaLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFB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QUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDWixXQUFXLENBQUMsaUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RSxDQUFDO1FBQ0gsQ0FBQztRQUNELEdBQUcsT0FBTztLQUNYLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZXJzIE11dGF0aW9uIEhvb2tzXG4gKlxuICogVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gaG9va3MgZm9yIHVzZXItcmVsYXRlZCB3cml0ZSBvcGVyYXRpb25zLlxuICogVGhlc2UgaG9va3MgaGFuZGxlIHVzZXIgcHJvZmlsZSB1cGRhdGVzIGFuZCBvbmJvYXJkaW5nIGNvbXBsZXRpb24uXG4gKlxuICogQG1vZHVsZSBhcGkvbXV0YXRpb25zL3VzZXJzXG4gKi9cblxuaW1wb3J0IHsgdXNlTXV0YXRpb24sIFVzZU11dGF0aW9uT3B0aW9ucywgVXNlTXV0YXRpb25SZXN1bHQsIHVzZVF1ZXJ5Q2xpZW50IH0gZnJvbSAnQHRhbnN0YWNrL3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IGdldEFwaUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyB1c2VyS2V5cyB9IGZyb20gJy4uL3F1ZXJpZXMvdXNlcnMnO1xuaW1wb3J0IHR5cGUgeyBVcGRhdGVVc2VyUmVxdWVzdCwgVXNlclJlc3BvbnNlLCBTZW5kT3RwUmVxdWVzdCwgT3RwU2VudFJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFJlcXVlc3QgdHlwZSBmb3IgdmVyaWZ5aW5nIGEgdXNlcidzIHBob25lIE9UUCAobm8gbmFtZSBmaWVsZCBuZWVkZWQpXG4gKi9cbmV4cG9ydCB0eXBlIFVzZXJWZXJpZnlQaG9uZU90cFJlcXVlc3QgPSB7IHBob25lOiBzdHJpbmc7IGNvZGU6IHN0cmluZyB9O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNVVRBVElPTiBIT09LU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFVwZGF0ZSBjdXJyZW50IHVzZXIncyBwcm9maWxlXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBVcGRhdGVzIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIncyBwcm9maWxlIGluZm9ybWF0aW9uLlxuICogVGhpcyBjYW4gaW5jbHVkZSBuYW1lLCBiaW8sIGF2YXRhciwgbG9jYXRpb24sIHNvYmVyIGRhdGUsIGFuZCBvdGhlciBwcm9maWxlIGZpZWxkcy5cbiAqIEF1dG9tYXRpY2FsbHkgaW52YWxpZGF0ZXMgcmVsZXZhbnQgdXNlciBxdWVyaWVzIHRvIHJlZnJlc2ggdGhlIFVJLlxuICpcbiAqIEBlbmRwb2ludCBQVVQgL2FwaS92MS91c2Vycy9tZVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IHVzZVVwZGF0ZUN1cnJlbnRVc2VyIH0gZnJvbSAnQGdyb3dzb2Jlci9zZGsnO1xuICpcbiAqIGZ1bmN0aW9uIEVkaXRQcm9maWxlRm9ybSgpIHtcbiAqICAgY29uc3QgeyBtdXRhdGU6IHVwZGF0ZVByb2ZpbGUsIGlzUGVuZGluZywgZXJyb3IgfSA9IHVzZVVwZGF0ZUN1cnJlbnRVc2VyKHtcbiAqICAgICBvblN1Y2Nlc3M6IChkYXRhKSA9PiB7XG4gKiAgICAgICB0b2FzdC5zdWNjZXNzKCdQcm9maWxlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gKiAgICAgICBuYXZpZ2F0aW9uLmdvQmFjaygpO1xuICogICAgIH0sXG4gKiAgICAgb25FcnJvcjogKGVycm9yKSA9PiB7XG4gKiAgICAgICB0b2FzdC5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSBwcm9maWxlOiAnICsgZXJyb3IubWVzc2FnZSk7XG4gKiAgICAgfSxcbiAqICAgfSk7XG4gKlxuICogICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoZm9ybURhdGE6IEZvcm1EYXRhKSA9PiB7XG4gKiAgICAgdXBkYXRlUHJvZmlsZSh7XG4gKiAgICAgICBuYW1lOiBmb3JtRGF0YS5uYW1lLFxuICogICAgICAgYmlvOiBmb3JtRGF0YS5iaW8sXG4gKiAgICAgICBhdmF0YXI6IGZvcm1EYXRhLmF2YXRhcixcbiAqICAgICAgIGNpdHk6IGZvcm1EYXRhLmNpdHksXG4gKiAgICAgICBzb2JlckRhdGU6IGZvcm1EYXRhLnNvYmVyRGF0ZSxcbiAqICAgICB9KTtcbiAqICAgfTtcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0+XG4gKiAgICAgICA8aW5wdXQgbmFtZT1cIm5hbWVcIiAvPlxuICogICAgICAgPHRleHRhcmVhIG5hbWU9XCJiaW9cIiAvPlxuICogICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgZGlzYWJsZWQ9e2lzUGVuZGluZ30+XG4gKiAgICAgICAgIHtpc1BlbmRpbmcgPyAnU2F2aW5nLi4uJyA6ICdTYXZlIFByb2ZpbGUnfVxuICogICAgICAgPC9idXR0b24+XG4gKiAgICAgICB7ZXJyb3IgJiYgPHAgY2xhc3NOYW1lPVwiZXJyb3JcIj57ZXJyb3IubWVzc2FnZX08L3A+fVxuICogICAgIDwvZm9ybT5cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBVcGRhdGUgc3BlY2lmaWMgZmllbGRzOlxuICogYGBgdHN4XG4gKiBmdW5jdGlvbiBBdmF0YXJVcGxvYWRlcigpIHtcbiAqICAgY29uc3QgeyBtdXRhdGVBc3luYzogdXBkYXRlUHJvZmlsZSB9ID0gdXNlVXBkYXRlQ3VycmVudFVzZXIoKTtcbiAqXG4gKiAgIGNvbnN0IGhhbmRsZUF2YXRhckNoYW5nZSA9IGFzeW5jIChmaWxlOiBGaWxlKSA9PiB7XG4gKiAgICAgY29uc3QgdXBsb2FkZWRVcmwgPSBhd2FpdCB1cGxvYWRJbWFnZShmaWxlKTtcbiAqICAgICBhd2FpdCB1cGRhdGVQcm9maWxlKHsgYXZhdGFyOiB1cGxvYWRlZFVybCB9KTtcbiAqICAgICB0b2FzdC5zdWNjZXNzKCdBdmF0YXIgdXBkYXRlZCEnKTtcbiAqICAgfTtcbiAqXG4gKiAgIHJldHVybiA8SW1hZ2VQaWNrZXIgb25TZWxlY3Q9e2hhbmRsZUF2YXRhckNoYW5nZX0gLz47XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogVXBkYXRlIHNvYmVyIGRhdGU6XG4gKiBgYGB0c3hcbiAqIGZ1bmN0aW9uIFNvYmVyRGF0ZVBpY2tlcigpIHtcbiAqICAgY29uc3QgeyBtdXRhdGU6IHVwZGF0ZVByb2ZpbGUgfSA9IHVzZVVwZGF0ZUN1cnJlbnRVc2VyKCk7XG4gKiAgIGNvbnN0IHsgZGF0YTogdXNlciB9ID0gdXNlQ3VycmVudFVzZXIoKTtcbiAqXG4gKiAgIGNvbnN0IGhhbmRsZURhdGVDaGFuZ2UgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICogICAgIHVwZGF0ZVByb2ZpbGUoe1xuICogICAgICAgc29iZXJEYXRlOiBkYXRlLnRvSVNPU3RyaW5nKCksXG4gKiAgICAgfSk7XG4gKiAgIH07XG4gKlxuICogICByZXR1cm4gKFxuICogICAgIDxEYXRlUGlja2VyXG4gKiAgICAgICB2YWx1ZT17dXNlcj8uc29iZXJEYXRlfVxuICogICAgICAgb25DaGFuZ2U9e2hhbmRsZURhdGVDaGFuZ2V9XG4gKiAgICAgLz5cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcGRhdGVDdXJyZW50VXNlcihcbiAgb3B0aW9ucz86IE9taXQ8VXNlTXV0YXRpb25PcHRpb25zPFVzZXJSZXNwb25zZSwgRXJyb3IsIFVwZGF0ZVVzZXJSZXF1ZXN0PiwgJ211dGF0aW9uRm4nPlxuKTogVXNlTXV0YXRpb25SZXN1bHQ8VXNlclJlc3BvbnNlLCBFcnJvciwgVXBkYXRlVXNlclJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IFVwZGF0ZVVzZXJSZXF1ZXN0KTogUHJvbWlzZTxVc2VyUmVzcG9uc2U+ID0+IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IGdldEFwaUNsaWVudCgpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjbGllbnQucHV0PFVzZXJSZXNwb25zZT4oJy9hcGkvdjEvdXNlcnMvbWUnLCBkYXRhKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0sXG4gICAgb25TdWNjZXNzOiAoZGF0YSwgdmFyaWFibGVzLCBjb250ZXh0KSA9PiB7XG4gICAgICAvLyBJbnZhbGlkYXRlIGN1cnJlbnQgdXNlciBxdWVyeSB0byB0cmlnZ2VyIHJlZmV0Y2ggd2l0aCB1cGRhdGVkIGRhdGFcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHVzZXJLZXlzLm1lKCkgfSk7XG5cbiAgICAgIC8vIEFsc28gaW52YWxpZGF0ZSB0aGUgZGV0YWlsIHF1ZXJ5IGZvciB0aGlzIHVzZXIgaWYgdGhleSd2ZSB2aWV3ZWQgdGhlaXIgb3duIHByb2ZpbGVcbiAgICAgIGlmIChkYXRhLmlkKSB7XG4gICAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHVzZXJLZXlzLmRldGFpbChkYXRhLmlkKSB9KTtcbiAgICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogdXNlcktleXMucHVibGljKGRhdGEuaWQpIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICAgIC8vIFVzZXIncyBvblN1Y2Nlc3MgaXMgaGFuZGxlZCBieSBzcHJlYWRpbmcgb3B0aW9uc1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogQ29tcGxldGUgdXNlciBvbmJvYXJkaW5nXG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKiBNYXJrcyB0aGUgdXNlcidzIG9uYm9hcmRpbmcgcHJvY2VzcyBhcyBjb21wbGV0ZS5cbiAqIFRoaXMgaXMgdHlwaWNhbGx5IGNhbGxlZCBhZnRlciBhIHVzZXIgY29tcGxldGVzIGFsbCByZXF1aXJlZCBvbmJvYXJkaW5nIHN0ZXBzXG4gKiAoZS5nLiwgc2V0dGluZyB1cCBwcm9maWxlLCBzZWxlY3RpbmcgaW50ZXJlc3RzLCBzZXR0aW5nIHNvYmVyIGRhdGUpLlxuICogVXBkYXRlcyB0aGUgdXNlcidzIG9uYm9hcmRpbmdDb21wbGV0ZWQgZmxhZyBhbmQgdW5sb2NrcyBmdWxsIGFwcCBhY2Nlc3MuXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2FwaS92MS91c2Vycy9tZS9jb21wbGV0ZS1vbmJvYXJkaW5nXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzeFxuICogaW1wb3J0IHsgdXNlQ29tcGxldGVPbmJvYXJkaW5nIH0gZnJvbSAnQGdyb3dzb2Jlci9zZGsnO1xuICpcbiAqIGZ1bmN0aW9uIE9uYm9hcmRpbmdGaW5hbFN0ZXAoKSB7XG4gKiAgIGNvbnN0IHsgbXV0YXRlOiBjb21wbGV0ZU9uYm9hcmRpbmcsIGlzUGVuZGluZyB9ID0gdXNlQ29tcGxldGVPbmJvYXJkaW5nKHtcbiAqICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAqICAgICAgIHRvYXN0LnN1Y2Nlc3MoJ1dlbGNvbWUgdG8gR3Jvd1NvYmVyIScpO1xuICogICAgICAgbmF2aWdhdGlvbi5uYXZpZ2F0ZSgnSG9tZScpO1xuICogICAgIH0sXG4gKiAgICAgb25FcnJvcjogKGVycm9yKSA9PiB7XG4gKiAgICAgICB0b2FzdC5lcnJvcignRmFpbGVkIHRvIGNvbXBsZXRlIG9uYm9hcmRpbmc6ICcgKyBlcnJvci5tZXNzYWdlKTtcbiAqICAgICB9LFxuICogICB9KTtcbiAqXG4gKiAgIGNvbnN0IGhhbmRsZUZpbmlzaCA9ICgpID0+IHtcbiAqICAgICBjb21wbGV0ZU9uYm9hcmRpbmcoKTtcbiAqICAgfTtcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPGRpdj5cbiAqICAgICAgIDxoMT5Zb3UncmUgQWxsIFNldCE8L2gxPlxuICogICAgICAgPHA+UmVhZHkgdG8gc3RhcnQgeW91ciBzb2JlciBqb3VybmV5PzwvcD5cbiAqICAgICAgIDxidXR0b24gb25DbGljaz17aGFuZGxlRmluaXNofSBkaXNhYmxlZD17aXNQZW5kaW5nfT5cbiAqICAgICAgICAge2lzUGVuZGluZyA/ICdTZXR0aW5nIHVwLi4uJyA6ICdHZXQgU3RhcnRlZCd9XG4gKiAgICAgICA8L2J1dHRvbj5cbiAqICAgICA8L2Rpdj5cbiAqICAgKTtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBNdWx0aS1zdGVwIG9uYm9hcmRpbmcgd2l0aCB2YWxpZGF0aW9uOlxuICogYGBgdHN4XG4gKiBmdW5jdGlvbiBPbmJvYXJkaW5nRmxvdygpIHtcbiAqICAgY29uc3QgW2N1cnJlbnRTdGVwLCBzZXRDdXJyZW50U3RlcF0gPSB1c2VTdGF0ZSgxKTtcbiAqICAgY29uc3QgeyBtdXRhdGVBc3luYzogY29tcGxldGVPbmJvYXJkaW5nIH0gPSB1c2VDb21wbGV0ZU9uYm9hcmRpbmcoKTtcbiAqICAgY29uc3QgeyBkYXRhOiB1c2VyIH0gPSB1c2VDdXJyZW50VXNlcigpO1xuICpcbiAqICAgY29uc3QgaGFuZGxlQ29tcGxldGUgPSBhc3luYyAoKSA9PiB7XG4gKiAgICAgLy8gVmFsaWRhdGUgYWxsIHJlcXVpcmVkIGZpZWxkcyBhcmUgZmlsbGVkXG4gKiAgICAgaWYgKCF1c2VyPy5uYW1lIHx8ICF1c2VyPy5zb2JlckRhdGUgfHwgIXVzZXI/LmNpdHkpIHtcbiAqICAgICAgIHRvYXN0LmVycm9yKCdQbGVhc2UgY29tcGxldGUgYWxsIHJlcXVpcmVkIGZpZWxkcycpO1xuICogICAgICAgcmV0dXJuO1xuICogICAgIH1cbiAqXG4gKiAgICAgdHJ5IHtcbiAqICAgICAgIGF3YWl0IGNvbXBsZXRlT25ib2FyZGluZygpO1xuICogICAgICAgLy8gVXNlciB3aWxsIGJlIHJlZGlyZWN0ZWQgdmlhIG9uU3VjY2VzcyBjYWxsYmFja1xuICogICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gKiAgICAgICBjb25zb2xlLmVycm9yKCdPbmJvYXJkaW5nIGVycm9yOicsIGVycm9yKTtcbiAqICAgICB9XG4gKiAgIH07XG4gKlxuICogICByZXR1cm4gKFxuICogICAgIDxkaXY+XG4gKiAgICAgICB7Y3VycmVudFN0ZXAgPT09IDEgJiYgPFByb2ZpbGVTZXR1cCBvbk5leHQ9eygpID0+IHNldEN1cnJlbnRTdGVwKDIpfSAvPn1cbiAqICAgICAgIHtjdXJyZW50U3RlcCA9PT0gMiAmJiA8SW50ZXJlc3RTZWxlY3Rpb24gb25OZXh0PXsoKSA9PiBzZXRDdXJyZW50U3RlcCgzKX0gLz59XG4gKiAgICAgICB7Y3VycmVudFN0ZXAgPT09IDMgJiYgPFNvYmVyRGF0ZVNldHVwIG9uTmV4dD17aGFuZGxlQ29tcGxldGV9IC8+fVxuICogICAgIDwvZGl2PlxuICogICApO1xuICogfVxuICogYGBgXG4gKlxuICogQGV4YW1wbGVcbiAqIENoZWNrIG9uYm9hcmRpbmcgc3RhdHVzOlxuICogYGBgdHN4XG4gKiBmdW5jdGlvbiBBcHBOYXZpZ2F0b3IoKSB7XG4gKiAgIGNvbnN0IHsgZGF0YTogdXNlciwgaXNMb2FkaW5nIH0gPSB1c2VDdXJyZW50VXNlcigpO1xuICpcbiAqICAgaWYgKGlzTG9hZGluZykgcmV0dXJuIDxTcGxhc2hTY3JlZW4gLz47XG4gKlxuICogICAvLyBSZWRpcmVjdCB0byBvbmJvYXJkaW5nIGlmIG5vdCBjb21wbGV0ZWRcbiAqICAgaWYgKHVzZXIgJiYgIXVzZXIub25ib2FyZGluZ0NvbXBsZXRlZCkge1xuICogICAgIHJldHVybiA8T25ib2FyZGluZ0Zsb3cgLz47XG4gKiAgIH1cbiAqXG4gKiAgIHJldHVybiA8TWFpbkFwcCAvPjtcbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiBXaXRoIGFuYWx5dGljcyB0cmFja2luZzpcbiAqIGBgYHRzeFxuICogY29uc3QgeyBtdXRhdGU6IGNvbXBsZXRlT25ib2FyZGluZyB9ID0gdXNlQ29tcGxldGVPbmJvYXJkaW5nKHtcbiAqICAgb25TdWNjZXNzOiAoZGF0YSkgPT4ge1xuICogICAgIGFuYWx5dGljcy50cmFjaygnT25ib2FyZGluZyBDb21wbGV0ZWQnLCB7XG4gKiAgICAgICB1c2VySWQ6IGRhdGEuaWQsXG4gKiAgICAgICBjb21wbGV0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICogICAgICAgcHJvZmlsZUNvbXBsZXRlOiAhIWRhdGEuYmlvICYmICEhZGF0YS5hdmF0YXIsXG4gKiAgICAgfSk7XG4gKiAgICAgbmF2aWdhdGlvbi5uYXZpZ2F0ZSgnSG9tZScpO1xuICogICB9LFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqIEByZXR1cm5zIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29tcGxldGVPbmJvYXJkaW5nKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8VXNlclJlc3BvbnNlLCBFcnJvciwgdm9pZD4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PFVzZXJSZXNwb25zZSwgRXJyb3IsIHZvaWQ+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKCk6IFByb21pc2U8VXNlclJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8VXNlclJlc3BvbnNlPignL2FwaS92MS91c2Vycy9tZS9jb21wbGV0ZS1vbmJvYXJkaW5nJyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9LFxuICAgIG9uU3VjY2VzczogKGRhdGEsIHZhcmlhYmxlcywgY29udGV4dCkgPT4ge1xuICAgICAgLy8gSW52YWxpZGF0ZSBjdXJyZW50IHVzZXIgcXVlcnkgdG8gdHJpZ2dlciByZWZldGNoIHdpdGggdXBkYXRlZCBvbmJvYXJkaW5nIHN0YXR1c1xuICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogdXNlcktleXMubWUoKSB9KTtcblxuICAgICAgLy8gQWxzbyBpbnZhbGlkYXRlIHRoZSBkZXRhaWwgcXVlcnkgZm9yIHRoaXMgdXNlclxuICAgICAgaWYgKGRhdGEuaWQpIHtcbiAgICAgICAgcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoeyBxdWVyeUtleTogdXNlcktleXMuZGV0YWlsKGRhdGEuaWQpIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBDYWxsIHVzZXIncyBvblN1Y2Nlc3MgaWYgcHJvdmlkZWRcbiAgICAgIC8vIFVzZXIncyBvblN1Y2Nlc3MgaXMgaGFuZGxlZCBieSBzcHJlYWRpbmcgb3B0aW9uc1xuICAgIH0sXG4gICAgLi4ub3B0aW9ucyxcbiAgfSk7XG59XG5cbi8qKlxuICogU2VuZCBPVFAgdG8gdmVyaWZ5IHBob25lIG51bWJlciBmb3IgYXV0aGVudGljYXRlZCB1c2VyXG4gKlxuICogQGVuZHBvaW50IFBPU1QgL2FwaS92MS91c2Vycy9tZS9waG9uZS9zZW5kLW90cFxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gb3B0aW9uc1xuICogQHJldHVybnMgVGFuU3RhY2sgUXVlcnkgbXV0YXRpb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTZW5kVXNlclBob25lT3RwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8T3RwU2VudFJlc3BvbnNlLCBFcnJvciwgU2VuZE90cFJlcXVlc3Q+LCAnbXV0YXRpb25Gbic+XG4pOiBVc2VNdXRhdGlvblJlc3VsdDxPdHBTZW50UmVzcG9uc2UsIEVycm9yLCBTZW5kT3RwUmVxdWVzdD4ge1xuICByZXR1cm4gdXNlTXV0YXRpb24oe1xuICAgIG11dGF0aW9uRm46IGFzeW5jIChkYXRhOiBTZW5kT3RwUmVxdWVzdCk6IFByb21pc2U8T3RwU2VudFJlc3BvbnNlPiA9PiB7XG4gICAgICBjb25zdCBjbGllbnQgPSBnZXRBcGlDbGllbnQoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LnBvc3Q8T3RwU2VudFJlc3BvbnNlPignL2FwaS92MS91c2Vycy9tZS9waG9uZS9zZW5kLW90cCcsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICAuLi5vcHRpb25zLFxuICB9KTtcbn1cblxuLyoqXG4gKiBWZXJpZnkgT1RQIGFuZCB1cGRhdGUgcGhvbmUgbnVtYmVyIGZvciBhdXRoZW50aWNhdGVkIHVzZXJcbiAqXG4gKiBAZW5kcG9pbnQgUE9TVCAvYXBpL3YxL3VzZXJzL21lL3Bob25lL3ZlcmlmeS1vdHBcbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIG9wdGlvbnNcbiAqIEByZXR1cm5zIFRhblN0YWNrIFF1ZXJ5IG11dGF0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlVmVyaWZ5VXNlclBob25lT3RwKFxuICBvcHRpb25zPzogT21pdDxVc2VNdXRhdGlvbk9wdGlvbnM8VXNlclJlc3BvbnNlLCBFcnJvciwgVXNlclZlcmlmeVBob25lT3RwUmVxdWVzdD4sICdtdXRhdGlvbkZuJz5cbik6IFVzZU11dGF0aW9uUmVzdWx0PFVzZXJSZXNwb25zZSwgRXJyb3IsIFVzZXJWZXJpZnlQaG9uZU90cFJlcXVlc3Q+IHtcbiAgY29uc3QgcXVlcnlDbGllbnQgPSB1c2VRdWVyeUNsaWVudCgpO1xuXG4gIHJldHVybiB1c2VNdXRhdGlvbih7XG4gICAgbXV0YXRpb25GbjogYXN5bmMgKGRhdGE6IFVzZXJWZXJpZnlQaG9uZU90cFJlcXVlc3QpOiBQcm9taXNlPFVzZXJSZXNwb25zZT4gPT4ge1xuICAgICAgY29uc3QgY2xpZW50ID0gZ2V0QXBpQ2xpZW50KCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0PFVzZXJSZXNwb25zZT4oJy9hcGkvdjEvdXNlcnMvbWUvcGhvbmUvdmVyaWZ5LW90cCcsIGRhdGEpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSxcbiAgICBvblN1Y2Nlc3M6IChkYXRhLCB2YXJpYWJsZXMsIGNvbnRleHQpID0+IHtcbiAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHVzZXJLZXlzLm1lKCkgfSk7XG5cbiAgICAgIGlmIChkYXRhLmlkKSB7XG4gICAgICAgIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKHsgcXVlcnlLZXk6IHVzZXJLZXlzLmRldGFpbChkYXRhLmlkKSB9KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIC4uLm9wdGlvbnMsXG4gIH0pO1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -10,7 +10,12 @@
|
|
|
10
10
|
import { useMutation, UseMutationOptions, UseMutationResult, useQueryClient } from '@tanstack/react-query';
|
|
11
11
|
import { getApiClient } from '../client';
|
|
12
12
|
import { userKeys } from '../queries/users';
|
|
13
|
-
import type { UpdateUserRequest, UserResponse } from '../types';
|
|
13
|
+
import type { UpdateUserRequest, UserResponse, SendOtpRequest, OtpSentResponse } from '../types';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Request type for verifying a user's phone OTP (no name field needed)
|
|
17
|
+
*/
|
|
18
|
+
export type UserVerifyPhoneOtpRequest = { phone: string; code: string };
|
|
14
19
|
|
|
15
20
|
// ============================================================================
|
|
16
21
|
// MUTATION HOOKS
|
|
@@ -269,3 +274,54 @@ export function useCompleteOnboarding(
|
|
|
269
274
|
...options,
|
|
270
275
|
});
|
|
271
276
|
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Send OTP to verify phone number for authenticated user
|
|
280
|
+
*
|
|
281
|
+
* @endpoint POST /api/v1/users/me/phone/send-otp
|
|
282
|
+
*
|
|
283
|
+
* @param options - TanStack Query mutation options
|
|
284
|
+
* @returns TanStack Query mutation result
|
|
285
|
+
*/
|
|
286
|
+
export function useSendUserPhoneOtp(
|
|
287
|
+
options?: Omit<UseMutationOptions<OtpSentResponse, Error, SendOtpRequest>, 'mutationFn'>
|
|
288
|
+
): UseMutationResult<OtpSentResponse, Error, SendOtpRequest> {
|
|
289
|
+
return useMutation({
|
|
290
|
+
mutationFn: async (data: SendOtpRequest): Promise<OtpSentResponse> => {
|
|
291
|
+
const client = getApiClient();
|
|
292
|
+
const response = await client.post<OtpSentResponse>('/api/v1/users/me/phone/send-otp', data);
|
|
293
|
+
return response.data;
|
|
294
|
+
},
|
|
295
|
+
...options,
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Verify OTP and update phone number for authenticated user
|
|
301
|
+
*
|
|
302
|
+
* @endpoint POST /api/v1/users/me/phone/verify-otp
|
|
303
|
+
*
|
|
304
|
+
* @param options - TanStack Query mutation options
|
|
305
|
+
* @returns TanStack Query mutation result
|
|
306
|
+
*/
|
|
307
|
+
export function useVerifyUserPhoneOtp(
|
|
308
|
+
options?: Omit<UseMutationOptions<UserResponse, Error, UserVerifyPhoneOtpRequest>, 'mutationFn'>
|
|
309
|
+
): UseMutationResult<UserResponse, Error, UserVerifyPhoneOtpRequest> {
|
|
310
|
+
const queryClient = useQueryClient();
|
|
311
|
+
|
|
312
|
+
return useMutation({
|
|
313
|
+
mutationFn: async (data: UserVerifyPhoneOtpRequest): Promise<UserResponse> => {
|
|
314
|
+
const client = getApiClient();
|
|
315
|
+
const response = await client.post<UserResponse>('/api/v1/users/me/phone/verify-otp', data);
|
|
316
|
+
return response.data;
|
|
317
|
+
},
|
|
318
|
+
onSuccess: (data, variables, context) => {
|
|
319
|
+
queryClient.invalidateQueries({ queryKey: userKeys.me() });
|
|
320
|
+
|
|
321
|
+
if (data.id) {
|
|
322
|
+
queryClient.invalidateQueries({ queryKey: userKeys.detail(data.id) });
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
...options,
|
|
326
|
+
});
|
|
327
|
+
}
|