@gofynd/fdk-client-javascript 1.4.15-beta.2 → 1.4.15-beta.4

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.
Files changed (118) hide show
  1. package/README.md +2 -2
  2. package/application.d.ts +1 -2
  3. package/application.js +2 -3
  4. package/index.d.ts +1 -2
  5. package/index.js +7 -1
  6. package/package.json +2 -3
  7. package/sdk/application/ApplicationClient.js +0 -18
  8. package/sdk/application/Cart/CartApplicationClient.d.ts +55 -90
  9. package/sdk/application/Cart/CartApplicationClient.js +27 -1203
  10. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +80 -142
  11. package/sdk/application/Catalog/CatalogApplicationClient.js +40 -1344
  12. package/sdk/application/Common/CommonApplicationClient.d.ts +4 -8
  13. package/sdk/application/Common/CommonApplicationClient.js +2 -92
  14. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +6 -19
  15. package/sdk/application/Communication/CommunicationApplicationClient.js +3 -148
  16. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +32 -73
  17. package/sdk/application/Configuration/ConfigurationApplicationClient.js +16 -727
  18. package/sdk/application/Content/ContentApplicationClient.d.ts +46 -78
  19. package/sdk/application/Content/ContentApplicationClient.js +23 -941
  20. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +6 -11
  21. package/sdk/application/FileStorage/FileStorageApplicationClient.js +4 -134
  22. package/sdk/application/Lead/LeadApplicationClient.d.ts +10 -18
  23. package/sdk/application/Lead/LeadApplicationClient.js +5 -217
  24. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +22 -39
  25. package/sdk/application/Logistic/LogisticApplicationClient.js +11 -496
  26. package/sdk/application/Order/OrderApplicationClient.d.ts +22 -42
  27. package/sdk/application/Order/OrderApplicationClient.js +11 -505
  28. package/sdk/application/Payment/PaymentApplicationClient.d.ts +92 -212
  29. package/sdk/application/Payment/PaymentApplicationClient.js +46 -2106
  30. package/sdk/application/Rewards/RewardsApplicationClient.d.ts +14 -28
  31. package/sdk/application/Rewards/RewardsApplicationClient.js +7 -311
  32. package/sdk/application/Share/ShareApplicationClient.d.ts +14 -24
  33. package/sdk/application/Share/ShareApplicationClient.js +7 -309
  34. package/sdk/application/Theme/ThemeApplicationClient.d.ts +8 -14
  35. package/sdk/application/Theme/ThemeApplicationClient.js +4 -174
  36. package/sdk/application/User/UserApplicationClient.d.ts +85 -136
  37. package/sdk/application/User/UserApplicationClient.js +42 -1818
  38. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +2 -5
  39. package/sdk/application/Webhook/WebhookApplicationClient.js +1 -50
  40. package/sdk/application/index.d.ts +0 -18
  41. package/sdk/application/index.js +0 -33
  42. package/sdk/partner/OAuthClient.js +1 -0
  43. package/sdk/platform/Cart/CartPlatformModel.d.ts +7 -0
  44. package/sdk/platform/Cart/CartPlatformModel.js +3 -0
  45. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +0 -7
  46. package/sdk/platform/Catalog/CatalogPlatformModel.js +0 -3
  47. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +7 -0
  48. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +3 -0
  49. package/sdk/public/Configuration/ConfigurationPublicClient.js +4 -2
  50. package/sdk/public/Content/ContentPublicClient.js +4 -2
  51. package/sdk/public/Partner/PartnerPublicClient.js +4 -2
  52. package/sdk/public/Webhook/WebhookPublicClient.js +4 -2
  53. package/sdk/application/Cart/CartApplicationModel.d.ts +0 -3994
  54. package/sdk/application/Cart/CartApplicationModel.js +0 -2497
  55. package/sdk/application/Cart/CartApplicationValidator.d.ts +0 -769
  56. package/sdk/application/Cart/CartApplicationValidator.js +0 -530
  57. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +0 -3857
  58. package/sdk/application/Catalog/CatalogApplicationModel.js +0 -2629
  59. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +0 -791
  60. package/sdk/application/Catalog/CatalogApplicationValidator.js +0 -551
  61. package/sdk/application/Common/CommonApplicationModel.d.ts +0 -449
  62. package/sdk/application/Common/CommonApplicationModel.js +0 -308
  63. package/sdk/application/Common/CommonApplicationValidator.d.ts +0 -46
  64. package/sdk/application/Common/CommonApplicationValidator.js +0 -38
  65. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +0 -293
  66. package/sdk/application/Communication/CommunicationApplicationModel.js +0 -201
  67. package/sdk/application/Communication/CommunicationApplicationValidator.d.ts +0 -29
  68. package/sdk/application/Communication/CommunicationApplicationValidator.js +0 -38
  69. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +0 -2556
  70. package/sdk/application/Configuration/ConfigurationApplicationModel.js +0 -1887
  71. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +0 -179
  72. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +0 -176
  73. package/sdk/application/Content/ContentApplicationModel.d.ts +0 -2133
  74. package/sdk/application/Content/ContentApplicationModel.js +0 -1589
  75. package/sdk/application/Content/ContentApplicationValidator.d.ts +0 -284
  76. package/sdk/application/Content/ContentApplicationValidator.js +0 -264
  77. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +0 -272
  78. package/sdk/application/FileStorage/FileStorageApplicationModel.js +0 -190
  79. package/sdk/application/FileStorage/FileStorageApplicationValidator.d.ts +0 -56
  80. package/sdk/application/FileStorage/FileStorageApplicationValidator.js +0 -53
  81. package/sdk/application/Lead/LeadApplicationModel.d.ts +0 -590
  82. package/sdk/application/Lead/LeadApplicationModel.js +0 -480
  83. package/sdk/application/Lead/LeadApplicationValidator.d.ts +0 -68
  84. package/sdk/application/Lead/LeadApplicationValidator.js +0 -71
  85. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +0 -1675
  86. package/sdk/application/Logistic/LogisticApplicationModel.js +0 -1121
  87. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +0 -254
  88. package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -190
  89. package/sdk/application/Order/OrderApplicationModel.d.ts +0 -2296
  90. package/sdk/application/Order/OrderApplicationModel.js +0 -1471
  91. package/sdk/application/Order/OrderApplicationValidator.d.ts +0 -265
  92. package/sdk/application/Order/OrderApplicationValidator.js +0 -197
  93. package/sdk/application/Payment/PaymentApplicationModel.d.ts +0 -4058
  94. package/sdk/application/Payment/PaymentApplicationModel.js +0 -2630
  95. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +0 -576
  96. package/sdk/application/Payment/PaymentApplicationValidator.js +0 -594
  97. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +0 -365
  98. package/sdk/application/Rewards/RewardsApplicationModel.js +0 -396
  99. package/sdk/application/Rewards/RewardsApplicationValidator.d.ts +0 -73
  100. package/sdk/application/Rewards/RewardsApplicationValidator.js +0 -84
  101. package/sdk/application/Share/ShareApplicationModel.d.ts +0 -339
  102. package/sdk/application/Share/ShareApplicationModel.js +0 -234
  103. package/sdk/application/Share/ShareApplicationValidator.d.ts +0 -90
  104. package/sdk/application/Share/ShareApplicationValidator.js +0 -91
  105. package/sdk/application/Theme/ThemeApplicationModel.d.ts +0 -1713
  106. package/sdk/application/Theme/ThemeApplicationModel.js +0 -1426
  107. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +0 -66
  108. package/sdk/application/Theme/ThemeApplicationValidator.js +0 -58
  109. package/sdk/application/User/UserApplicationModel.d.ts +0 -1943
  110. package/sdk/application/User/UserApplicationModel.js +0 -1382
  111. package/sdk/application/User/UserApplicationValidator.d.ts +0 -560
  112. package/sdk/application/User/UserApplicationValidator.js +0 -573
  113. package/sdk/application/Webhook/WebhookApplicationModel.d.ts +0 -52
  114. package/sdk/application/Webhook/WebhookApplicationModel.js +0 -46
  115. package/sdk/application/Webhook/WebhookApplicationValidator.d.ts +0 -16
  116. package/sdk/application/Webhook/WebhookApplicationValidator.js +0 -19
  117. package/sdk/common/Clickstream.d.ts +0 -1
  118. package/sdk/common/Clickstream.js +0 -464
