@mudrichenkoevgeny/shared-foundation 0.0.48 → 0.0.50
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/README.md +37 -4
- package/index.d.ts +756 -186
- package/index.js +1007 -139
- package/index.mjs +1007 -139
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -144,6 +144,204 @@ export const clientDeviceIdSchema = z.string().transform((val, ctx) => {
|
|
|
144
144
|
return result;
|
|
145
145
|
});
|
|
146
146
|
|
|
147
|
+
export function toDecryptedStringOrNull(value) {
|
|
148
|
+
if (!value || typeof value !== 'string' || value.trim() === '') {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
return value;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export function toDecryptedStringOrThrow(value) {
|
|
155
|
+
const result = toDecryptedStringOrNull(value);
|
|
156
|
+
if (!result) {
|
|
157
|
+
throw new Error('DecryptedString value must not be blank.');
|
|
158
|
+
}
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export const decryptedStringSchema = z.string().transform((val, ctx) => {
|
|
163
|
+
const result = toDecryptedStringOrNull(val);
|
|
164
|
+
if (!result) {
|
|
165
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Invalid DecryptedString' });
|
|
166
|
+
return z.NEVER;
|
|
167
|
+
}
|
|
168
|
+
return result;
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
export function toEncryptedStringOrNull(value) {
|
|
172
|
+
if (!value || typeof value !== 'string' || value.trim() === '') {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
return value;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export function toEncryptedStringOrThrow(value) {
|
|
179
|
+
const result = toEncryptedStringOrNull(value);
|
|
180
|
+
if (!result) {
|
|
181
|
+
throw new Error('EncryptedString value must not be blank.');
|
|
182
|
+
}
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export const encryptedStringSchema = z.string().transform((val, ctx) => {
|
|
187
|
+
const result = toEncryptedStringOrNull(val);
|
|
188
|
+
if (!result) {
|
|
189
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Invalid EncryptedString' });
|
|
190
|
+
return z.NEVER;
|
|
191
|
+
}
|
|
192
|
+
return result;
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
export function toPasswordHashOrNull(value) {
|
|
196
|
+
if (!value || typeof value !== 'string' || value.trim() === '') {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
return value;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export function toPasswordHashOrThrow(value) {
|
|
203
|
+
const result = toPasswordHashOrNull(value);
|
|
204
|
+
if (!result) {
|
|
205
|
+
throw new Error('PasswordHash value must not be blank.');
|
|
206
|
+
}
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export const passwordHashSchema = z.string().transform((val, ctx) => {
|
|
211
|
+
const result = toPasswordHashOrNull(val);
|
|
212
|
+
if (!result) {
|
|
213
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Invalid PasswordHash' });
|
|
214
|
+
return z.NEVER;
|
|
215
|
+
}
|
|
216
|
+
return result;
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
export function toAccessTokenOrNull(value) {
|
|
220
|
+
if (!value || typeof value !== 'string' || value.trim() === '') {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
return value;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export function toAccessTokenOrThrow(value) {
|
|
227
|
+
const result = toAccessTokenOrNull(value);
|
|
228
|
+
if (!result) {
|
|
229
|
+
throw new Error('AccessToken value must not be blank.');
|
|
230
|
+
}
|
|
231
|
+
return result;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export const accessTokenSchema = z.string().transform((val, ctx) => {
|
|
235
|
+
const result = toAccessTokenOrNull(val);
|
|
236
|
+
if (!result) {
|
|
237
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Invalid AccessToken' });
|
|
238
|
+
return z.NEVER;
|
|
239
|
+
}
|
|
240
|
+
return result;
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
export function toRefreshTokenOrNull(value) {
|
|
244
|
+
if (!value || typeof value !== 'string' || value.trim() === '') {
|
|
245
|
+
return null;
|
|
246
|
+
}
|
|
247
|
+
return value;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export function toRefreshTokenOrThrow(value) {
|
|
251
|
+
const result = toRefreshTokenOrNull(value);
|
|
252
|
+
if (!result) {
|
|
253
|
+
throw new Error('RefreshToken value must not be blank.');
|
|
254
|
+
}
|
|
255
|
+
return result;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export const refreshTokenSchema = z.string().transform((val, ctx) => {
|
|
259
|
+
const result = toRefreshTokenOrNull(val);
|
|
260
|
+
if (!result) {
|
|
261
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Invalid RefreshToken' });
|
|
262
|
+
return z.NEVER;
|
|
263
|
+
}
|
|
264
|
+
return result;
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
export function toRefreshTokenHashOrNull(value) {
|
|
268
|
+
if (!value || typeof value !== 'string' || value.trim() === '') {
|
|
269
|
+
return null;
|
|
270
|
+
}
|
|
271
|
+
return value;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
export function toRefreshTokenHashOrThrow(value) {
|
|
275
|
+
const result = toRefreshTokenHashOrNull(value);
|
|
276
|
+
if (!result) {
|
|
277
|
+
throw new Error('RefreshTokenHash value must not be blank.');
|
|
278
|
+
}
|
|
279
|
+
return result;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
export const refreshTokenHashSchema = z.string().transform((val, ctx) => {
|
|
283
|
+
const result = toRefreshTokenHashOrNull(val);
|
|
284
|
+
if (!result) {
|
|
285
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'Invalid RefreshTokenHash' });
|
|
286
|
+
return z.NEVER;
|
|
287
|
+
}
|
|
288
|
+
return result;
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
export class CompositeAuditActionTypeParser {
|
|
292
|
+
constructor(auditActionTypes) {
|
|
293
|
+
this.auditActionTypes = auditActionTypes;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
fromValueOrThrow(value) {
|
|
297
|
+
for (const parse of this.auditActionTypes) {
|
|
298
|
+
const result = typeof parse === 'function'
|
|
299
|
+
? parse(value)
|
|
300
|
+
: (parse && typeof parse.parseOrNull === 'function' ? parse.parseOrNull(value) : null);
|
|
301
|
+
if (result !== null && result !== undefined) {
|
|
302
|
+
return result;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
throw new Error("Unknown value of AuditActionType: '" + value + "'");
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
export class CompositeAuditMetadataKeyParser {
|
|
310
|
+
constructor(metadataKeys) {
|
|
311
|
+
this.metadataKeys = metadataKeys;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
fromValueOrThrow(value) {
|
|
315
|
+
for (const parse of this.metadataKeys) {
|
|
316
|
+
const result = typeof parse === 'function'
|
|
317
|
+
? parse(value)
|
|
318
|
+
: (parse && typeof parse.parseOrNull === 'function' ? parse.parseOrNull(value) : null);
|
|
319
|
+
if (result !== null && result !== undefined) {
|
|
320
|
+
return result;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
throw new Error("Unknown value of AuditMetadataKey: '" + value + "'");
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export class CompositeAuditResourceTypeParser {
|
|
328
|
+
constructor(auditResourceTypes) {
|
|
329
|
+
this.auditResourceTypes = auditResourceTypes;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
fromValueOrThrow(value) {
|
|
333
|
+
for (const parse of this.auditResourceTypes) {
|
|
334
|
+
const result = typeof parse === 'function'
|
|
335
|
+
? parse(value)
|
|
336
|
+
: (parse && typeof parse.parseOrNull === 'function' ? parse.parseOrNull(value) : null);
|
|
337
|
+
if (result !== null && result !== undefined) {
|
|
338
|
+
return result;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
throw new Error("Unknown value of AuditResourceType: '" + value + "'");
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
147
345
|
export const ManagementRoutes = {
|
|
148
346
|
BASE_MANAGEMENT_ROUTE: "/management"
|
|
149
347
|
};
|
|
@@ -194,6 +392,14 @@ LOGIN_BY_TOTP: "/management/auth/login/totp",
|
|
|
194
392
|
LOGIN_BY_TOTP_RECOVERY_CODE: "/management/auth/login/totp-recovery-code"
|
|
195
393
|
};
|
|
196
394
|
|
|
395
|
+
export const OpenRefreshTokenRoutes = {
|
|
396
|
+
REFRESH_TOKEN: "/auth/refresh"
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
export const SelfManagementRefreshTokenRoutes = {
|
|
400
|
+
REFRESH_TOKEN: "/management/auth/refresh"
|
|
401
|
+
};
|
|
402
|
+
|
|
197
403
|
export const OpenRegisterRoutes = {
|
|
198
404
|
REGISTER_BY_EMAIL_ROUTE: "/auth/register/email",
|
|
199
405
|
REGISTER_BY_EMAIL: "/auth/register/email",
|
|
@@ -342,6 +548,18 @@ UPDATE_MANAGEMENT_AUTH_SETTINGS: "/management/auth/settings",
|
|
|
342
548
|
RESET_MANAGEMENT_AUTH_SETTINGS: "/management/auth/settings/reset"
|
|
343
549
|
};
|
|
344
550
|
|
|
551
|
+
export const OpenAuthSettingsRoutes = {
|
|
552
|
+
GET_OPEN_AUTH_SETTINGS: "/auth/settings"
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
export const OpenUserConfigurationRoutes = {
|
|
556
|
+
GET_CONFIGURATION: "user-configuration"
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
export const ManagementUserConfigurationRoutes = {
|
|
560
|
+
GET_CONFIGURATION: "/management/user-configuration"
|
|
561
|
+
};
|
|
562
|
+
|
|
345
563
|
export const CommonApiFields = {
|
|
346
564
|
ITEMS: "items",
|
|
347
565
|
TOTAL_COUNT: "total_count",
|
|
@@ -533,6 +751,72 @@ MANAGEMENT_SECURITY_SETTINGS_UPDATED: "MANAGEMENT_SECURITY_SETTINGS_UPDATED"
|
|
|
533
751
|
MANAGEMENT_GLOBAL_SETTINGS_UPDATED: "MANAGEMENT_GLOBAL_SETTINGS_UPDATED"
|
|
534
752
|
};
|
|
535
753
|
|
|
754
|
+
export const UserWebSocketCloseReasons = {
|
|
755
|
+
AUTH_FAILED: "Auth failed",
|
|
756
|
+
SESSION_EXPIRED: "Session expired",
|
|
757
|
+
SESSION_DELETED: "Session deleted",
|
|
758
|
+
USER_BANNED: "User banned"
|
|
759
|
+
};
|
|
760
|
+
|
|
761
|
+
export const UserWebSocketEventTypes = {
|
|
762
|
+
UNAUTHORIZED: "UNAUTHORIZED",
|
|
763
|
+
OPEN_AUTH_SETTINGS_UPDATED: "OPEN_AUTH_SETTINGS_UPDATED",
|
|
764
|
+
MANAGEMENT_AUTH_SETTINGS_UPDATED: "MANAGEMENT_AUTH_SETTINGS_UPDATED",
|
|
765
|
+
USER_UPDATED: "USER_UPDATED",
|
|
766
|
+
SESSION_DELETED: "SESSION_DELETED"
|
|
767
|
+
};
|
|
768
|
+
|
|
769
|
+
export const UserApiPaths = {
|
|
770
|
+
USER_ID: "user_id",
|
|
771
|
+
SESSION_ID: "session_id",
|
|
772
|
+
USER_IDENTIFIER_ID: "user_identifier_id"
|
|
773
|
+
};
|
|
774
|
+
|
|
775
|
+
export const UserApiQueryParams = {
|
|
776
|
+
ACCESS_TOKEN: "token"
|
|
777
|
+
};
|
|
778
|
+
|
|
779
|
+
export const UserAuthSpec = {
|
|
780
|
+
TOKEN_TYPE_BEARER: "Bearer"
|
|
781
|
+
};
|
|
782
|
+
|
|
783
|
+
export const AuditApiPaths = {
|
|
784
|
+
EVENT_ID: "event_id"
|
|
785
|
+
};
|
|
786
|
+
|
|
787
|
+
export const UserRoleDefaultAuthorityLevel = {
|
|
788
|
+
|
|
789
|
+
};
|
|
790
|
+
|
|
791
|
+
export const SecurityAuditMetadataDeniedReasonValues = {
|
|
792
|
+
RATE_LIMIT: "rate_limit",
|
|
793
|
+
PASSWORD_TOO_WEAK: "password_too_weak",
|
|
794
|
+
MFA_TOKEN_EXPIRED: "mfa_token_expired",
|
|
795
|
+
TOTP_ALREADY_ENABLED: "totp_already_enabled",
|
|
796
|
+
TOTP_NOT_ENABLED: "totp_not_enabled",
|
|
797
|
+
RECOVERY_CODE_ALREADY_USED: "recovery_code_already_used",
|
|
798
|
+
MFA_REQUIRED: "mfa_required"
|
|
799
|
+
};
|
|
800
|
+
|
|
801
|
+
export const UserAuditMetadataDeniedReasonValues = {
|
|
802
|
+
USER_READ_ONLY: "user_read_only",
|
|
803
|
+
USER_BANNED: "user_banned",
|
|
804
|
+
USER_LOCKED: "user_locked",
|
|
805
|
+
USER_SECURITY_HOLD: "user_security_hold",
|
|
806
|
+
USER_PENDING_DELETION: "user_pending_deletion",
|
|
807
|
+
USER_NOT_FOUND: "user_not_found",
|
|
808
|
+
USER_ROLE_NOT_ALLOWED: "user_role_not_allowed",
|
|
809
|
+
USER_MISSING_PERMISSIONS: "user_missing_permissions",
|
|
810
|
+
USER_INSUFFICIENT_AUTHORITY_LEVEL: "user_insufficient_authority_level",
|
|
811
|
+
USER_ILLEGAL_ACCOUNT_STATUS: "user_illegal_account_status",
|
|
812
|
+
USER_FORBIDDEN: "user_forbidden",
|
|
813
|
+
USER_IDENTIFIER_LIMIT_REACHED: "user_identifier_limit_reached",
|
|
814
|
+
TOTAL_USER_IDENTIFIERS_LIMIT_REACHED: "total_user_identifier_limit_reached",
|
|
815
|
+
PASSWORD_SETUP_REQUIRED: "password_setup_required",
|
|
816
|
+
USER_IDENTIFIER_PASSWORD_NOT_SUPPORTED: "user_identifier_password_not_supported",
|
|
817
|
+
USER_IDENTIFIER_PASSWORD_NOT_SET: "user_identifier_password_not_set"
|
|
818
|
+
};
|
|
819
|
+
|
|
536
820
|
export const ListingParamNames = {
|
|
537
821
|
PAGE_NUMBER: "page_number",
|
|
538
822
|
PAGE_SIZE: "page_size",
|
|
@@ -548,6 +832,52 @@ export const ListingParamNames = {
|
|
|
548
832
|
}
|
|
549
833
|
};
|
|
550
834
|
|
|
835
|
+
export const AuditFilterValues = {
|
|
836
|
+
AuditEventFilterValues: {
|
|
837
|
+
ACTOR_ID: "actor_id",
|
|
838
|
+
ACTOR_TYPE: "actor_type",
|
|
839
|
+
ACTOR_USER_ROLE: "actor_user_role",
|
|
840
|
+
ACTION: "action",
|
|
841
|
+
RESOURCE: "resource",
|
|
842
|
+
RESOURCE_ID: "resource_id",
|
|
843
|
+
STATUS: "status",
|
|
844
|
+
MESSAGE: "message"
|
|
845
|
+
}
|
|
846
|
+
};
|
|
847
|
+
|
|
848
|
+
export const UserFilterValues = {
|
|
849
|
+
UserFilterValues: {
|
|
850
|
+
ROLE: "role",
|
|
851
|
+
ACCOUNT_STATUS: "account_status",
|
|
852
|
+
ACCOUNT_STATUS_ON_RESTORE: "account_status_on_restore",
|
|
853
|
+
ACCOUNT_LOCKOUT_TYPE: "account_lockout_type",
|
|
854
|
+
AUTHORITY_LEVEL_FROM: "authority_level_from",
|
|
855
|
+
AUTHORITY_LEVEL_TO: "authority_level_to",
|
|
856
|
+
IS_TOTP_ENABLED: "is_totp_enabled",
|
|
857
|
+
PERMISSION_CODES: "permission_codes"
|
|
858
|
+
},
|
|
859
|
+
UserIdentifierFilterValues: {
|
|
860
|
+
USER_ID: "user_id",
|
|
861
|
+
USER_AUTH_PROVIDER: "user_auth_provider",
|
|
862
|
+
IDENTIFIER: "identifier"
|
|
863
|
+
},
|
|
864
|
+
UserSessionFilterValues: {
|
|
865
|
+
USER_ID: "user_id",
|
|
866
|
+
USER_ROLE: "user_role",
|
|
867
|
+
IDENTIFIER_ID: "identifier_id",
|
|
868
|
+
USER_AUTH_PROVIDER: "user_auth_provider",
|
|
869
|
+
CLIENT_TYPE: "client_type",
|
|
870
|
+
USER_AGENT: "user_agent",
|
|
871
|
+
IP_ADDRESS: "ip_address",
|
|
872
|
+
LANGUAGE: "language",
|
|
873
|
+
DEVICE_ID: "device_id",
|
|
874
|
+
DEVICE_NAME: "device_name",
|
|
875
|
+
APP_VERSION: "app_version",
|
|
876
|
+
OPERATION_SYSTEM_VERSION: "operation_system_version",
|
|
877
|
+
IDENTIFIER: "identifier"
|
|
878
|
+
}
|
|
879
|
+
};
|
|
880
|
+
|
|
551
881
|
export const CommonErrorCodes = {
|
|
552
882
|
UNKNOWN: "UNKNOWN",
|
|
553
883
|
INTERNAL: "INTERNAL",
|
|
@@ -668,6 +998,512 @@ export const UserPermissionCode = {
|
|
|
668
998
|
|
|
669
999
|
};
|
|
670
1000
|
|
|
1001
|
+
export const toClientInfo = (payload) => ({
|
|
1002
|
+
deviceInfo: toClientDeviceInfo(payload.client_device_info),
|
|
1003
|
+
userAgent: payload.user_agent,
|
|
1004
|
+
ipAddress: payload.ip_address,
|
|
1005
|
+
host: null,
|
|
1006
|
+
origin: null,
|
|
1007
|
+
apiVersion: payload.api_version
|
|
1008
|
+
});
|
|
1009
|
+
|
|
1010
|
+
export const toClientInfoPayload = (domain) => ({
|
|
1011
|
+
client_device_info: toClientDeviceInfoPayload(domain.deviceInfo),
|
|
1012
|
+
user_agent: domain.userAgent,
|
|
1013
|
+
ip_address: domain.ipAddress,
|
|
1014
|
+
api_version: domain.apiVersion
|
|
1015
|
+
});
|
|
1016
|
+
|
|
1017
|
+
export const toClientDeviceInfo = (payload) => ({
|
|
1018
|
+
deviceId: payload.device_id ? toClientDeviceIdOrThrow(payload.device_id) : null,
|
|
1019
|
+
deviceName: payload.device_name,
|
|
1020
|
+
clientType: payload.client_type,
|
|
1021
|
+
language: payload.language,
|
|
1022
|
+
appVersion: payload.app_version,
|
|
1023
|
+
operationSystemVersion: payload.operation_system_version
|
|
1024
|
+
});
|
|
1025
|
+
|
|
1026
|
+
export const toClientDeviceInfoPayload = (domain) => ({
|
|
1027
|
+
client_type: domain.clientType,
|
|
1028
|
+
language: domain.language,
|
|
1029
|
+
device_id: domain.deviceId,
|
|
1030
|
+
device_name: domain.deviceName,
|
|
1031
|
+
app_version: domain.appVersion,
|
|
1032
|
+
operation_system_version: domain.operationSystemVersion
|
|
1033
|
+
});
|
|
1034
|
+
|
|
1035
|
+
export const toAccountLockoutPolicy = (payload) => ({
|
|
1036
|
+
maxFailedPasswordAttempts: payload.max_failed_password_attempts,
|
|
1037
|
+
maxFailedOtpAttempts: payload.max_failed_otp_attempts,
|
|
1038
|
+
maxFailedTotpAttempts: payload.max_failed_totp_attempts,
|
|
1039
|
+
failedAttemptsWindowSeconds: payload.failed_attempts_window_seconds,
|
|
1040
|
+
lockoutDurationSeconds: payload.lockout_duration_seconds,
|
|
1041
|
+
indefiniteLockoutThreshold: payload.indefinite_lockout_threshold,
|
|
1042
|
+
isSelfServiceUnlockEnabled: payload.is_self_service_unlock_enabled
|
|
1043
|
+
});
|
|
1044
|
+
|
|
1045
|
+
export const toAccountLockoutPolicyPayload = (domain) => ({
|
|
1046
|
+
max_failed_password_attempts: domain.maxFailedPasswordAttempts,
|
|
1047
|
+
max_failed_otp_attempts: domain.maxFailedOtpAttempts,
|
|
1048
|
+
max_failed_totp_attempts: domain.maxFailedTotpAttempts,
|
|
1049
|
+
failed_attempts_window_seconds: domain.failedAttemptsWindowSeconds,
|
|
1050
|
+
lockout_duration_seconds: domain.lockoutDurationSeconds,
|
|
1051
|
+
indefinite_lockout_threshold: domain.indefiniteLockoutThreshold,
|
|
1052
|
+
is_self_service_unlock_enabled: domain.isSelfServiceUnlockEnabled
|
|
1053
|
+
});
|
|
1054
|
+
|
|
1055
|
+
export const toIpRestrictionPolicy = (payload) => ({
|
|
1056
|
+
isBlacklistEnabled: payload.is_blacklist_enabled,
|
|
1057
|
+
blacklist: payload.blacklist,
|
|
1058
|
+
isWhitelistEnabled: payload.is_whitelist_enabled,
|
|
1059
|
+
whitelist: payload.whitelist
|
|
1060
|
+
});
|
|
1061
|
+
|
|
1062
|
+
export const toIpRestrictionPolicyPayload = (domain) => ({
|
|
1063
|
+
is_blacklist_enabled: domain.isBlacklistEnabled,
|
|
1064
|
+
blacklist: domain.blacklist,
|
|
1065
|
+
is_whitelist_enabled: domain.isWhitelistEnabled,
|
|
1066
|
+
whitelist: domain.whitelist
|
|
1067
|
+
});
|
|
1068
|
+
|
|
1069
|
+
export const toOtpConfirmation = (payload) => ({
|
|
1070
|
+
retryAfterSeconds: payload.retry_after_seconds,
|
|
1071
|
+
numberOfSymbols: payload.number_of_symbols,
|
|
1072
|
+
expirationSeconds: payload.expiration_seconds
|
|
1073
|
+
});
|
|
1074
|
+
|
|
1075
|
+
export const toOtpConfirmationPayload = (domain) => ({
|
|
1076
|
+
retry_after_seconds: domain.retryAfterSeconds,
|
|
1077
|
+
number_of_symbols: domain.numberOfSymbols,
|
|
1078
|
+
expiration_seconds: domain.expirationSeconds
|
|
1079
|
+
});
|
|
1080
|
+
|
|
1081
|
+
export const toManagementPasswordPolicy = (payload) => ({
|
|
1082
|
+
minLength: payload.min_length,
|
|
1083
|
+
requireLetter: payload.require_letter,
|
|
1084
|
+
requireUpperCase: payload.require_upper_case,
|
|
1085
|
+
requireLowerCase: payload.require_lower_case,
|
|
1086
|
+
requireDigit: payload.require_digit,
|
|
1087
|
+
requireSpecialChar: payload.require_special_char,
|
|
1088
|
+
commonPasswords: payload.common_passwords
|
|
1089
|
+
});
|
|
1090
|
+
|
|
1091
|
+
export const toManagementPasswordPolicyPayload = (domain) => ({
|
|
1092
|
+
min_length: domain.minLength,
|
|
1093
|
+
require_letter: domain.requireLetter,
|
|
1094
|
+
require_upper_case: domain.requireUpperCase,
|
|
1095
|
+
require_lower_case: domain.requireLowerCase,
|
|
1096
|
+
require_digit: domain.requireDigit,
|
|
1097
|
+
require_special_char: domain.requireSpecialChar,
|
|
1098
|
+
common_passwords: domain.commonPasswords
|
|
1099
|
+
});
|
|
1100
|
+
|
|
1101
|
+
export const toOpenPasswordPolicy = (payload) => ({
|
|
1102
|
+
minLength: payload.min_length,
|
|
1103
|
+
requireLetter: payload.require_letter,
|
|
1104
|
+
requireUpperCase: payload.require_upper_case,
|
|
1105
|
+
requireLowerCase: payload.require_lower_case,
|
|
1106
|
+
requireDigit: payload.require_digit,
|
|
1107
|
+
requireSpecialChar: payload.require_special_char
|
|
1108
|
+
});
|
|
1109
|
+
|
|
1110
|
+
export const toOpenPasswordPolicyPayload = (domain) => ({
|
|
1111
|
+
min_length: domain.minLength,
|
|
1112
|
+
require_letter: domain.requireLetter,
|
|
1113
|
+
require_upper_case: domain.requireUpperCase,
|
|
1114
|
+
require_lower_case: domain.requireLowerCase,
|
|
1115
|
+
require_digit: domain.requireDigit,
|
|
1116
|
+
require_special_char: domain.requireSpecialChar
|
|
1117
|
+
});
|
|
1118
|
+
|
|
1119
|
+
export const toManagementSecuritySettings = (payload) => ({
|
|
1120
|
+
recentAuthenticationValiditySecondsForOpenUser: payload.recent_authentication_validity_seconds_for_open_user,
|
|
1121
|
+
recentAuthenticationValiditySecondsForManagementUser: payload.recent_authentication_validity_seconds_for_management_user,
|
|
1122
|
+
passwordPolicy: toManagementPasswordPolicy(payload.management_password_policy),
|
|
1123
|
+
otpConfirmation: toOtpConfirmation(payload.otp_confirmation),
|
|
1124
|
+
accountLockoutPolicy: toAccountLockoutPolicy(payload.account_lockout_policy),
|
|
1125
|
+
accountLockoutCheckIntervalSeconds: payload.account_lockout_check_interval_seconds,
|
|
1126
|
+
openIpRestrictionPolicy: toIpRestrictionPolicy(payload.open_ip_restriction_policy),
|
|
1127
|
+
managementIpRestrictionPolicy: toIpRestrictionPolicy(payload.management_ip_restriction_policy),
|
|
1128
|
+
mfaTokenExpirationSeconds: payload.expiration_seconds,
|
|
1129
|
+
maxRequestsPerPeriod: payload.max_requests_per_period,
|
|
1130
|
+
rateLimitPeriodSeconds: payload.rate_limit_period_seconds,
|
|
1131
|
+
refreshTokenRotationGracePeriodSeconds: payload.refresh_token_rotation_grace_period_seconds
|
|
1132
|
+
});
|
|
1133
|
+
|
|
1134
|
+
export const toManagementSecuritySettingsPayload = (domain) => ({
|
|
1135
|
+
recent_authentication_validity_seconds_for_open_user: domain.recentAuthenticationValiditySecondsForOpenUser,
|
|
1136
|
+
recent_authentication_validity_seconds_for_management_user: domain.recentAuthenticationValiditySecondsForManagementUser,
|
|
1137
|
+
management_password_policy: toManagementPasswordPolicyPayload(domain.passwordPolicy),
|
|
1138
|
+
otp_confirmation: toOtpConfirmationPayload(domain.otpConfirmation),
|
|
1139
|
+
account_lockout_policy: toAccountLockoutPolicyPayload(domain.accountLockoutPolicy),
|
|
1140
|
+
account_lockout_check_interval_seconds: domain.accountLockoutCheckIntervalSeconds,
|
|
1141
|
+
open_ip_restriction_policy: toIpRestrictionPolicyPayload(domain.openIpRestrictionPolicy),
|
|
1142
|
+
management_ip_restriction_policy: toIpRestrictionPolicyPayload(domain.managementIpRestrictionPolicy),
|
|
1143
|
+
expiration_seconds: domain.mfaTokenExpirationSeconds,
|
|
1144
|
+
max_requests_per_period: domain.maxRequestsPerPeriod,
|
|
1145
|
+
rate_limit_period_seconds: domain.rateLimitPeriodSeconds,
|
|
1146
|
+
refresh_token_rotation_grace_period_seconds: domain.refreshTokenRotationGracePeriodSeconds
|
|
1147
|
+
});
|
|
1148
|
+
|
|
1149
|
+
export const toOpenSecuritySettings = (payload) => ({
|
|
1150
|
+
passwordPolicy: toOpenPasswordPolicy(payload.open_password_policy),
|
|
1151
|
+
otpConfirmation: toOtpConfirmation(payload.otp_confirmation)
|
|
1152
|
+
});
|
|
1153
|
+
|
|
1154
|
+
export const toOpenSecuritySettingsPayload = (domain) => ({
|
|
1155
|
+
open_password_policy: toOpenPasswordPolicyPayload(domain.passwordPolicy),
|
|
1156
|
+
otp_confirmation: toOtpConfirmationPayload(domain.otpConfirmation)
|
|
1157
|
+
});
|
|
1158
|
+
|
|
1159
|
+
export const toTotpRecoveryCodes = (payload) => ({
|
|
1160
|
+
codes: payload.totp_recovery_codes
|
|
1161
|
+
});
|
|
1162
|
+
|
|
1163
|
+
export const toTotpRecoveryCodesPayload = (domain) => ({
|
|
1164
|
+
totp_recovery_codes: domain.codes
|
|
1165
|
+
});
|
|
1166
|
+
|
|
1167
|
+
export const toTotpSetup = (payload) => ({
|
|
1168
|
+
secretKey: payload.totp_secret_key,
|
|
1169
|
+
otpAuthUrl: payload.totp_otp_auth_url,
|
|
1170
|
+
mfaToken: payload.mfa_token
|
|
1171
|
+
});
|
|
1172
|
+
|
|
1173
|
+
export const toTotpSetupPayload = (domain) => ({
|
|
1174
|
+
totp_secret_key: domain.secretKey,
|
|
1175
|
+
totp_otp_auth_url: domain.otpAuthUrl,
|
|
1176
|
+
mfa_token: domain.mfaToken
|
|
1177
|
+
});
|
|
1178
|
+
|
|
1179
|
+
export const toVerifyTotp = (payload) => ({
|
|
1180
|
+
mfaToken: payload.mfa_token,
|
|
1181
|
+
code: payload.totp_code
|
|
1182
|
+
});
|
|
1183
|
+
|
|
1184
|
+
export const toVerifyTotpPayload = (domain) => ({
|
|
1185
|
+
mfa_token: domain.mfaToken,
|
|
1186
|
+
totp_code: domain.code
|
|
1187
|
+
});
|
|
1188
|
+
|
|
1189
|
+
export const toManagementGlobalSettings = (payload) => ({
|
|
1190
|
+
privacyPolicyUrl: payload.privacy_policy_url,
|
|
1191
|
+
termsOfServiceUrl: payload.terms_of_service_url,
|
|
1192
|
+
contactSupportEmail: payload.contact_support_email,
|
|
1193
|
+
minSupportedAppVersions: payload.min_supported_app_versions,
|
|
1194
|
+
isTracingEnabled: payload.is_tracing_enabled,
|
|
1195
|
+
isMetricsEnabled: payload.is_metrics_enabled,
|
|
1196
|
+
isVerboseLoggingEnabled: payload.is_verbose_logging_enabled
|
|
1197
|
+
});
|
|
1198
|
+
|
|
1199
|
+
export const toManagementGlobalSettingsPayload = (domain) => ({
|
|
1200
|
+
privacy_policy_url: domain.privacyPolicyUrl,
|
|
1201
|
+
terms_of_service_url: domain.termsOfServiceUrl,
|
|
1202
|
+
contact_support_email: domain.contactSupportEmail,
|
|
1203
|
+
min_supported_app_versions: domain.minSupportedAppVersions,
|
|
1204
|
+
is_tracing_enabled: domain.isTracingEnabled,
|
|
1205
|
+
is_metrics_enabled: domain.isMetricsEnabled,
|
|
1206
|
+
is_verbose_logging_enabled: domain.isVerboseLoggingEnabled
|
|
1207
|
+
});
|
|
1208
|
+
|
|
1209
|
+
export const toOpenGlobalSettings = (payload) => ({
|
|
1210
|
+
privacyPolicyUrl: payload.privacy_policy_url,
|
|
1211
|
+
termsOfServiceUrl: payload.terms_of_service_url,
|
|
1212
|
+
contactSupportEmail: payload.contact_support_email,
|
|
1213
|
+
minSupportedAppVersions: payload.min_supported_app_versions
|
|
1214
|
+
});
|
|
1215
|
+
|
|
1216
|
+
export const toOpenGlobalSettingsPayload = (domain) => ({
|
|
1217
|
+
privacy_policy_url: domain.privacyPolicyUrl,
|
|
1218
|
+
terms_of_service_url: domain.termsOfServiceUrl,
|
|
1219
|
+
contact_support_email: domain.contactSupportEmail,
|
|
1220
|
+
min_supported_app_versions: domain.minSupportedAppVersions
|
|
1221
|
+
});
|
|
1222
|
+
|
|
1223
|
+
export const toAuditEvent = (payload) => ({
|
|
1224
|
+
id: toAuditEventIdOrThrow(payload.id),
|
|
1225
|
+
actorId: payload.actor_id,
|
|
1226
|
+
actorType: payload.actor_type,
|
|
1227
|
+
actorUserRole: payload.actor_user_role,
|
|
1228
|
+
action: payload.action,
|
|
1229
|
+
resource: payload.resource,
|
|
1230
|
+
resourceId: payload.resource_id,
|
|
1231
|
+
resourceValueSensitivity: null,
|
|
1232
|
+
status: payload.status,
|
|
1233
|
+
metadata: payload.metadata ? payload.metadata.map(val => toAuditEventMetadata(val)) : [],
|
|
1234
|
+
message: payload.message,
|
|
1235
|
+
createdAt: payload.created_at
|
|
1236
|
+
});
|
|
1237
|
+
|
|
1238
|
+
export const toAuditEventPayload = (domain) => ({
|
|
1239
|
+
id: domain.id,
|
|
1240
|
+
actor_id: domain.actorId,
|
|
1241
|
+
actor_type: domain.actorType,
|
|
1242
|
+
actor_user_role: domain.actorUserRole,
|
|
1243
|
+
action: domain.action,
|
|
1244
|
+
resource: domain.resource,
|
|
1245
|
+
resource_id: domain.resourceId,
|
|
1246
|
+
status: domain.status,
|
|
1247
|
+
metadata: domain.metadata ? domain.metadata.map(val => toAuditEventMetadataPayload(val)) : [],
|
|
1248
|
+
message: domain.message,
|
|
1249
|
+
created_at: domain.createdAt
|
|
1250
|
+
});
|
|
1251
|
+
|
|
1252
|
+
export const toAuditEventMetadata = (payload) => ({
|
|
1253
|
+
key: payload.key,
|
|
1254
|
+
value: payload.value
|
|
1255
|
+
});
|
|
1256
|
+
|
|
1257
|
+
export const toAuditEventMetadataPayload = (domain) => ({
|
|
1258
|
+
key: domain.key,
|
|
1259
|
+
value: domain.value,
|
|
1260
|
+
value_sensitivity: null
|
|
1261
|
+
});
|
|
1262
|
+
|
|
1263
|
+
export const toAuthData = (payload) => ({
|
|
1264
|
+
userDetails: toUserDetails(payload.user),
|
|
1265
|
+
sessionToken: toSessionToken(payload.session_token)
|
|
1266
|
+
});
|
|
1267
|
+
|
|
1268
|
+
export const toAuthDataPayload = (domain) => ({
|
|
1269
|
+
user: toUserDetailsPayload(domain.userDetails),
|
|
1270
|
+
session_token: toSessionTokenPayload(domain.sessionToken)
|
|
1271
|
+
});
|
|
1272
|
+
|
|
1273
|
+
export const toAvailableAuthProviders = (payload) => ({
|
|
1274
|
+
primary: payload.primary,
|
|
1275
|
+
secondary: payload.secondary
|
|
1276
|
+
});
|
|
1277
|
+
|
|
1278
|
+
export const toAvailableAuthProvidersPayload = (domain) => ({
|
|
1279
|
+
primary: domain.primary,
|
|
1280
|
+
secondary: domain.secondary
|
|
1281
|
+
});
|
|
1282
|
+
|
|
1283
|
+
export const toManagementAuthSettings = (payload) => ({
|
|
1284
|
+
availableAuthProviders: toAvailableAuthProviders(payload.available_auth_providers),
|
|
1285
|
+
maxTotalIdentifiers: payload.max_total_identifiers,
|
|
1286
|
+
maxEmailIdentifiers: payload.max_email_identifiers,
|
|
1287
|
+
maxPhoneIdentifiers: payload.max_phone_identifiers,
|
|
1288
|
+
maxIdentifiersPerExternalProvider: payload.max_identifiers_per_external_provider,
|
|
1289
|
+
maxActiveSessionsForOpenUser: payload.max_active_sessions_for_open_user,
|
|
1290
|
+
maxActiveSessionsForManagementUser: payload.max_active_sessions_for_management_user,
|
|
1291
|
+
accessTokenExpirationSeconds: payload.access_token_validity_seconds,
|
|
1292
|
+
refreshTokenExpirationSeconds: payload.refresh_token_validity_seconds,
|
|
1293
|
+
accountDeletionGracePeriodSeconds: payload.account_deletion_grace_period_seconds,
|
|
1294
|
+
accountDeletionCheckIntervalSeconds: payload.account_deletion_check_interval_seconds,
|
|
1295
|
+
isRegistrationEnabled: payload.is_registration_enabled,
|
|
1296
|
+
openEmailRestrictionPolicy: toEmailRestrictionPolicy(payload.open_email_restriction_policy),
|
|
1297
|
+
managementEmailRestrictionPolicy: toEmailRestrictionPolicy(payload.management_email_restriction_policy)
|
|
1298
|
+
});
|
|
1299
|
+
|
|
1300
|
+
export const toManagementAuthSettingsPayload = (domain) => ({
|
|
1301
|
+
available_auth_providers: toAvailableAuthProvidersPayload(domain.availableAuthProviders),
|
|
1302
|
+
max_total_identifiers: domain.maxTotalIdentifiers,
|
|
1303
|
+
max_email_identifiers: domain.maxEmailIdentifiers,
|
|
1304
|
+
max_phone_identifiers: domain.maxPhoneIdentifiers,
|
|
1305
|
+
max_identifiers_per_external_provider: domain.maxIdentifiersPerExternalProvider,
|
|
1306
|
+
max_active_sessions_for_open_user: domain.maxActiveSessionsForOpenUser,
|
|
1307
|
+
max_active_sessions_for_management_user: domain.maxActiveSessionsForManagementUser,
|
|
1308
|
+
access_token_validity_seconds: domain.accessTokenExpirationSeconds,
|
|
1309
|
+
refresh_token_validity_seconds: domain.refreshTokenExpirationSeconds,
|
|
1310
|
+
account_deletion_grace_period_seconds: domain.accountDeletionGracePeriodSeconds,
|
|
1311
|
+
account_deletion_check_interval_seconds: domain.accountDeletionCheckIntervalSeconds,
|
|
1312
|
+
is_registration_enabled: domain.isRegistrationEnabled,
|
|
1313
|
+
open_email_restriction_policy: toEmailRestrictionPolicyPayload(domain.openEmailRestrictionPolicy),
|
|
1314
|
+
management_email_restriction_policy: toEmailRestrictionPolicyPayload(domain.managementEmailRestrictionPolicy)
|
|
1315
|
+
});
|
|
1316
|
+
|
|
1317
|
+
export const toOpenAuthSettings = (payload) => ({
|
|
1318
|
+
availableAuthProviders: toAvailableAuthProviders(payload.available_auth_providers),
|
|
1319
|
+
maxTotalIdentifiers: payload.max_total_identifiers,
|
|
1320
|
+
maxEmailIdentifiers: payload.max_email_identifiers,
|
|
1321
|
+
maxPhoneIdentifiers: payload.max_phone_identifiers,
|
|
1322
|
+
maxIdentifiersPerExternalProvider: payload.max_identifiers_per_external_provider,
|
|
1323
|
+
isRegistrationEnabled: payload.is_registration_enabled
|
|
1324
|
+
});
|
|
1325
|
+
|
|
1326
|
+
export const toOpenAuthSettingsPayload = (domain) => ({
|
|
1327
|
+
available_auth_providers: toAvailableAuthProvidersPayload(domain.availableAuthProviders),
|
|
1328
|
+
max_total_identifiers: domain.maxTotalIdentifiers,
|
|
1329
|
+
max_email_identifiers: domain.maxEmailIdentifiers,
|
|
1330
|
+
max_phone_identifiers: domain.maxPhoneIdentifiers,
|
|
1331
|
+
max_identifiers_per_external_provider: domain.maxIdentifiersPerExternalProvider,
|
|
1332
|
+
is_registration_enabled: domain.isRegistrationEnabled
|
|
1333
|
+
});
|
|
1334
|
+
|
|
1335
|
+
export const toManagementUserConfiguration = (payload) => ({
|
|
1336
|
+
managementGlobalSettings: toManagementGlobalSettings(payload.management_global_settings),
|
|
1337
|
+
managementSecuritySettings: toManagementSecuritySettings(payload.management_security_settings),
|
|
1338
|
+
managementAuthSettings: toManagementAuthSettings(payload.management_auth_settings)
|
|
1339
|
+
});
|
|
1340
|
+
|
|
1341
|
+
export const toManagementUserConfigurationPayload = (domain) => ({
|
|
1342
|
+
management_global_settings: toManagementGlobalSettingsPayload(domain.managementGlobalSettings),
|
|
1343
|
+
management_security_settings: toManagementSecuritySettingsPayload(domain.managementSecuritySettings),
|
|
1344
|
+
management_auth_settings: toManagementAuthSettingsPayload(domain.managementAuthSettings)
|
|
1345
|
+
});
|
|
1346
|
+
|
|
1347
|
+
export const toOpenUserConfiguration = (payload) => ({
|
|
1348
|
+
openGlobalSettings: toOpenGlobalSettings(payload.open_global_settings),
|
|
1349
|
+
openSecuritySettings: toOpenSecuritySettings(payload.open_security_settings),
|
|
1350
|
+
openAuthSettings: toOpenAuthSettings(payload.open_auth_settings)
|
|
1351
|
+
});
|
|
1352
|
+
|
|
1353
|
+
export const toOpenUserConfigurationPayload = (domain) => ({
|
|
1354
|
+
open_global_settings: toOpenGlobalSettingsPayload(domain.openGlobalSettings),
|
|
1355
|
+
open_security_settings: toOpenSecuritySettingsPayload(domain.openSecuritySettings),
|
|
1356
|
+
open_auth_settings: toOpenAuthSettingsPayload(domain.openAuthSettings)
|
|
1357
|
+
});
|
|
1358
|
+
|
|
1359
|
+
export const toEmailRestrictionPolicy = (payload) => ({
|
|
1360
|
+
isBlacklistEnabled: payload.is_blacklist_enabled,
|
|
1361
|
+
blacklist: payload.blacklist,
|
|
1362
|
+
isWhitelistEnabled: payload.is_whitelist_enabled,
|
|
1363
|
+
whitelist: payload.whitelist
|
|
1364
|
+
});
|
|
1365
|
+
|
|
1366
|
+
export const toEmailRestrictionPolicyPayload = (domain) => ({
|
|
1367
|
+
is_blacklist_enabled: domain.isBlacklistEnabled,
|
|
1368
|
+
blacklist: domain.blacklist,
|
|
1369
|
+
is_whitelist_enabled: domain.isWhitelistEnabled,
|
|
1370
|
+
whitelist: domain.whitelist
|
|
1371
|
+
});
|
|
1372
|
+
|
|
1373
|
+
export const toUserIdentifier = (payload) => ({
|
|
1374
|
+
id: toUserIdentifierIdOrThrow(payload.id),
|
|
1375
|
+
userId: toUserIdOrThrow(payload.user_id),
|
|
1376
|
+
userAuthProvider: payload.user_auth_provider,
|
|
1377
|
+
identifier: payload.identifier,
|
|
1378
|
+
displayName: payload.display_name,
|
|
1379
|
+
externalProviderEmail: payload.external_provider_email,
|
|
1380
|
+
isSensitiveValuesMasked: payload.is_sensitive_values_masked,
|
|
1381
|
+
createdAt: payload.created_at,
|
|
1382
|
+
updatedAt: payload.updated_at
|
|
1383
|
+
});
|
|
1384
|
+
|
|
1385
|
+
export const toUserIdentifierPayload = (domain) => ({
|
|
1386
|
+
id: domain.id,
|
|
1387
|
+
user_id: domain.userId,
|
|
1388
|
+
user_auth_provider: domain.userAuthProvider,
|
|
1389
|
+
identifier: domain.identifier,
|
|
1390
|
+
display_name: domain.displayName,
|
|
1391
|
+
external_provider_email: domain.externalProviderEmail,
|
|
1392
|
+
is_sensitive_values_masked: domain.isSensitiveValuesMasked,
|
|
1393
|
+
created_at: domain.createdAt,
|
|
1394
|
+
updated_at: domain.updatedAt
|
|
1395
|
+
});
|
|
1396
|
+
|
|
1397
|
+
export const toDeletedSessions = (payload) => ({
|
|
1398
|
+
deletedSessionIds: payload.deleted_session_ids ? payload.deleted_session_ids.map(val => toUserSessionIdOrThrow(val)) : []
|
|
1399
|
+
});
|
|
1400
|
+
|
|
1401
|
+
export const toDeletedSessionsPayload = (domain) => ({
|
|
1402
|
+
deleted_session_ids: domain.deletedSessionIds
|
|
1403
|
+
});
|
|
1404
|
+
|
|
1405
|
+
export const toUserSession = (payload) => ({
|
|
1406
|
+
id: toUserSessionIdOrThrow(payload.id),
|
|
1407
|
+
userId: toUserIdOrThrow(payload.user_id),
|
|
1408
|
+
userRole: payload.user_role,
|
|
1409
|
+
identifier: payload.identifier,
|
|
1410
|
+
identifierId: toUserIdentifierIdOrThrow(payload.identifier_id),
|
|
1411
|
+
identifierDisplayName: payload.identifier_display_name,
|
|
1412
|
+
identifierAuthProvider: payload.identifier_auth_provider,
|
|
1413
|
+
deviceInfo: toClientDeviceInfo(payload.client_device_info),
|
|
1414
|
+
userAgent: payload.user_agent,
|
|
1415
|
+
ipAddress: payload.ip_address,
|
|
1416
|
+
expiresAt: payload.expires_at,
|
|
1417
|
+
lastAccessedAt: payload.last_accessed_at,
|
|
1418
|
+
lastReauthenticatedAt: payload.last_reauthenticated_at,
|
|
1419
|
+
isSensitiveValuesMasked: payload.is_sensitive_values_masked,
|
|
1420
|
+
createdAt: payload.created_at,
|
|
1421
|
+
updatedAt: payload.updated_at
|
|
1422
|
+
});
|
|
1423
|
+
|
|
1424
|
+
export const toUserSessionPayload = (domain) => ({
|
|
1425
|
+
id: domain.id,
|
|
1426
|
+
user_id: domain.userId,
|
|
1427
|
+
user_role: domain.userRole,
|
|
1428
|
+
identifier: domain.identifier,
|
|
1429
|
+
identifier_id: domain.identifierId,
|
|
1430
|
+
identifier_display_name: domain.identifierDisplayName,
|
|
1431
|
+
identifier_auth_provider: domain.identifierAuthProvider,
|
|
1432
|
+
client_device_info: toClientDeviceInfoPayload(domain.deviceInfo),
|
|
1433
|
+
user_agent: domain.userAgent,
|
|
1434
|
+
ip_address: domain.ipAddress,
|
|
1435
|
+
expires_at: domain.expiresAt,
|
|
1436
|
+
last_accessed_at: domain.lastAccessedAt,
|
|
1437
|
+
last_reauthenticated_at: domain.lastReauthenticatedAt,
|
|
1438
|
+
is_sensitive_values_masked: domain.isSensitiveValuesMasked,
|
|
1439
|
+
created_at: domain.createdAt,
|
|
1440
|
+
updated_at: domain.updatedAt
|
|
1441
|
+
});
|
|
1442
|
+
|
|
1443
|
+
export const toSessionToken = (payload) => ({
|
|
1444
|
+
accessToken: payload.access_token,
|
|
1445
|
+
refreshToken: payload.refresh_token,
|
|
1446
|
+
expiresAt: payload.expires_at,
|
|
1447
|
+
tokenType: payload.token_type,
|
|
1448
|
+
sessionId: toUserSessionIdOrThrow(payload.session_id),
|
|
1449
|
+
identifierId: toUserIdentifierIdOrThrow(payload.identifier_id)
|
|
1450
|
+
});
|
|
1451
|
+
|
|
1452
|
+
export const toSessionTokenPayload = (domain) => ({
|
|
1453
|
+
access_token: domain.accessToken,
|
|
1454
|
+
refresh_token: domain.refreshToken,
|
|
1455
|
+
expires_at: domain.expiresAt,
|
|
1456
|
+
token_type: domain.tokenType,
|
|
1457
|
+
session_id: domain.sessionId,
|
|
1458
|
+
identifier_id: domain.identifierId
|
|
1459
|
+
});
|
|
1460
|
+
|
|
1461
|
+
export const toUserDetails = (payload) => ({
|
|
1462
|
+
id: toUserIdOrThrow(payload.id),
|
|
1463
|
+
role: payload.role,
|
|
1464
|
+
accountStatus: payload.account_status,
|
|
1465
|
+
accountStatusOnRestore: payload.account_status_on_restore,
|
|
1466
|
+
authorityLevel: payload.authority_level,
|
|
1467
|
+
permissionCodes: payload.permission_codes ? payload.permission_codes.map(val => toPermissionCodeOrThrow(val)) : [],
|
|
1468
|
+
isTotpEnabled: payload.is_totp_enabled,
|
|
1469
|
+
lastLoginAt: payload.last_login_at,
|
|
1470
|
+
lastActiveAt: payload.last_active_at,
|
|
1471
|
+
createdAt: payload.created_at,
|
|
1472
|
+
updatedAt: payload.updated_at,
|
|
1473
|
+
scheduledPermanentDeletionAt: payload.scheduled_permanent_deletion_at,
|
|
1474
|
+
lockoutType: payload.account_lockout_type,
|
|
1475
|
+
temporaryLockoutUntil: payload.temporary_lockout_until
|
|
1476
|
+
});
|
|
1477
|
+
|
|
1478
|
+
export const toUserDetailsPayload = (domain) => ({
|
|
1479
|
+
id: domain.id,
|
|
1480
|
+
role: domain.role,
|
|
1481
|
+
account_status: domain.accountStatus,
|
|
1482
|
+
account_status_on_restore: domain.accountStatusOnRestore,
|
|
1483
|
+
authority_level: domain.authorityLevel,
|
|
1484
|
+
permission_codes: domain.permissionCodes,
|
|
1485
|
+
is_totp_enabled: domain.isTotpEnabled,
|
|
1486
|
+
last_login_at: domain.lastLoginAt,
|
|
1487
|
+
last_active_at: domain.lastActiveAt,
|
|
1488
|
+
created_at: domain.createdAt,
|
|
1489
|
+
updated_at: domain.updatedAt,
|
|
1490
|
+
scheduled_permanent_deletion_at: domain.scheduledPermanentDeletionAt,
|
|
1491
|
+
account_lockout_type: domain.lockoutType,
|
|
1492
|
+
temporary_lockout_until: domain.temporaryLockoutUntil
|
|
1493
|
+
});
|
|
1494
|
+
|
|
1495
|
+
export const toUserPublic = (payload) => ({
|
|
1496
|
+
id: toUserIdOrThrow(payload.id),
|
|
1497
|
+
role: payload.role,
|
|
1498
|
+
accountStatus: payload.account_status
|
|
1499
|
+
});
|
|
1500
|
+
|
|
1501
|
+
export const toUserPublicPayload = (domain) => ({
|
|
1502
|
+
id: domain.id,
|
|
1503
|
+
role: domain.role,
|
|
1504
|
+
account_status: domain.accountStatus
|
|
1505
|
+
});
|
|
1506
|
+
|
|
671
1507
|
export const clientTypeSchema = z.enum(["web", "android", "ios", "desktop"]);
|
|
672
1508
|
export const ClientType = {
|
|
673
1509
|
WEB: "web",
|
|
@@ -803,6 +1639,38 @@ SELF_REGENERATE_RECOVERY_CODES: "self_regenerate_recovery_codes",
|
|
|
803
1639
|
REFRESH_TOKEN_REUSE_DETECTED: "refresh_token_reuse_detected"
|
|
804
1640
|
};
|
|
805
1641
|
|
|
1642
|
+
export const commonAuditMetadataKeySchema = z.enum(["device_id", "device_name", "client_type", "language", "app_version", "os_version", "user_agent", "key_ip_address", "host", "origin", "api_version", "trace_id", "denied_reason", "error_id", "error_code"]);
|
|
1643
|
+
export const CommonAuditMetadataKey = {
|
|
1644
|
+
DEVICE_ID: "device_id",
|
|
1645
|
+
DEVICE_NAME: "device_name",
|
|
1646
|
+
CLIENT_TYPE: "client_type",
|
|
1647
|
+
LANGUAGE: "language",
|
|
1648
|
+
APP_VERSION: "app_version",
|
|
1649
|
+
OS_VERSION: "os_version",
|
|
1650
|
+
USER_AGENT: "user_agent",
|
|
1651
|
+
IP_ADDRESS: "key_ip_address",
|
|
1652
|
+
HOST: "host",
|
|
1653
|
+
ORIGIN: "origin",
|
|
1654
|
+
API_VERSION: "api_version",
|
|
1655
|
+
TRACE_ID: "trace_id",
|
|
1656
|
+
DENIED_REASON: "denied_reason",
|
|
1657
|
+
ERROR_ID: "error_id",
|
|
1658
|
+
ERROR_CODE: "error_code"
|
|
1659
|
+
};
|
|
1660
|
+
|
|
1661
|
+
export const userAuditMetadataKeySchema = z.enum(["user_id", "session_id", "identifier_id", "email_address", "phone_number", "user_auth_provider", "external_id", "account_lockout_type", "temporary_lockout_until"]);
|
|
1662
|
+
export const UserAuditMetadataKey = {
|
|
1663
|
+
USER_ID: "user_id",
|
|
1664
|
+
SESSION_ID: "session_id",
|
|
1665
|
+
IDENTIFIER_ID: "identifier_id",
|
|
1666
|
+
EMAIL_ADDRESS: "email_address",
|
|
1667
|
+
PHONE_NUMBER: "phone_number",
|
|
1668
|
+
USER_AUTH_PROVIDER: "user_auth_provider",
|
|
1669
|
+
EXTERNAL_ID: "external_id",
|
|
1670
|
+
ACCOUNT_LOCKOUT_TYPE: "account_lockout_type",
|
|
1671
|
+
TEMPORARY_LOCKOUT_UNTIL: "temporary_lockout_until"
|
|
1672
|
+
};
|
|
1673
|
+
|
|
806
1674
|
export const userAccountStatusSchema = z.enum(["active", "read_only", "banned", "security_hold", "pending_deletion"]);
|
|
807
1675
|
export const UserAccountStatus = {
|
|
808
1676
|
ACTIVE: "active",
|
|
@@ -923,13 +1791,6 @@ message: z.string(),
|
|
|
923
1791
|
args: z.record(z.string(), z.string())
|
|
924
1792
|
});
|
|
925
1793
|
|
|
926
|
-
export const clientInfoPayloadSchema = z.object({
|
|
927
|
-
client_device_info: clientDeviceInfoPayloadSchema,
|
|
928
|
-
user_agent: z.string().nullable(),
|
|
929
|
-
ip_address: z.string().nullable(),
|
|
930
|
-
api_version: z.string().nullable()
|
|
931
|
-
});
|
|
932
|
-
|
|
933
1794
|
export const clientDeviceInfoPayloadSchema = z.object({
|
|
934
1795
|
client_type: clientTypeSchema.nullable(),
|
|
935
1796
|
language: z.string().nullable(),
|
|
@@ -981,41 +1842,6 @@ require_digit: z.boolean(),
|
|
|
981
1842
|
require_special_char: z.boolean()
|
|
982
1843
|
});
|
|
983
1844
|
|
|
984
|
-
export const managementSecuritySettingsPayloadSchema = z.object({
|
|
985
|
-
recent_authentication_validity_seconds_for_open_user: z.number(),
|
|
986
|
-
recent_authentication_validity_seconds_for_management_user: z.number(),
|
|
987
|
-
management_password_policy: managementPasswordPolicyPayloadSchema,
|
|
988
|
-
otp_confirmation: otpConfirmationPayloadSchema,
|
|
989
|
-
account_lockout_policy: accountLockoutPolicyPayloadSchema,
|
|
990
|
-
account_lockout_check_interval_seconds: z.number(),
|
|
991
|
-
open_ip_restriction_policy: ipRestrictionPolicyPayloadSchema,
|
|
992
|
-
management_ip_restriction_policy: ipRestrictionPolicyPayloadSchema,
|
|
993
|
-
expiration_seconds: z.number(),
|
|
994
|
-
max_requests_per_period: z.number(),
|
|
995
|
-
rate_limit_period_seconds: z.number(),
|
|
996
|
-
refresh_token_rotation_grace_period_seconds: z.number()
|
|
997
|
-
});
|
|
998
|
-
|
|
999
|
-
export const openSecuritySettingsPayloadSchema = z.object({
|
|
1000
|
-
open_password_policy: openPasswordPolicyPayloadSchema,
|
|
1001
|
-
otp_confirmation: otpConfirmationPayloadSchema
|
|
1002
|
-
});
|
|
1003
|
-
|
|
1004
|
-
export const totpRecoveryCodesPayloadSchema = z.object({
|
|
1005
|
-
totp_recovery_codes: z.array(z.string())
|
|
1006
|
-
});
|
|
1007
|
-
|
|
1008
|
-
export const totpSetupPayloadSchema = z.object({
|
|
1009
|
-
totp_secret_key: z.string(),
|
|
1010
|
-
totp_otp_auth_url: z.string(),
|
|
1011
|
-
mfa_token: z.string()
|
|
1012
|
-
});
|
|
1013
|
-
|
|
1014
|
-
export const verifyTotpPayloadSchema = z.object({
|
|
1015
|
-
mfa_token: z.string(),
|
|
1016
|
-
totp_code: z.string()
|
|
1017
|
-
});
|
|
1018
|
-
|
|
1019
1845
|
export const managementGlobalSettingsPayloadSchema = z.object({
|
|
1020
1846
|
privacy_policy_url: z.string().nullable(),
|
|
1021
1847
|
terms_of_service_url: z.string().nullable(),
|
|
@@ -1033,29 +1859,10 @@ contact_support_email: z.string().nullable(),
|
|
|
1033
1859
|
min_supported_app_versions: z.record(z.string(), z.string())
|
|
1034
1860
|
});
|
|
1035
1861
|
|
|
1036
|
-
export const auditEventPayloadSchema = z.object({
|
|
1037
|
-
id: auditEventIdSchema,
|
|
1038
|
-
actor_id: userIdSchema.nullable(),
|
|
1039
|
-
actor_type: auditActorTypeSchema,
|
|
1040
|
-
actor_user_role: userRoleSchema.nullable(),
|
|
1041
|
-
action: z.string(),
|
|
1042
|
-
resource: z.string(),
|
|
1043
|
-
resource_id: z.string().nullable(),
|
|
1044
|
-
status: auditStatusSchema,
|
|
1045
|
-
metadata: z.array(auditEventMetadataPayloadSchema),
|
|
1046
|
-
message: z.string().nullable(),
|
|
1047
|
-
created_at: z.number()
|
|
1048
|
-
});
|
|
1049
|
-
|
|
1050
1862
|
export const auditEventMetadataPayloadSchema = z.object({
|
|
1051
1863
|
key: z.string(),
|
|
1052
1864
|
value: z.string(),
|
|
1053
|
-
value_sensitivity:
|
|
1054
|
-
});
|
|
1055
|
-
|
|
1056
|
-
export const authDataPayloadSchema = z.object({
|
|
1057
|
-
user: userDetailsPayloadSchema,
|
|
1058
|
-
session_token: sessionTokenPayloadSchema
|
|
1865
|
+
value_sensitivity: auditValueSensitivitySchema
|
|
1059
1866
|
});
|
|
1060
1867
|
|
|
1061
1868
|
export const availableAuthProvidersPayloadSchema = z.object({
|
|
@@ -1063,44 +1870,6 @@ export const availableAuthProvidersPayloadSchema = z.object({
|
|
|
1063
1870
|
secondary: z.array(z.string())
|
|
1064
1871
|
});
|
|
1065
1872
|
|
|
1066
|
-
export const managementAuthSettingsPayloadSchema = z.object({
|
|
1067
|
-
available_auth_providers: availableAuthProvidersPayloadSchema,
|
|
1068
|
-
max_total_identifiers: z.number(),
|
|
1069
|
-
max_email_identifiers: z.number(),
|
|
1070
|
-
max_phone_identifiers: z.number(),
|
|
1071
|
-
max_identifiers_per_external_provider: z.number(),
|
|
1072
|
-
max_active_sessions_for_open_user: z.number(),
|
|
1073
|
-
max_active_sessions_for_management_user: z.number(),
|
|
1074
|
-
access_token_validity_seconds: z.number(),
|
|
1075
|
-
refresh_token_validity_seconds: z.number(),
|
|
1076
|
-
account_deletion_grace_period_seconds: z.number(),
|
|
1077
|
-
account_deletion_check_interval_seconds: z.number(),
|
|
1078
|
-
is_registration_enabled: z.boolean(),
|
|
1079
|
-
open_email_restriction_policy: emailRestrictionPolicyPayloadSchema,
|
|
1080
|
-
management_email_restriction_policy: emailRestrictionPolicyPayloadSchema
|
|
1081
|
-
});
|
|
1082
|
-
|
|
1083
|
-
export const openAuthSettingsPayloadSchema = z.object({
|
|
1084
|
-
available_auth_providers: availableAuthProvidersPayloadSchema,
|
|
1085
|
-
max_total_identifiers: z.number(),
|
|
1086
|
-
max_email_identifiers: z.number(),
|
|
1087
|
-
max_phone_identifiers: z.number(),
|
|
1088
|
-
max_identifiers_per_external_provider: z.number(),
|
|
1089
|
-
is_registration_enabled: z.boolean()
|
|
1090
|
-
});
|
|
1091
|
-
|
|
1092
|
-
export const managementUserConfigurationPayloadSchema = z.object({
|
|
1093
|
-
management_global_settings: managementGlobalSettingsPayloadSchema,
|
|
1094
|
-
management_security_settings: managementSecuritySettingsPayloadSchema,
|
|
1095
|
-
management_auth_settings: managementAuthSettingsPayloadSchema
|
|
1096
|
-
});
|
|
1097
|
-
|
|
1098
|
-
export const openUserConfigurationPayloadSchema = z.object({
|
|
1099
|
-
open_global_settings: openGlobalSettingsPayloadSchema,
|
|
1100
|
-
open_security_settings: openSecuritySettingsPayloadSchema,
|
|
1101
|
-
open_auth_settings: openAuthSettingsPayloadSchema
|
|
1102
|
-
});
|
|
1103
|
-
|
|
1104
1873
|
export const emailRestrictionPolicyPayloadSchema = z.object({
|
|
1105
1874
|
is_blacklist_enabled: z.boolean(),
|
|
1106
1875
|
blacklist: z.array(z.string()),
|
|
@@ -1108,45 +1877,6 @@ is_whitelist_enabled: z.boolean(),
|
|
|
1108
1877
|
whitelist: z.array(z.string())
|
|
1109
1878
|
});
|
|
1110
1879
|
|
|
1111
|
-
export const userIdentifierPayloadSchema = z.object({
|
|
1112
|
-
id: userIdentifierIdSchema,
|
|
1113
|
-
user_id: userIdSchema,
|
|
1114
|
-
user_auth_provider: userAuthProviderSchema,
|
|
1115
|
-
identifier: z.string(),
|
|
1116
|
-
display_name: z.string(),
|
|
1117
|
-
external_provider_email: z.string().nullable(),
|
|
1118
|
-
is_sensitive_values_masked: z.boolean(),
|
|
1119
|
-
created_at: z.number(),
|
|
1120
|
-
updated_at: z.number().nullable()
|
|
1121
|
-
});
|
|
1122
|
-
|
|
1123
|
-
export const deletedSessionsPayloadSchema = z.object({
|
|
1124
|
-
deleted_session_ids: z.array(z.string())
|
|
1125
|
-
});
|
|
1126
|
-
|
|
1127
|
-
export const userSessionPayloadSchema = z.object({
|
|
1128
|
-
id: userSessionIdSchema,
|
|
1129
|
-
user_id: userIdSchema,
|
|
1130
|
-
user_role: userRoleSchema,
|
|
1131
|
-
identifier: z.string(),
|
|
1132
|
-
identifier_id: userIdentifierIdSchema,
|
|
1133
|
-
identifier_display_name: z.string(),
|
|
1134
|
-
identifier_auth_provider: userAuthProviderSchema,
|
|
1135
|
-
client_device_info: clientDeviceInfoPayloadSchema,
|
|
1136
|
-
user_agent: z.string().nullable(),
|
|
1137
|
-
ip_address: z.string().nullable(),
|
|
1138
|
-
expires_at: z.number(),
|
|
1139
|
-
last_accessed_at: z.number(),
|
|
1140
|
-
last_reauthenticated_at: z.number(),
|
|
1141
|
-
is_sensitive_values_masked: z.boolean(),
|
|
1142
|
-
created_at: z.number(),
|
|
1143
|
-
updated_at: z.number().nullable()
|
|
1144
|
-
});
|
|
1145
|
-
|
|
1146
|
-
export const refreshTokenPayloadSchema = z.object({
|
|
1147
|
-
refresh_token: z.string()
|
|
1148
|
-
});
|
|
1149
|
-
|
|
1150
1880
|
export const sessionTokenPayloadSchema = z.object({
|
|
1151
1881
|
access_token: z.string(),
|
|
1152
1882
|
refresh_token: z.string(),
|
|
@@ -1179,6 +1909,41 @@ role: userRoleSchema,
|
|
|
1179
1909
|
account_status: userAccountStatusSchema
|
|
1180
1910
|
});
|
|
1181
1911
|
|
|
1912
|
+
export const userIdentifierPayloadSchema = z.object({
|
|
1913
|
+
id: userIdentifierIdSchema,
|
|
1914
|
+
user_id: userIdSchema,
|
|
1915
|
+
user_auth_provider: userAuthProviderSchema,
|
|
1916
|
+
identifier: z.string(),
|
|
1917
|
+
display_name: z.string(),
|
|
1918
|
+
external_provider_email: z.string().nullable(),
|
|
1919
|
+
is_sensitive_values_masked: z.boolean(),
|
|
1920
|
+
created_at: z.number(),
|
|
1921
|
+
updated_at: z.number().nullable()
|
|
1922
|
+
});
|
|
1923
|
+
|
|
1924
|
+
export const deletedSessionsPayloadSchema = z.object({
|
|
1925
|
+
deleted_session_ids: z.array(z.string())
|
|
1926
|
+
});
|
|
1927
|
+
|
|
1928
|
+
export const refreshTokenPayloadSchema = z.object({
|
|
1929
|
+
refresh_token: z.string()
|
|
1930
|
+
});
|
|
1931
|
+
|
|
1932
|
+
export const totpRecoveryCodesPayloadSchema = z.object({
|
|
1933
|
+
totp_recovery_codes: z.array(z.string())
|
|
1934
|
+
});
|
|
1935
|
+
|
|
1936
|
+
export const totpSetupPayloadSchema = z.object({
|
|
1937
|
+
totp_secret_key: z.string(),
|
|
1938
|
+
totp_otp_auth_url: z.string(),
|
|
1939
|
+
mfa_token: z.string()
|
|
1940
|
+
});
|
|
1941
|
+
|
|
1942
|
+
export const verifyTotpPayloadSchema = z.object({
|
|
1943
|
+
mfa_token: z.string(),
|
|
1944
|
+
totp_code: z.string()
|
|
1945
|
+
});
|
|
1946
|
+
|
|
1182
1947
|
export const socketFrameSchema = z.object({
|
|
1183
1948
|
id: userIdSchema,
|
|
1184
1949
|
type: z.string(),
|
|
@@ -1197,6 +1962,109 @@ operation_system_version: z.string().nullable(),
|
|
|
1197
1962
|
api_version: z.string().nullable()
|
|
1198
1963
|
});
|
|
1199
1964
|
|
|
1965
|
+
export const clientInfoPayloadSchema = z.object({
|
|
1966
|
+
client_device_info: clientDeviceInfoPayloadSchema,
|
|
1967
|
+
user_agent: z.string().nullable(),
|
|
1968
|
+
ip_address: z.string().nullable(),
|
|
1969
|
+
api_version: z.string().nullable()
|
|
1970
|
+
});
|
|
1971
|
+
|
|
1972
|
+
export const userSessionPayloadSchema = z.object({
|
|
1973
|
+
id: userSessionIdSchema,
|
|
1974
|
+
user_id: userIdSchema,
|
|
1975
|
+
user_role: userRoleSchema,
|
|
1976
|
+
identifier: z.string(),
|
|
1977
|
+
identifier_id: userIdentifierIdSchema,
|
|
1978
|
+
identifier_display_name: z.string(),
|
|
1979
|
+
identifier_auth_provider: userAuthProviderSchema,
|
|
1980
|
+
client_device_info: clientDeviceInfoPayloadSchema,
|
|
1981
|
+
user_agent: z.string().nullable(),
|
|
1982
|
+
ip_address: z.string().nullable(),
|
|
1983
|
+
expires_at: z.number(),
|
|
1984
|
+
last_accessed_at: z.number(),
|
|
1985
|
+
last_reauthenticated_at: z.number(),
|
|
1986
|
+
is_sensitive_values_masked: z.boolean(),
|
|
1987
|
+
created_at: z.number(),
|
|
1988
|
+
updated_at: z.number().nullable()
|
|
1989
|
+
});
|
|
1990
|
+
|
|
1991
|
+
export const auditEventPayloadSchema = z.object({
|
|
1992
|
+
id: auditEventIdSchema,
|
|
1993
|
+
actor_id: userIdSchema.nullable(),
|
|
1994
|
+
actor_type: auditActorTypeSchema,
|
|
1995
|
+
actor_user_role: userRoleSchema.nullable(),
|
|
1996
|
+
action: z.string(),
|
|
1997
|
+
resource: z.string(),
|
|
1998
|
+
resource_id: z.string().nullable(),
|
|
1999
|
+
status: auditStatusSchema,
|
|
2000
|
+
metadata: z.array(auditEventMetadataPayloadSchema),
|
|
2001
|
+
message: z.string().nullable(),
|
|
2002
|
+
created_at: z.number()
|
|
2003
|
+
});
|
|
2004
|
+
|
|
2005
|
+
export const authDataPayloadSchema = z.object({
|
|
2006
|
+
user: userDetailsPayloadSchema,
|
|
2007
|
+
session_token: sessionTokenPayloadSchema
|
|
2008
|
+
});
|
|
2009
|
+
|
|
2010
|
+
export const managementAuthSettingsPayloadSchema = z.object({
|
|
2011
|
+
available_auth_providers: availableAuthProvidersPayloadSchema,
|
|
2012
|
+
max_total_identifiers: z.number(),
|
|
2013
|
+
max_email_identifiers: z.number(),
|
|
2014
|
+
max_phone_identifiers: z.number(),
|
|
2015
|
+
max_identifiers_per_external_provider: z.number(),
|
|
2016
|
+
max_active_sessions_for_open_user: z.number(),
|
|
2017
|
+
max_active_sessions_for_management_user: z.number(),
|
|
2018
|
+
access_token_validity_seconds: z.number(),
|
|
2019
|
+
refresh_token_validity_seconds: z.number(),
|
|
2020
|
+
account_deletion_grace_period_seconds: z.number(),
|
|
2021
|
+
account_deletion_check_interval_seconds: z.number(),
|
|
2022
|
+
is_registration_enabled: z.boolean(),
|
|
2023
|
+
open_email_restriction_policy: emailRestrictionPolicyPayloadSchema,
|
|
2024
|
+
management_email_restriction_policy: emailRestrictionPolicyPayloadSchema
|
|
2025
|
+
});
|
|
2026
|
+
|
|
2027
|
+
export const openAuthSettingsPayloadSchema = z.object({
|
|
2028
|
+
available_auth_providers: availableAuthProvidersPayloadSchema,
|
|
2029
|
+
max_total_identifiers: z.number(),
|
|
2030
|
+
max_email_identifiers: z.number(),
|
|
2031
|
+
max_phone_identifiers: z.number(),
|
|
2032
|
+
max_identifiers_per_external_provider: z.number(),
|
|
2033
|
+
is_registration_enabled: z.boolean()
|
|
2034
|
+
});
|
|
2035
|
+
|
|
2036
|
+
export const managementSecuritySettingsPayloadSchema = z.object({
|
|
2037
|
+
recent_authentication_validity_seconds_for_open_user: z.number(),
|
|
2038
|
+
recent_authentication_validity_seconds_for_management_user: z.number(),
|
|
2039
|
+
management_password_policy: managementPasswordPolicyPayloadSchema,
|
|
2040
|
+
otp_confirmation: otpConfirmationPayloadSchema,
|
|
2041
|
+
account_lockout_policy: accountLockoutPolicyPayloadSchema,
|
|
2042
|
+
account_lockout_check_interval_seconds: z.number(),
|
|
2043
|
+
open_ip_restriction_policy: ipRestrictionPolicyPayloadSchema,
|
|
2044
|
+
management_ip_restriction_policy: ipRestrictionPolicyPayloadSchema,
|
|
2045
|
+
expiration_seconds: z.number(),
|
|
2046
|
+
max_requests_per_period: z.number(),
|
|
2047
|
+
rate_limit_period_seconds: z.number(),
|
|
2048
|
+
refresh_token_rotation_grace_period_seconds: z.number()
|
|
2049
|
+
});
|
|
2050
|
+
|
|
2051
|
+
export const openSecuritySettingsPayloadSchema = z.object({
|
|
2052
|
+
open_password_policy: openPasswordPolicyPayloadSchema,
|
|
2053
|
+
otp_confirmation: otpConfirmationPayloadSchema
|
|
2054
|
+
});
|
|
2055
|
+
|
|
2056
|
+
export const managementUserConfigurationPayloadSchema = z.object({
|
|
2057
|
+
management_global_settings: managementGlobalSettingsPayloadSchema,
|
|
2058
|
+
management_security_settings: managementSecuritySettingsPayloadSchema,
|
|
2059
|
+
management_auth_settings: managementAuthSettingsPayloadSchema
|
|
2060
|
+
});
|
|
2061
|
+
|
|
2062
|
+
export const openUserConfigurationPayloadSchema = z.object({
|
|
2063
|
+
open_global_settings: openGlobalSettingsPayloadSchema,
|
|
2064
|
+
open_security_settings: openSecuritySettingsPayloadSchema,
|
|
2065
|
+
open_auth_settings: openAuthSettingsPayloadSchema
|
|
2066
|
+
});
|
|
2067
|
+
|
|
1200
2068
|
export const createByEmailRequestSchema = z.object({
|
|
1201
2069
|
email: z.string(),
|
|
1202
2070
|
password: z.string().nullable(),
|