@@ -1,1382 +0,0 @@
1
- const Joi = require("joi");
2
-
3
- /**
4
- * @typedef UpdateUserAttributesRequest
5
- * @property {Object} [attributes] - Describes the request structure to update
6
- * the user attribute.
7
- */
8
-
9
- /**
10
- * @typedef UserAttributes
11
- * @property {Object} [attributes] - Describes the structure of user attribute.
12
- */
13
-
14
- /**
15
- * @typedef DeleteApplicationUserRequestSchema
16
- * @property {string} [user_id] - User id for the application user.
17
- * @property {string} [reason] - Reason to delete the application user.
18
- * @property {string} [reason_id] - Reason id of request to delete the application user .
19
- * @property {string} [request_id] - ID of request to delete the application user .
20
- * @property {string} [otp] - OTP to verify the delete application user request.
21
- */
22
-
23
- /**
24
- * @typedef EditEmailRequestSchema
25
- * @property {string} [email] - Email of the user.
26
- */
27
-
28
- /**
29
- * @typedef SendVerificationLinkMobileRequestSchema
30
- * @property {boolean} [verified] - Boolean to specify if the phone number is
31
- * verified or not.
32
- * @property {boolean} [active] - Boolean to specify if the phone number is active or not.
33
- * @property {string} [country_code] - Country code for the phone number.
34
- * @property {string} [phone] - Phone number.
35
- * @property {boolean} [primary] - Boolean to specify if the phone number is
36
- * primary or not.
37
- */
38
-
39
- /**
40
- * @typedef EditMobileRequestSchema
41
- * @property {string} [country_code] - Country code for the phone number.
42
- * @property {string} [phone] - Phone number of user.
43
- */
44
-
45
- /**
46
- * @typedef EditProfileRequestSchema
47
- * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP.
48
- * @property {string} [first_name] - First name of the application user.
49
- * @property {string} [last_name] - Last name of the application user.
50
- * @property {EditProfileMobileSchema} [mobile]
51
- * @property {string} [country_code] - Country code for the phone number.
52
- * @property {string} [email] - Email id of user.
53
- * @property {string} [gender] - Gender of user.
54
- * @property {string} [dob] - Date of birth of user.
55
- * @property {string} [profile_pic_url] - Profile picture of user.
56
- * @property {string} [android_hash] - Unique hash value.
57
- * @property {string} [sender] - Identity of the sender.
58
- * @property {string} [register_token] - Unique temporary registration of the user.
59
- */
60
-
61
- /**
62
- * @typedef EditProfileMobileSchema
63
- * @property {string} [phone] - Phone number of user.
64
- * @property {string} [country_code] - Country code for the phone number.
65
- */
66
-
67
- /**
68
- * @typedef SendEmailOtpRequestSchema
69
- * @property {string} [email] - Email of a user to send email OTP.
70
- * @property {string} [action] - Action to specify if to send or resent the OTP.
71
- * @property {string} [token] - Token to validate the request.
72
- * @property {string} [register_token] - Unique temporary registration of the user.
73
- */
74
-
75
- /**
76
- * @typedef SendEmailForgotOtpRequestSchema
77
- * @property {string} [email] - Email of a user to send email OTP.
78
- * @property {string} [action] - Action to specify if to send or resent the OTP.
79
- * @property {string} [token] - Token to validate the request.
80
- */
81
-
82
- /**
83
- * @typedef VerifyEmailOtpRequestSchema
84
- * @property {string} [email] - Email of a user to verify OTP.
85
- * @property {string} [action] - Action to verify the send or resent OTP.
86
- * @property {string} [register_token] - Unique temporary registration of the user.
87
- * @property {string} [otp] - OTP for verification.
88
- */
89
-
90
- /**
91
- * @typedef VerifyEmailForgotOtpRequestSchema
92
- * @property {string} [email] - Email id of user.
93
- * @property {string} [otp] - OTP for verification.
94
- */
95
-
96
- /**
97
- * @typedef VerifyOtpRequestSchema
98
- * @property {string} [request_id] - Unique request id for the OTP sent to mobile number.
99
- * @property {string} [register_token] - Unique temporary registration of the user.
100
- * @property {string} [otp] - OTP for verification.
101
- */
102
-
103
- /**
104
- * @typedef VerifyMobileForgotOtpRequestSchema
105
- * @property {string} [request_id] - Unique request id for the OTP.
106
- * @property {string} [otp] - OTP for verification.
107
- */
108
-
109
- /**
110
- * @typedef SendMobileOtpRequestSchema
111
- * @property {boolean} [encrypt_otp] - Set to true if you want to encrypt the OTP.
112
- * @property {string} [mobile] - Mobile number of user.
113
- * @property {string} [country_code] - Country code for the phone number.
114
- * @property {string} [action] - Action to specify if to send or resent the OTP.
115
- * @property {string} [token] - Token to validate the request.
116
- * @property {string} [android_hash] - Unique hash value.
117
- * @property {string} [force] - Force verify the OTP.
118
- */
119
-
120
- /**
121
- * @typedef SendMobileForgotOtpRequestSchema
122
- * @property {string} [mobile] - Phone number of user.
123
- * @property {string} [country_code] - Country code for the phone number.
124
- * @property {string} [action] - Action to specify if to send or resent the OTP.
125
- * @property {string} [token] - Token to validate the request.
126
- * @property {string} [android_hash] - Unique hash value.
127
- */
128
-
129
- /**
130
- * @typedef UpdatePasswordRequestSchema
131
- * @property {string} [old_password] - Old password.
132
- * @property {string} [new_password] - New password.
133
- */
134
-
135
- /**
136
- * @typedef FormRegisterRequestSchema
137
- * @property {string} [first_name] - First name of the application user.
138
- * @property {string} [last_name] - Last name of the application user.
139
- * @property {string} [gender] - Gender of user.
140
- * @property {string} [email] - Email of user.
141
- * @property {string} [password] - Password of user.
142
- * @property {FormRegisterRequestSchemaPhone} [phone]
143
- * @property {string} [register_token] - Unique registration token of user.
144
- */
145
-
146
- /**
147
- * @typedef TokenRequestBodySchema
148
- * @property {string} [token] - Unique token.
149
- */
150
-
151
- /**
152
- * @typedef ForgotPasswordRequestSchema
153
- * @property {string} [code] - Unique code to verify request.
154
- * @property {string} [password] - Password of user.
155
- */
156
-
157
- /**
158
- * @typedef CodeRequestBodySchema
159
- * @property {string} [code] - Unique code to verify request.
160
- */
161
-
162
- /**
163
- * @typedef SendResetPasswordEmailRequestSchema
164
- * @property {string} [email] - Email id of user.
165
- */
166
-
167
- /**
168
- * @typedef SendResetPasswordMobileRequestSchema
169
- * @property {string} [country_code] - Country code for the phone number.
170
- * @property {string} [mobile] - Phone number of user.
171
- */
172
-
173
- /**
174
- * @typedef PasswordLoginRequestSchema
175
- * @property {string} [password] - Password of user.
176
- * @property {string} [username] - Username of user.
177
- */
178
-
179
- /**
180
- * @typedef SendOtpRequestSchema
181
- * @property {boolean} [encrypt_otp] - Eet to true if you want to encrypt the OTP.
182
- * @property {string} [country_code] - Country code for the phone number.
183
- * @property {string} [mobile] - Phone number.
184
- * @property {string} [android_hash] - Unique hash value.
185
- */
186
-
187
- /**
188
- * @typedef OAuthRequestSchema
189
- * @property {boolean} [is_signed_in] - Boolean to specify if the user is signed in .
190
- * @property {OAuthRequestSchemaOauth2} [oauth2]
191
- * @property {OAuthRequestSchemaProfile} [profile]
192
- */
193
-
194
- /**
195
- * @typedef OAuthRequestAppleSchema
196
- * @property {string} [user_identifier] - Unique user identifier.
197
- * @property {OAuthRequestAppleSchemaOauth} [oauth]
198
- * @property {OAuthRequestAppleSchemaProfile} [profile]
199
- */
200
-
201
- /**
202
- * @typedef UserObjectSchema
203
- * @property {UserSchema} [user]
204
- */
205
-
206
- /**
207
- * @typedef AuthSuccess
208
- * @property {string} [register_token] - Unique registration token for user.
209
- * @property {boolean} [user_exists] - Boolean which specifies if user is registered.
210
- * @property {UserSchema} [user]
211
- */
212
-
213
- /**
214
- * @typedef UserExistsResponse
215
- * @property {boolean} [user_exists] - Boolean which specifies if user is
216
- * registered or not.
217
- */
218
-
219
- /**
220
- * @typedef SendOtpResponse
221
- * @property {number} [resend_timer] - Time after which opt can be resent.
222
- * @property {string} [resend_token] - Unique token to identify the OTP send
223
- * request and resend the token.
224
- * @property {boolean} [success] - Specify if the OTP is successfully sent.
225
- * @property {string} [request_id] - Unique request id for the OTP.
226
- * @property {string} [message] - Message to specify the OTP send status. Eg.
227
- * OTP sent, failed to send OTP etc.
228
- * @property {string} [mobile] - Phone number of user.
229
- * @property {string} [country_code] - Country code for the phone number.
230
- * @property {string} [email] - Email id of user.
231
- * @property {string} [resend_email_token] - Unique token to identify the OTP
232
- * send request and resend the token on email.
233
- * @property {string} [register_token] - Unique registration token for user.
234
- * @property {boolean} [verify_email_otp] - If email OTP verification is
235
- * mandatory for registration.
236
- * @property {boolean} [verify_mobile_otp] - If mobile OTP verification is
237
- * mandatory for registration.
238
- * @property {boolean} [user_exists] - If user is registered or not.
239
- */
240
-
241
- /**
242
- * @typedef ProfileEditSuccess
243
- * @property {UserSchema} [user]
244
- * @property {string} [register_token] - Unique registration token for user.
245
- * @property {string} [resend_email_token] - Unique token to identify the
246
- * request for OTP verification in case of unverified email.
247
- * @property {boolean} [user_exists] - If user is registered or not.
248
- * @property {boolean} [verify_email_link] - Whether to send a link to verify
249
- * the registered email id of the user.
250
- * @property {boolean} [verify_email_otp] - Whether to send a OTP to verify the
251
- * registered email id of the user.
252
- * @property {boolean} [verify_mobile_otp] - Whether to send a OTP to verify the
253
- * registered phone of the user.
254
- * @property {string} [email] - Email id of user.
255
- * @property {string} [request_id] - A random uuid string used to track the request.
256
- * @property {string} [country_code] - The country specific prefix for the phone number.
257
- * @property {string} [mobile] - The user's mobile number without the country code.
258
- * @property {boolean} [success] - Whether the operation was successful.
259
- * @property {string} [message] - Information about the operation's result.
260
- * @property {number} [resend_timer] - Time in seconds before an request can be resent.
261
- * @property {string} [resend_token] - A token used to authorize the resending of request.
262
- */
263
-
264
- /**
265
- * @typedef LoginSuccess
266
- * @property {UserSchema} [user]
267
- * @property {string} [request_id] - A random uuid string used to track the send
268
- * OTP response.
269
- * @property {string} [register_token] - A token used for registration purposes.
270
- */
271
-
272
- /**
273
- * @typedef ResetForgotPasswordSuccess
274
- * @property {boolean} [success] - Whether the password reset operation was successful.
275
- */
276
-
277
- /**
278
- * @typedef VerifyOtpSuccess
279
- * @property {UserSchema} [user]
280
- * @property {boolean} [user_exists] - Whether the user already exists.
281
- * @property {string} [register_token] - A token used for registration purposes.
282
- */
283
-
284
- /**
285
- * @typedef VerifyForgotOtpSuccess
286
- * @property {boolean} [success] - Whether the OTP verification was successful.
287
- * @property {string} [forgot_token] - A token used for resetting the forgotten password.
288
- */
289
-
290
- /**
291
- * @typedef ResetPasswordSuccess
292
- * @property {string} [status] - Status of the password reset operation.
293
- */
294
-
295
- /**
296
- * @typedef RegisterFormSuccess
297
- * @property {string} [email] - The email address provided during registration.
298
- * @property {number} [resend_timer] - The time in seconds before an OTP can be resent.
299
- * @property {string} [resend_token] - A token used to authorize the resending of an OTP.
300
- * @property {string} [resend_email_token] - A token used to authorize the
301
- * resending of an OTP via email.
302
- * @property {string} [register_token] - A token used for completing the
303
- * registration process.
304
- * @property {boolean} [success] - A boolean value indicating whether the
305
- * registration operation was successful.
306
- * @property {string} [request_id] - A random uuid string used to track the
307
- * registration response.
308
- * @property {string} [message] - A string containing additional information
309
- * about the operation's result.
310
- * @property {string} [mobile] - The user's phone mobile without the country code.
311
- * @property {string} [country_code] - The country specific prefix for the phone number.
312
- * @property {boolean} [verify_email_otp] - Whether email OTP verification is required.
313
- * @property {boolean} [verify_mobile_otp] - Whether mobile OTP verification is required.
314
- * @property {boolean} [user_exists] - Whether the user already exists.
315
- */
316
-
317
- /**
318
- * @typedef VerifyEmailSuccess
319
- * @property {string} [message] - Result of the email verification process.
320
- */
321
-
322
- /**
323
- * @typedef HasPasswordSuccess
324
- * @property {number} [result] - An integer value indicating whether the user
325
- * has set a password (1 for true, 0 for false).
326
- */
327
-
328
- /**
329
- * @typedef LogoutSuccess
330
- * @property {boolean} [logout] - Whether the logout operation was successful.
331
- */
332
-
333
- /**
334
- * @typedef DeleteUserSuccess
335
- * @property {boolean} [success] - Whether the user deletion operation was successful.
336
- */
337
-
338
- /**
339
- * @typedef OtpSuccess
340
- * @property {number} [resend_timer] - The time in seconds before an OTP can be resent.
341
- * @property {string} [resend_token] - A token used to authorize the resending of an OTP.
342
- * @property {string} [register_token] - A token used for completing the
343
- * registration process.
344
- * @property {boolean} [success] - Whether the OTP send operation was successful.
345
- * @property {string} [request_id] - A random uuid string used to track the OTP
346
- * send response.
347
- * @property {string} [message] - Additional information about the operation's result.
348
- * @property {string} [mobile] - The user's mobile number without the country code.
349
- * @property {string} [country_code] - The country specific prefix for the phone number.
350
- */
351
-
352
- /**
353
- * @typedef EmailOtpSuccess
354
- * @property {boolean} [success] - Whether the OTP send operation was successful.
355
- * @property {string} [resend_email_token] - A token used to authorize the
356
- * resending of an OTP via email.
357
- */
358
-
359
- /**
360
- * @typedef SessionListSuccess
361
- * @property {string[]} [sessions] - An array of active session identifiers.
362
- */
363
-
364
- /**
365
- * @typedef VerifyMobileOTPSuccess
366
- * @property {UserSchema} [user]
367
- * @property {boolean} [verify_mobile_link] - Whether the mobile number
368
- * verification link was successful.
369
- */
370
-
371
- /**
372
- * @typedef VerifyEmailOTPSuccess
373
- * @property {UserSchema} [user]
374
- * @property {boolean} [verify_email_link] - Whether the email verification link
375
- * was successful.
376
- */
377
-
378
- /**
379
- * @typedef SendMobileVerifyLinkSuccess
380
- * @property {boolean} [verify_mobile_link] - Whether the mobile verification
381
- * link was successfully sent.
382
- */
383
-
384
- /**
385
- * @typedef SendEmailVerifyLinkSuccess
386
- * @property {boolean} [verify_email_link] - Whether the email verification link
387
- * was successfully sent.
388
- */
389
-
390
- /**
391
- * @typedef APIError
392
- * @property {string} [code] - The error code representing the type of error.
393
- * @property {string} [message] - A descriptive message providing more details
394
- * about the error.
395
- * @property {string} [info] - A link to the error code description.
396
- * @property {string} [request_id] - A random uuid string used to track the api request.
397
- * @property {string} [error] - The error message or stack trace.
398
- * @property {Object} [meta] - Additional metadata associated with the error.
399
- * @property {boolean} [authenticated] - Whether the user is authenticated.
400
- */
401
-
402
- /**
403
- * @typedef FormRegisterRequestSchemaPhone
404
- * @property {string} [country_code] - Country code for mobile number.
405
- * @property {string} [mobile] - The user's mobile number without the country code.
406
- */
407
-
408
- /**
409
- * @typedef OAuthRequestSchemaOauth2
410
- * @property {string} [access_token] - The access token issued by the oauth2 provider.
411
- * @property {number} [expiry] - The expiry time of the access token in
412
- * milliseconds since epoch.
413
- * @property {string} [refresh_token] - The refresh token issued by the oauth2 provider.
414
- */
415
-
416
- /**
417
- * @typedef OAuthRequestSchemaProfile
418
- * @property {string} [last_name] - The last name of the user.
419
- * @property {string} [image] - The url of the user's profile picture.
420
- * @property {string} [id] - The unique identifier of the user.
421
- * @property {string} [email] - The email address of the user.
422
- * @property {string} [full_name] - The full name of the user.
423
- * @property {string} [first_name] - The first name of the user.
424
- */
425
-
426
- /**
427
- * @typedef OAuthRequestAppleSchemaOauth
428
- * @property {string} [identity_token] - The identity token issued by apple.
429
- */
430
-
431
- /**
432
- * @typedef OAuthRequestAppleSchemaProfile
433
- * @property {string} [last_name] - The last name of the user.
434
- * @property {string} [full_name] - The full name of the user.
435
- * @property {string} [first_name] - The first name of the user.
436
- */
437
-
438
- /**
439
- * @typedef PlatformSchema
440
- * @property {string} [display] - The display name of the platform.
441
- * @property {LookAndFeel} [look_and_feel]
442
- * @property {string} [updated_at] - The date and time when the configuration
443
- * was last updated.
444
- * @property {boolean} [active] - Is the application config active or not .
445
- * @property {boolean} [forgot_password] - Forgot password option to be given or
446
- * not to application user.
447
- * @property {Login} [login]
448
- * @property {boolean} [skip_captcha] - Skip the captcha or not .
449
- * @property {string} [name] - Name of the application.
450
- * @property {MetaSchema} [meta]
451
- * @property {string} [_id] - Unique document id of the platform config.
452
- * @property {Social} [social]
453
- * @property {RequiredFields} [required_fields]
454
- * @property {RegisterRequiredFields} [register_required_fields]
455
- * @property {boolean} [skip_login] - Whether to skip the login or not .
456
- * @property {FlashCard} [flash_card]
457
- * @property {string} [subtext] - Text to be shown at the top of the flash card
458
- * like login to fynd, login to tira.
459
- * @property {SocialTokens} [social_tokens]
460
- * @property {string} [created_at] - When was the application platform config
461
- * document was created.
462
- * @property {boolean} [register] - Whether to show the registration page on
463
- * landing page or not.
464
- * @property {string} [mobile_image] - Image to be shown on registration page
465
- * for mobile devices.
466
- * @property {string} [desktop_image] - Image to be shown on registration page
467
- * for desktop devices.
468
- * @property {number} [delete_account_day] - Number of days after which the user
469
- * account will be deleted.
470
- * @property {DeleteAccountReasons[]} [delete_account_reasons] - List of reasons
471
- * you can set to ask user when account is being deleted from application.
472
- * @property {DeleteAccountConsent} [delete_account_consent]
473
- * @property {SessionExpiry} [session_config]
474
- * @property {number} [__v] - Version of the document.
475
- */
476
-
477
- /**
478
- * @typedef LookAndFeel
479
- * @property {string} [card_position] - Position of the card eg right, left,
480
- * top-right etc.
481
- * @property {string} [background_color] - Background colour of the card.
482
- */
483
-
484
- /**
485
- * @typedef Login
486
- * @property {boolean} [password] - Application is providing login with password or not.
487
- * @property {boolean} [otp] - Application is providing login with OTP or not.
488
- */
489
-
490
- /**
491
- * @typedef MetaSchema
492
- * @property {boolean} [fynd_default] - One of the custom field that you are
493
- * storing in meta.
494
- */
495
-
496
- /**
497
- * @typedef Social
498
- * @property {boolean} [account_kit] - Is accountkit social login active for
499
- * application or not.
500
- * @property {boolean} [facebook] - Is facebook social login active for
501
- * application or not .
502
- * @property {boolean} [google] - Is google social login active for application or not .
503
- * @property {boolean} [apple] - Is apple social login active for application or not.
504
- */
505
-
506
- /**
507
- * @typedef RequiredFields
508
- * @property {PlatformEmail} [email]
509
- * @property {PlatformMobile} [mobile]
510
- */
511
-
512
- /**
513
- * @typedef PlatformEmail
514
- * @property {boolean} [is_required] - Is email mandatory for user to register
515
- * on a application or not.
516
- * @property {string} [level] - Level of email mandatory hard is mandatory and
517
- * soft is optional.
518
- */
519
-
520
- /**
521
- * @typedef PlatformMobile
522
- * @property {boolean} [is_required] - Is mobile mandatory for user to register
523
- * on a application or not.
524
- * @property {string} [level] - Level of mobile mandatory hard is mandatory and
525
- * soft is optional.
526
- */
527
-
528
- /**
529
- * @typedef RegisterRequiredFields
530
- * @property {RegisterRequiredFieldsEmail} [email]
531
- * @property {RegisterRequiredFieldsMobile} [mobile]
532
- */
533
-
534
- /**
535
- * @typedef RegisterRequiredFieldsEmail
536
- * @property {boolean} [is_required] - Is email mandatory for user to register
537
- * on a application or not.
538
- * @property {string} [level] - Level of email mandatory hard is mandatory and
539
- * soft is optional.
540
- */
541
-
542
- /**
543
- * @typedef RegisterRequiredFieldsMobile
544
- * @property {boolean} [is_required] - Is mobile mandatory for user to register
545
- * on a application or not.
546
- * @property {string} [level] - Level of mobile mandatory hard is mandatory and
547
- * soft is optional.
548
- */
549
-
550
- /**
551
- * @typedef FlashCard
552
- * @property {string} [text] - Text to be shown in the flash card.
553
- * @property {string} [text_color] - Text colour for the text in the flash card.
554
- * @property {string} [background_color] - Background colour of the text to be
555
- * shown on the flash card.
556
- */
557
-
558
- /**
559
- * @typedef SocialTokens
560
- * @property {Facebook} [facebook]
561
- * @property {Accountkit} [accountkit]
562
- * @property {Google} [google]
563
- */
564
-
565
- /**
566
- * @typedef DeleteAccountReasons
567
- * @property {string} [reason_text] - Text of the reason to be shown to user.
568
- * @property {string} [reason_id] - Unique id of the reason .
569
- * @property {boolean} [show_text_area] - A boolean whether to show text area or not.
570
- */
571
-
572
- /**
573
- * @typedef DeleteAccountConsent
574
- * @property {string} [consent_text] - Consent text to be shown to user.
575
- */
576
-
577
- /**
578
- * @typedef Facebook
579
- * @property {string} [app_id] - App id of the credentials facebook.
580
- */
581
-
582
- /**
583
- * @typedef Accountkit
584
- * @property {string} [app_id] - App id of the credentials account kit.
585
- */
586
-
587
- /**
588
- * @typedef Google
589
- * @property {string} [app_id] - App id of the credentials google.
590
- */
591
-
592
- /**
593
- * @typedef SessionExpiry
594
- * @property {number} [duration] - Number of days or hours based on type till
595
- * which the session can be rolled back.
596
- * @property {string} [type] - Days or hours the type of time for session rollback.
597
- * @property {boolean} [is_rolling] - Whether session needs to be rollback or not.
598
- */
599
-
600
- /**
601
- * @typedef UserSchema
602
- * @property {string} [application_id] - Application id of the user.
603
- * @property {string} [user_id] - Unique id of the user.
604
- * @property {string} [first_name] - First name of the user.
605
- * @property {Object} [meta] - Metadata of the user, used to store details about the user
606
- * @property {string} [last_name] - Last name of the user
607
- * @property {PhoneNumber[]} [phone_numbers] - List of phone numbers of the user.
608
- * @property {Email[]} [emails] - List of email addresses of the user.
609
- * @property {string} [gender] - Gender of the user.
610
- * @property {string} [dob] - Date of birth of the user.
611
- * @property {boolean} [active] - Is the user active.
612
- * @property {string} [profile_pic_url] - URL of the profile picture of the user.
613
- * @property {string} [username] - Unique username of the user.
614
- * @property {string} [account_type] - Type of user (user, programmatic (created
615
- * by system))
616
- * @property {string} [_id] - Unique id of the user.
617
- * @property {string} [created_at] - Date and time of user creation.
618
- * @property {string} [updated_at] - Date and time of user update.
619
- * @property {string} [external_id] - Unique id referencing any user external
620
- * documents (jio).
621
- * @property {string} [rr_id] - Unique id referencing any user external documents.
622
- */
623
-
624
- /**
625
- * @typedef PhoneNumber
626
- * @property {string} [phone] - Phone number of the user.
627
- * @property {number} [country_code] - Country code for mobile number.
628
- * @property {boolean} [active] - Is the phone number active.
629
- * @property {boolean} [primary] - Is it a primary phone number.
630
- * @property {boolean} [verified] - Is the phone number verified.
631
- */
632
-
633
- /**
634
- * @typedef Email
635
- * @property {string} [email] - Email address.
636
- * @property {boolean} [active] - Is the email active.
637
- * @property {boolean} [primary] - Is it a primary email.
638
- * @property {boolean} [verified] - Is the email verified.
639
- */
640
-
641
- class UserApplicationModel {
642
- /** @returns {UpdateUserAttributesRequest} */
643
- static UpdateUserAttributesRequest() {
644
- return Joi.object({
645
- attributes: Joi.any(),
646
- });
647
- }
648
-
649
- /** @returns {UserAttributes} */
650
- static UserAttributes() {
651
- return Joi.object({
652
- attributes: Joi.any(),
653
- });
654
- }
655
-
656
- /** @returns {DeleteApplicationUserRequestSchema} */
657
- static DeleteApplicationUserRequestSchema() {
658
- return Joi.object({
659
- user_id: Joi.string().allow(""),
660
- reason: Joi.string().allow(""),
661
- reason_id: Joi.string().allow(""),
662
- request_id: Joi.string().allow(""),
663
- otp: Joi.string().allow(""),
664
- });
665
- }
666
-
667
- /** @returns {EditEmailRequestSchema} */
668
- static EditEmailRequestSchema() {
669
- return Joi.object({
670
- email: Joi.string().allow(""),
671
- });
672
- }
673
-
674
- /** @returns {SendVerificationLinkMobileRequestSchema} */
675
- static SendVerificationLinkMobileRequestSchema() {
676
- return Joi.object({
677
- verified: Joi.boolean(),
678
- active: Joi.boolean(),
679
- country_code: Joi.string().allow(""),
680
- phone: Joi.string().allow(""),
681
- primary: Joi.boolean(),
682
- });
683
- }
684
-
685
- /** @returns {EditMobileRequestSchema} */
686
- static EditMobileRequestSchema() {
687
- return Joi.object({
688
- country_code: Joi.string().allow(""),
689
- phone: Joi.string().allow(""),
690
- });
691
- }
692
-
693
- /** @returns {EditProfileRequestSchema} */
694
- static EditProfileRequestSchema() {
695
- return Joi.object({
696
- encrypt_otp: Joi.boolean(),
697
- first_name: Joi.string().allow(""),
698
- last_name: Joi.string().allow(""),
699
- mobile: UserApplicationModel.EditProfileMobileSchema(),
700
- country_code: Joi.string().allow(""),
701
- email: Joi.string().allow(""),
702
- gender: Joi.string().allow(""),
703
- dob: Joi.string().allow(""),
704
- profile_pic_url: Joi.string().allow(""),
705
- android_hash: Joi.string().allow(""),
706
- sender: Joi.string().allow(""),
707
- register_token: Joi.string().allow(""),
708
- });
709
- }
710
-
711
- /** @returns {EditProfileMobileSchema} */
712
- static EditProfileMobileSchema() {
713
- return Joi.object({
714
- phone: Joi.string().allow(""),
715
- country_code: Joi.string().allow(""),
716
- });
717
- }
718
-
719
- /** @returns {SendEmailOtpRequestSchema} */
720
- static SendEmailOtpRequestSchema() {
721
- return Joi.object({
722
- email: Joi.string().allow(""),
723
- action: Joi.string().allow(""),
724
- token: Joi.string().allow(""),
725
- register_token: Joi.string().allow(""),
726
- });
727
- }
728
-
729
- /** @returns {SendEmailForgotOtpRequestSchema} */
730
- static SendEmailForgotOtpRequestSchema() {
731
- return Joi.object({
732
- email: Joi.string().allow(""),
733
- action: Joi.string().allow(""),
734
- token: Joi.string().allow(""),
735
- });
736
- }
737
-
738
- /** @returns {VerifyEmailOtpRequestSchema} */
739
- static VerifyEmailOtpRequestSchema() {
740
- return Joi.object({
741
- email: Joi.string().allow(""),
742
- action: Joi.string().allow(""),
743
- register_token: Joi.string().allow(""),
744
- otp: Joi.string().allow(""),
745
- });
746
- }
747
-
748
- /** @returns {VerifyEmailForgotOtpRequestSchema} */
749
- static VerifyEmailForgotOtpRequestSchema() {
750
- return Joi.object({
751
- email: Joi.string().allow(""),
752
- otp: Joi.string().allow(""),
753
- });
754
- }
755
-
756
- /** @returns {VerifyOtpRequestSchema} */
757
- static VerifyOtpRequestSchema() {
758
- return Joi.object({
759
- request_id: Joi.string().allow(""),
760
- register_token: Joi.string().allow(""),
761
- otp: Joi.string().allow(""),
762
- });
763
- }
764
-
765
- /** @returns {VerifyMobileForgotOtpRequestSchema} */
766
- static VerifyMobileForgotOtpRequestSchema() {
767
- return Joi.object({
768
- request_id: Joi.string().allow(""),
769
- otp: Joi.string().allow(""),
770
- });
771
- }
772
-
773
- /** @returns {SendMobileOtpRequestSchema} */
774
- static SendMobileOtpRequestSchema() {
775
- return Joi.object({
776
- encrypt_otp: Joi.boolean(),
777
- mobile: Joi.string().allow(""),
778
- country_code: Joi.string().allow(""),
779
- action: Joi.string().allow(""),
780
- token: Joi.string().allow(""),
781
- android_hash: Joi.string().allow(""),
782
- force: Joi.string().allow(""),
783
- });
784
- }
785
-
786
- /** @returns {SendMobileForgotOtpRequestSchema} */
787
- static SendMobileForgotOtpRequestSchema() {
788
- return Joi.object({
789
- mobile: Joi.string().allow(""),
790
- country_code: Joi.string().allow(""),
791
- action: Joi.string().allow(""),
792
- token: Joi.string().allow(""),
793
- android_hash: Joi.string().allow(""),
794
- });
795
- }
796
-
797
- /** @returns {UpdatePasswordRequestSchema} */
798
- static UpdatePasswordRequestSchema() {
799
- return Joi.object({
800
- old_password: Joi.string().allow(""),
801
- new_password: Joi.string().allow(""),
802
- });
803
- }
804
-
805
- /** @returns {FormRegisterRequestSchema} */
806
- static FormRegisterRequestSchema() {
807
- return Joi.object({
808
- first_name: Joi.string().allow(""),
809
- last_name: Joi.string().allow(""),
810
- gender: Joi.string().allow(""),
811
- email: Joi.string().allow(""),
812
- password: Joi.string().allow(""),
813
- phone: UserApplicationModel.FormRegisterRequestSchemaPhone(),
814
- register_token: Joi.string().allow(""),
815
- });
816
- }
817
-
818
- /** @returns {TokenRequestBodySchema} */
819
- static TokenRequestBodySchema() {
820
- return Joi.object({
821
- token: Joi.string().allow(""),
822
- });
823
- }
824
-
825
- /** @returns {ForgotPasswordRequestSchema} */
826
- static ForgotPasswordRequestSchema() {
827
- return Joi.object({
828
- code: Joi.string().allow(""),
829
- password: Joi.string().allow(""),
830
- });
831
- }
832
-
833
- /** @returns {CodeRequestBodySchema} */
834
- static CodeRequestBodySchema() {
835
- return Joi.object({
836
- code: Joi.string().allow(""),
837
- });
838
- }
839
-
840
- /** @returns {SendResetPasswordEmailRequestSchema} */
841
- static SendResetPasswordEmailRequestSchema() {
842
- return Joi.object({
843
- email: Joi.string().allow(""),
844
- });
845
- }
846
-
847
- /** @returns {SendResetPasswordMobileRequestSchema} */
848
- static SendResetPasswordMobileRequestSchema() {
849
- return Joi.object({
850
- country_code: Joi.string().allow(""),
851
- mobile: Joi.string().allow(""),
852
- });
853
- }
854
-
855
- /** @returns {PasswordLoginRequestSchema} */
856
- static PasswordLoginRequestSchema() {
857
- return Joi.object({
858
- password: Joi.string().allow(""),
859
- username: Joi.string().allow(""),
860
- });
861
- }
862
-
863
- /** @returns {SendOtpRequestSchema} */
864
- static SendOtpRequestSchema() {
865
- return Joi.object({
866
- encrypt_otp: Joi.boolean(),
867
- country_code: Joi.string().allow(""),
868
- mobile: Joi.string().allow(""),
869
- android_hash: Joi.string().allow(""),
870
- });
871
- }
872
-
873
- /** @returns {OAuthRequestSchema} */
874
- static OAuthRequestSchema() {
875
- return Joi.object({
876
- is_signed_in: Joi.boolean(),
877
- oauth2: UserApplicationModel.OAuthRequestSchemaOauth2(),
878
- profile: UserApplicationModel.OAuthRequestSchemaProfile(),
879
- });
880
- }
881
-
882
- /** @returns {OAuthRequestAppleSchema} */
883
- static OAuthRequestAppleSchema() {
884
- return Joi.object({
885
- user_identifier: Joi.string().allow(""),
886
- oauth: UserApplicationModel.OAuthRequestAppleSchemaOauth(),
887
- profile: UserApplicationModel.OAuthRequestAppleSchemaProfile(),
888
- });
889
- }
890
-
891
- /** @returns {UserObjectSchema} */
892
- static UserObjectSchema() {
893
- return Joi.object({
894
- user: UserApplicationModel.UserSchema(),
895
- });
896
- }
897
-
898
- /** @returns {AuthSuccess} */
899
- static AuthSuccess() {
900
- return Joi.object({
901
- register_token: Joi.string().allow(""),
902
- user_exists: Joi.boolean(),
903
- user: UserApplicationModel.UserSchema(),
904
- });
905
- }
906
-
907
- /** @returns {UserExistsResponse} */
908
- static UserExistsResponse() {
909
- return Joi.object({
910
- user_exists: Joi.boolean(),
911
- });
912
- }
913
-
914
- /** @returns {SendOtpResponse} */
915
- static SendOtpResponse() {
916
- return Joi.object({
917
- resend_timer: Joi.number(),
918
- resend_token: Joi.string().allow(""),
919
- success: Joi.boolean(),
920
- request_id: Joi.string().allow(""),
921
- message: Joi.string().allow(""),
922
- mobile: Joi.string().allow(""),
923
- country_code: Joi.string().allow(""),
924
- email: Joi.string().allow(""),
925
- resend_email_token: Joi.string().allow(""),
926
- register_token: Joi.string().allow(""),
927
- verify_email_otp: Joi.boolean(),
928
- verify_mobile_otp: Joi.boolean(),
929
- user_exists: Joi.boolean(),
930
- });
931
- }
932
-
933
- /** @returns {ProfileEditSuccess} */
934
- static ProfileEditSuccess() {
935
- return Joi.object({
936
- user: UserApplicationModel.UserSchema(),
937
- register_token: Joi.string().allow(""),
938
- resend_email_token: Joi.string().allow(""),
939
- user_exists: Joi.boolean(),
940
- verify_email_link: Joi.boolean(),
941
- verify_email_otp: Joi.boolean(),
942
- verify_mobile_otp: Joi.boolean(),
943
- email: Joi.string().allow(""),
944
- request_id: Joi.string().allow(""),
945
- country_code: Joi.string().allow(""),
946
- mobile: Joi.string().allow(""),
947
- success: Joi.boolean(),
948
- message: Joi.string().allow(""),
949
- resend_timer: Joi.number(),
950
- resend_token: Joi.string().allow(""),
951
- });
952
- }
953
-
954
- /** @returns {LoginSuccess} */
955
- static LoginSuccess() {
956
- return Joi.object({
957
- user: UserApplicationModel.UserSchema(),
958
- request_id: Joi.string().allow(""),
959
- register_token: Joi.string().allow(""),
960
- });
961
- }
962
-
963
- /** @returns {ResetForgotPasswordSuccess} */
964
- static ResetForgotPasswordSuccess() {
965
- return Joi.object({
966
- success: Joi.boolean(),
967
- });
968
- }
969
-
970
- /** @returns {VerifyOtpSuccess} */
971
- static VerifyOtpSuccess() {
972
- return Joi.object({
973
- user: UserApplicationModel.UserSchema(),
974
- user_exists: Joi.boolean(),
975
- register_token: Joi.string().allow(""),
976
- });
977
- }
978
-
979
- /** @returns {VerifyForgotOtpSuccess} */
980
- static VerifyForgotOtpSuccess() {
981
- return Joi.object({
982
- success: Joi.boolean(),
983
- forgot_token: Joi.string().allow(""),
984
- });
985
- }
986
-
987
- /** @returns {ResetPasswordSuccess} */
988
- static ResetPasswordSuccess() {
989
- return Joi.object({
990
- status: Joi.string().allow(""),
991
- });
992
- }
993
-
994
- /** @returns {RegisterFormSuccess} */
995
- static RegisterFormSuccess() {
996
- return Joi.object({
997
- email: Joi.string().allow(""),
998
- resend_timer: Joi.number(),
999
- resend_token: Joi.string().allow(""),
1000
- resend_email_token: Joi.string().allow(""),
1001
- register_token: Joi.string().allow(""),
1002
- success: Joi.boolean(),
1003
- request_id: Joi.string().allow(""),
1004
- message: Joi.string().allow(""),
1005
- mobile: Joi.string().allow(""),
1006
- country_code: Joi.string().allow(""),
1007
- verify_email_otp: Joi.boolean(),
1008
- verify_mobile_otp: Joi.boolean(),
1009
- user_exists: Joi.boolean(),
1010
- });
1011
- }
1012
-
1013
- /** @returns {VerifyEmailSuccess} */
1014
- static VerifyEmailSuccess() {
1015
- return Joi.object({
1016
- message: Joi.string().allow(""),
1017
- });
1018
- }
1019
-
1020
- /** @returns {HasPasswordSuccess} */
1021
- static HasPasswordSuccess() {
1022
- return Joi.object({
1023
- result: Joi.number(),
1024
- });
1025
- }
1026
-
1027
- /** @returns {LogoutSuccess} */
1028
- static LogoutSuccess() {
1029
- return Joi.object({
1030
- logout: Joi.boolean(),
1031
- });
1032
- }
1033
-
1034
- /** @returns {DeleteUserSuccess} */
1035
- static DeleteUserSuccess() {
1036
- return Joi.object({
1037
- success: Joi.boolean(),
1038
- });
1039
- }
1040
-
1041
- /** @returns {OtpSuccess} */
1042
- static OtpSuccess() {
1043
- return Joi.object({
1044
- resend_timer: Joi.number(),
1045
- resend_token: Joi.string().allow(""),
1046
- register_token: Joi.string().allow(""),
1047
- success: Joi.boolean(),
1048
- request_id: Joi.string().allow(""),
1049
- message: Joi.string().allow(""),
1050
- mobile: Joi.string().allow(""),
1051
- country_code: Joi.string().allow(""),
1052
- });
1053
- }
1054
-
1055
- /** @returns {EmailOtpSuccess} */
1056
- static EmailOtpSuccess() {
1057
- return Joi.object({
1058
- success: Joi.boolean(),
1059
- resend_email_token: Joi.string().allow(""),
1060
- });
1061
- }
1062
-
1063
- /** @returns {SessionListSuccess} */
1064
- static SessionListSuccess() {
1065
- return Joi.object({
1066
- sessions: Joi.array().items(Joi.string().allow("")),
1067
- });
1068
- }
1069
-
1070
- /** @returns {VerifyMobileOTPSuccess} */
1071
- static VerifyMobileOTPSuccess() {
1072
- return Joi.object({
1073
- user: UserApplicationModel.UserSchema(),
1074
- verify_mobile_link: Joi.boolean(),
1075
- });
1076
- }
1077
-
1078
- /** @returns {VerifyEmailOTPSuccess} */
1079
- static VerifyEmailOTPSuccess() {
1080
- return Joi.object({
1081
- user: UserApplicationModel.UserSchema(),
1082
- verify_email_link: Joi.boolean(),
1083
- });
1084
- }
1085
-
1086
- /** @returns {SendMobileVerifyLinkSuccess} */
1087
- static SendMobileVerifyLinkSuccess() {
1088
- return Joi.object({
1089
- verify_mobile_link: Joi.boolean(),
1090
- });
1091
- }
1092
-
1093
- /** @returns {SendEmailVerifyLinkSuccess} */
1094
- static SendEmailVerifyLinkSuccess() {
1095
- return Joi.object({
1096
- verify_email_link: Joi.boolean(),
1097
- });
1098
- }
1099
-
1100
- /** @returns {APIError} */
1101
- static APIError() {
1102
- return Joi.object({
1103
- code: Joi.string().allow(""),
1104
- message: Joi.string().allow(""),
1105
- info: Joi.string().allow(""),
1106
- request_id: Joi.string().allow(""),
1107
- error: Joi.string().allow(""),
1108
- meta: Joi.any(),
1109
- authenticated: Joi.boolean(),
1110
- });
1111
- }
1112
-
1113
- /** @returns {FormRegisterRequestSchemaPhone} */
1114
- static FormRegisterRequestSchemaPhone() {
1115
- return Joi.object({
1116
- country_code: Joi.string().allow(""),
1117
- mobile: Joi.string().allow(""),
1118
- });
1119
- }
1120
-
1121
- /** @returns {OAuthRequestSchemaOauth2} */
1122
- static OAuthRequestSchemaOauth2() {
1123
- return Joi.object({
1124
- access_token: Joi.string().allow(""),
1125
- expiry: Joi.number(),
1126
- refresh_token: Joi.string().allow(""),
1127
- });
1128
- }
1129
-
1130
- /** @returns {OAuthRequestSchemaProfile} */
1131
- static OAuthRequestSchemaProfile() {
1132
- return Joi.object({
1133
- last_name: Joi.string().allow(""),
1134
- image: Joi.string().allow(""),
1135
- id: Joi.string().allow(""),
1136
- email: Joi.string().allow(""),
1137
- full_name: Joi.string().allow(""),
1138
- first_name: Joi.string().allow(""),
1139
- });
1140
- }
1141
-
1142
- /** @returns {OAuthRequestAppleSchemaOauth} */
1143
- static OAuthRequestAppleSchemaOauth() {
1144
- return Joi.object({
1145
- identity_token: Joi.string().allow(""),
1146
- });
1147
- }
1148
-
1149
- /** @returns {OAuthRequestAppleSchemaProfile} */
1150
- static OAuthRequestAppleSchemaProfile() {
1151
- return Joi.object({
1152
- last_name: Joi.string().allow(""),
1153
- full_name: Joi.string().allow(""),
1154
- first_name: Joi.string().allow(""),
1155
- });
1156
- }
1157
-
1158
- /** @returns {PlatformSchema} */
1159
- static PlatformSchema() {
1160
- return Joi.object({
1161
- display: Joi.string().allow(""),
1162
- look_and_feel: UserApplicationModel.LookAndFeel(),
1163
- updated_at: Joi.string().allow(""),
1164
- active: Joi.boolean(),
1165
- forgot_password: Joi.boolean(),
1166
- login: UserApplicationModel.Login(),
1167
- skip_captcha: Joi.boolean(),
1168
- name: Joi.string().allow(""),
1169
- meta: UserApplicationModel.MetaSchema(),
1170
- _id: Joi.string().allow(""),
1171
- social: UserApplicationModel.Social(),
1172
- required_fields: UserApplicationModel.RequiredFields(),
1173
- register_required_fields: UserApplicationModel.RegisterRequiredFields(),
1174
- skip_login: Joi.boolean(),
1175
- flash_card: UserApplicationModel.FlashCard(),
1176
- subtext: Joi.string().allow(""),
1177
- social_tokens: UserApplicationModel.SocialTokens(),
1178
- created_at: Joi.string().allow(""),
1179
- register: Joi.boolean(),
1180
- mobile_image: Joi.string().allow(""),
1181
- desktop_image: Joi.string().allow(""),
1182
- delete_account_day: Joi.number(),
1183
- delete_account_reasons: Joi.array().items(
1184
- UserApplicationModel.DeleteAccountReasons()
1185
- ),
1186
- delete_account_consent: UserApplicationModel.DeleteAccountConsent(),
1187
- session_config: UserApplicationModel.SessionExpiry(),
1188
- __v: Joi.number(),
1189
- });
1190
- }
1191
-
1192
- /** @returns {LookAndFeel} */
1193
- static LookAndFeel() {
1194
- return Joi.object({
1195
- card_position: Joi.string().allow(""),
1196
- background_color: Joi.string().allow(""),
1197
- });
1198
- }
1199
-
1200
- /** @returns {Login} */
1201
- static Login() {
1202
- return Joi.object({
1203
- password: Joi.boolean(),
1204
- otp: Joi.boolean(),
1205
- });
1206
- }
1207
-
1208
- /** @returns {MetaSchema} */
1209
- static MetaSchema() {
1210
- return Joi.object({
1211
- fynd_default: Joi.boolean(),
1212
- });
1213
- }
1214
-
1215
- /** @returns {Social} */
1216
- static Social() {
1217
- return Joi.object({
1218
- account_kit: Joi.boolean(),
1219
- facebook: Joi.boolean(),
1220
- google: Joi.boolean(),
1221
- apple: Joi.boolean(),
1222
- });
1223
- }
1224
-
1225
- /** @returns {RequiredFields} */
1226
- static RequiredFields() {
1227
- return Joi.object({
1228
- email: UserApplicationModel.PlatformEmail(),
1229
- mobile: UserApplicationModel.PlatformMobile(),
1230
- });
1231
- }
1232
-
1233
- /** @returns {PlatformEmail} */
1234
- static PlatformEmail() {
1235
- return Joi.object({
1236
- is_required: Joi.boolean(),
1237
- level: Joi.string().allow(""),
1238
- });
1239
- }
1240
-
1241
- /** @returns {PlatformMobile} */
1242
- static PlatformMobile() {
1243
- return Joi.object({
1244
- is_required: Joi.boolean(),
1245
- level: Joi.string().allow(""),
1246
- });
1247
- }
1248
-
1249
- /** @returns {RegisterRequiredFields} */
1250
- static RegisterRequiredFields() {
1251
- return Joi.object({
1252
- email: UserApplicationModel.RegisterRequiredFieldsEmail(),
1253
- mobile: UserApplicationModel.RegisterRequiredFieldsMobile(),
1254
- });
1255
- }
1256
-
1257
- /** @returns {RegisterRequiredFieldsEmail} */
1258
- static RegisterRequiredFieldsEmail() {
1259
- return Joi.object({
1260
- is_required: Joi.boolean(),
1261
- level: Joi.string().allow(""),
1262
- });
1263
- }
1264
-
1265
- /** @returns {RegisterRequiredFieldsMobile} */
1266
- static RegisterRequiredFieldsMobile() {
1267
- return Joi.object({
1268
- is_required: Joi.boolean(),
1269
- level: Joi.string().allow(""),
1270
- });
1271
- }
1272
-
1273
- /** @returns {FlashCard} */
1274
- static FlashCard() {
1275
- return Joi.object({
1276
- text: Joi.string().allow(""),
1277
- text_color: Joi.string().allow(""),
1278
- background_color: Joi.string().allow(""),
1279
- });
1280
- }
1281
-
1282
- /** @returns {SocialTokens} */
1283
- static SocialTokens() {
1284
- return Joi.object({
1285
- facebook: UserApplicationModel.Facebook(),
1286
- accountkit: UserApplicationModel.Accountkit(),
1287
- google: UserApplicationModel.Google(),
1288
- });
1289
- }
1290
-
1291
- /** @returns {DeleteAccountReasons} */
1292
- static DeleteAccountReasons() {
1293
- return Joi.object({
1294
- reason_text: Joi.string().allow(""),
1295
- reason_id: Joi.string().allow(""),
1296
- show_text_area: Joi.boolean(),
1297
- });
1298
- }
1299
-
1300
- /** @returns {DeleteAccountConsent} */
1301
- static DeleteAccountConsent() {
1302
- return Joi.object({
1303
- consent_text: Joi.string().allow(""),
1304
- });
1305
- }
1306
-
1307
- /** @returns {Facebook} */
1308
- static Facebook() {
1309
- return Joi.object({
1310
- app_id: Joi.string().allow(""),
1311
- });
1312
- }
1313
-
1314
- /** @returns {Accountkit} */
1315
- static Accountkit() {
1316
- return Joi.object({
1317
- app_id: Joi.string().allow(""),
1318
- });
1319
- }
1320
-
1321
- /** @returns {Google} */
1322
- static Google() {
1323
- return Joi.object({
1324
- app_id: Joi.string().allow(""),
1325
- });
1326
- }
1327
-
1328
- /** @returns {SessionExpiry} */
1329
- static SessionExpiry() {
1330
- return Joi.object({
1331
- duration: Joi.number(),
1332
- type: Joi.string().allow(""),
1333
- is_rolling: Joi.boolean(),
1334
- });
1335
- }
1336
-
1337
- /** @returns {UserSchema} */
1338
- static UserSchema() {
1339
- return Joi.object({
1340
- application_id: Joi.string().allow(""),
1341
- user_id: Joi.string().allow(""),
1342
- first_name: Joi.string().allow(""),
1343
- meta: Joi.any(),
1344
- last_name: Joi.string().allow(""),
1345
- phone_numbers: Joi.array().items(UserApplicationModel.PhoneNumber()),
1346
- emails: Joi.array().items(UserApplicationModel.Email()),
1347
- gender: Joi.string().allow(""),
1348
- dob: Joi.string().allow(""),
1349
- active: Joi.boolean(),
1350
- profile_pic_url: Joi.string().allow(""),
1351
- username: Joi.string().allow(""),
1352
- account_type: Joi.string().allow(""),
1353
- _id: Joi.string().allow(""),
1354
- created_at: Joi.string().allow(""),
1355
- updated_at: Joi.string().allow(""),
1356
- external_id: Joi.string().allow(""),
1357
- rr_id: Joi.string().allow(""),
1358
- });
1359
- }
1360
-
1361
- /** @returns {PhoneNumber} */
1362
- static PhoneNumber() {
1363
- return Joi.object({
1364
- phone: Joi.string().allow(""),
1365
- country_code: Joi.number(),
1366
- active: Joi.boolean(),
1367
- primary: Joi.boolean(),
1368
- verified: Joi.boolean(),
1369
- });
1370
- }
1371
-
1372
- /** @returns {Email} */
1373
- static Email() {
1374
- return Joi.object({
1375
- email: Joi.string().allow(""),
1376
- active: Joi.boolean(),
1377
- primary: Joi.boolean(),
1378
- verified: Joi.boolean(),
1379
- });
1380
- }
1381
- }
1382
- module.exports = UserApplicationModel;