@dalmore/api-contracts 1.0.3 → 1.0.5
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 +34 -60
- package/index.d.mts +17 -0
- package/index.d.ts +17 -0
- package/index.mjs +1001 -18638
- package/package.json +7 -54
- package/clients/index.mjs +0 -10970
- package/compliance/index.mjs +0 -20016
- package/compliance-apikey/index.mjs +0 -9795
- package/helpers/index.mjs +0 -146
- package/investors/index.mjs +0 -12844
- package/issuers/index.mjs +0 -16168
- package/secondaries/index.mjs +0 -10282
- package/src/common/helpers/index.ts +0 -205
- package/src/common/types/account-contact.types.ts +0 -98
- package/src/common/types/account-detail.types.ts +0 -27
- package/src/common/types/account-integration.types.ts +0 -143
- package/src/common/types/account-manager.types.ts +0 -124
- package/src/common/types/account.types.ts +0 -296
- package/src/common/types/activity.types.ts +0 -274
- package/src/common/types/address.types.ts +0 -41
- package/src/common/types/aic.types.ts +0 -246
- package/src/common/types/aml.types.ts +0 -18
- package/src/common/types/api-key-logs.types.ts +0 -66
- package/src/common/types/api-keys.types.ts +0 -69
- package/src/common/types/asset.types.ts +0 -338
- package/src/common/types/auth.types.ts +0 -370
- package/src/common/types/batch-jobs.types.ts +0 -150
- package/src/common/types/bonus-tier.types.ts +0 -147
- package/src/common/types/cart.types.ts +0 -18
- package/src/common/types/checklist-items.types.ts +0 -70
- package/src/common/types/checklist.types.ts +0 -97
- package/src/common/types/common.types.ts +0 -1520
- package/src/common/types/comply-advantage-api.types.ts +0 -316
- package/src/common/types/comply-advantage.types.ts +0 -25
- package/src/common/types/contact-us.types.ts +0 -107
- package/src/common/types/contract-helpers.ts +0 -205
- package/src/common/types/countries.types.ts +0 -375
- package/src/common/types/covered-person.types.ts +0 -274
- package/src/common/types/dashboard.types.ts +0 -799
- package/src/common/types/data-record.types.ts +0 -325
- package/src/common/types/data-room.types.ts +0 -242
- package/src/common/types/default-theme-config.types.ts +0 -87
- package/src/common/types/disbursement-adjustment.types.ts +0 -32
- package/src/common/types/disbursement-approval-user.types.ts +0 -100
- package/src/common/types/disbursement-review.types.ts +0 -110
- package/src/common/types/disbursement-transaction.types.ts +0 -72
- package/src/common/types/disbursements.types.ts +0 -310
- package/src/common/types/domain-filter.types.ts +0 -55
- package/src/common/types/email-theme.types.ts +0 -442
- package/src/common/types/entity.types.ts +0 -15
- package/src/common/types/error-responses.types.ts +0 -135
- package/src/common/types/escrow-account.types.ts +0 -104
- package/src/common/types/exchange-api-key.types.ts +0 -121
- package/src/common/types/exchange-import.types.ts +0 -36
- package/src/common/types/exchange-provider.types.ts +0 -329
- package/src/common/types/file.types.ts +0 -461
- package/src/common/types/health.types.ts +0 -29
- package/src/common/types/index.ts +0 -48
- package/src/common/types/individuals.types.ts +0 -554
- package/src/common/types/investor-account.types.ts +0 -1239
- package/src/common/types/investorAccountIdSchema.type.ts +0 -0
- package/src/common/types/investors-offering.types.ts +0 -65
- package/src/common/types/invite.types.ts +0 -133
- package/src/common/types/issuer-bank-account.types.ts +0 -107
- package/src/common/types/issuer-offering.types.ts +0 -306
- package/src/common/types/issuer-payment-method.types.ts +0 -341
- package/src/common/types/issuer.types.ts +0 -312
- package/src/common/types/job-item.types.ts +0 -119
- package/src/common/types/jobs.types.ts +0 -171
- package/src/common/types/kyb.types.ts +0 -53
- package/src/common/types/kyc.types.ts +0 -188
- package/src/common/types/legal-entity.types.ts +0 -185
- package/src/common/types/login-history.types.ts +0 -46
- package/src/common/types/mail-template.types.ts +0 -436
- package/src/common/types/north-cap-integration.types.ts +0 -190
- package/src/common/types/note.types.ts +0 -109
- package/src/common/types/notification.types.ts +0 -58
- package/src/common/types/notion-api.types.ts +0 -374
- package/src/common/types/notion-database.types.ts +0 -125
- package/src/common/types/notion-page.types.ts +0 -267
- package/src/common/types/offering-reports.types.ts +0 -153
- package/src/common/types/offering-submission.types.ts +0 -314
- package/src/common/types/offering.types.ts +0 -590
- package/src/common/types/page-revision.types.ts +0 -86
- package/src/common/types/page.types.ts +0 -436
- package/src/common/types/password.type.ts +0 -15
- package/src/common/types/payment-methods.types.ts +0 -298
- package/src/common/types/phone.type.ts +0 -27
- package/src/common/types/portfolio.types.ts +0 -50
- package/src/common/types/privacy-policy-and-tos.types.ts +0 -231
- package/src/common/types/queue.types.ts +0 -111
- package/src/common/types/registered-reps.types.ts +0 -25
- package/src/common/types/rejection-reasons.types.ts +0 -56
- package/src/common/types/review.types.ts +0 -133
- package/src/common/types/role.types.ts +0 -26
- package/src/common/types/secondary-customer.types.ts +0 -66
- package/src/common/types/secondary-issuer.types.ts +0 -50
- package/src/common/types/secondary-order.types.ts +0 -58
- package/src/common/types/secondary-security.types.ts +0 -60
- package/src/common/types/secondary-trade.entity.ts +0 -16
- package/src/common/types/secondary-trade.types.ts +0 -95
- package/src/common/types/secure-request.types.ts +0 -68
- package/src/common/types/signer.types.ts +0 -651
- package/src/common/types/site-link.types.ts +0 -166
- package/src/common/types/site-settings.types.ts +0 -726
- package/src/common/types/site.types.ts +0 -270
- package/src/common/types/sms.types.ts +0 -30
- package/src/common/types/state-machine.types.ts +0 -177
- package/src/common/types/states.types.ts +0 -163
- package/src/common/types/subdoc-preview.types.ts +0 -35
- package/src/common/types/task.types.ts +0 -258
- package/src/common/types/trade-adjustment.type.ts +0 -33
- package/src/common/types/trade-line-item.type.ts +0 -132
- package/src/common/types/trade.types.ts +0 -931
- package/src/common/types/transaction.types.ts +0 -198
- package/src/common/types/trusted-contact.types.ts +0 -122
- package/src/common/types/typography.types.ts +0 -75
- package/src/common/types/user-manual.types.ts +0 -290
- package/src/common/types/user-setting.types.ts +0 -133
- package/src/common/types/user.types.ts +0 -320
- package/src/common/types/webhook.types.ts +0 -588
- package/src/common/types/zip.type.ts +0 -36
- package/src/contracts/clients/accounts/index.ts +0 -61
- package/src/contracts/clients/aic/index.ts +0 -59
- package/src/contracts/clients/api-key-logs/index.ts +0 -53
- package/src/contracts/clients/api-keys/index.ts +0 -73
- package/src/contracts/clients/assets/index.ts +0 -102
- package/src/contracts/clients/auth/index.ts +0 -50
- package/src/contracts/clients/files/index.ts +0 -166
- package/src/contracts/clients/files-public/index.ts +0 -166
- package/src/contracts/clients/index.ts +0 -44
- package/src/contracts/clients/individuals/index.ts +0 -93
- package/src/contracts/clients/investor-accounts/index.ts +0 -93
- package/src/contracts/clients/issuers/index.ts +0 -94
- package/src/contracts/clients/legal-entities/index.ts +0 -93
- package/src/contracts/clients/offerings/index.ts +0 -117
- package/src/contracts/clients/secure-requests/index.ts +0 -34
- package/src/contracts/clients/sites/index.ts +0 -56
- package/src/contracts/clients/trades/index.ts +0 -122
- package/src/contracts/compliance/account-contacts/index.ts +0 -82
- package/src/contracts/compliance/account-managers/index.ts +0 -142
- package/src/contracts/compliance/accounts/index.ts +0 -187
- package/src/contracts/compliance/activities/index.ts +0 -55
- package/src/contracts/compliance/aic/index.ts +0 -60
- package/src/contracts/compliance/api-keys/index.ts +0 -91
- package/src/contracts/compliance/assets/index.ts +0 -122
- package/src/contracts/compliance/auth/index.ts +0 -134
- package/src/contracts/compliance/batch-jobs/index.ts +0 -62
- package/src/contracts/compliance/bonus-tiers/index.ts +0 -55
- package/src/contracts/compliance/checklist/index.ts +0 -87
- package/src/contracts/compliance/checklist-items/index.ts +0 -86
- package/src/contracts/compliance/covered-persons/index.ts +0 -97
- package/src/contracts/compliance/dashboard/index.ts +0 -111
- package/src/contracts/compliance/data-records/index.ts +0 -116
- package/src/contracts/compliance/data-rooms/index.ts +0 -113
- package/src/contracts/compliance/default-theme-configs/index.ts +0 -95
- package/src/contracts/compliance/disbursement/index.ts +0 -165
- package/src/contracts/compliance/disbursement-approval-users/index.ts +0 -84
- package/src/contracts/compliance/disbursement-transactions/index.ts +0 -37
- package/src/contracts/compliance/domain-filters/index.ts +0 -117
- package/src/contracts/compliance/email-themes/index.ts +0 -284
- package/src/contracts/compliance/escrow-accounts/index.ts +0 -85
- package/src/contracts/compliance/exchange-api-keys/index.ts +0 -129
- package/src/contracts/compliance/exchange-imports/index.ts +0 -137
- package/src/contracts/compliance/files/index.ts +0 -267
- package/src/contracts/compliance/files-public/index.ts +0 -188
- package/src/contracts/compliance/health/index.ts +0 -26
- package/src/contracts/compliance/index.ts +0 -147
- package/src/contracts/compliance/individuals/index.ts +0 -57
- package/src/contracts/compliance/investor-accounts/index.ts +0 -141
- package/src/contracts/compliance/invites/index.ts +0 -137
- package/src/contracts/compliance/issuer-bank-accounts/index.ts +0 -81
- package/src/contracts/compliance/issuer-payment-methods/index.ts +0 -81
- package/src/contracts/compliance/issuers/index.ts +0 -97
- package/src/contracts/compliance/job-items/index.ts +0 -58
- package/src/contracts/compliance/jobs/index.ts +0 -59
- package/src/contracts/compliance/kyb/index.ts +0 -54
- package/src/contracts/compliance/kyc/index.ts +0 -77
- package/src/contracts/compliance/legal-entities/index.ts +0 -57
- package/src/contracts/compliance/login-histories/index.ts +0 -37
- package/src/contracts/compliance/notes/index.ts +0 -69
- package/src/contracts/compliance/notion-databases/index.ts +0 -107
- package/src/contracts/compliance/notion-pages/index.ts +0 -105
- package/src/contracts/compliance/offering-reports/index.ts +0 -149
- package/src/contracts/compliance/offerings/index.ts +0 -233
- package/src/contracts/compliance/pages/index.ts +0 -178
- package/src/contracts/compliance/payment-methods/index.ts +0 -57
- package/src/contracts/compliance/rejection-reasons/index.ts +0 -32
- package/src/contracts/compliance/review/index.ts +0 -169
- package/src/contracts/compliance/roles/index.ts +0 -34
- package/src/contracts/compliance/secondary-customers/index.ts +0 -77
- package/src/contracts/compliance/secondary-orders/index.ts +0 -60
- package/src/contracts/compliance/secondary-trades/index.ts +0 -100
- package/src/contracts/compliance/secure-requests/index.ts +0 -54
- package/src/contracts/compliance/signer/index.ts +0 -369
- package/src/contracts/compliance/site-links/index.ts +0 -128
- package/src/contracts/compliance/site-settings/index.ts +0 -669
- package/src/contracts/compliance/sites/index.ts +0 -56
- package/src/contracts/compliance/state-machine/index.ts +0 -94
- package/src/contracts/compliance/tasks/index.ts +0 -91
- package/src/contracts/compliance/third-parties/index.ts +0 -52
- package/src/contracts/compliance/trade-line-items/index.ts +0 -59
- package/src/contracts/compliance/trades/index.ts +0 -230
- package/src/contracts/compliance/transactions/index.ts +0 -161
- package/src/contracts/compliance/user-manuals/index.ts +0 -271
- package/src/contracts/compliance/user-settings/index.ts +0 -189
- package/src/contracts/compliance/users/index.ts +0 -200
- package/src/contracts/compliance/webhooks/index.ts +0 -41
- package/src/contracts/compliance-apikey/accounts/index.ts +0 -58
- package/src/contracts/compliance-apikey/index.ts +0 -14
- package/src/contracts/index.ts +0 -6
- package/src/contracts/investors/account-contacts/index.ts +0 -58
- package/src/contracts/investors/aic/index.ts +0 -59
- package/src/contracts/investors/assets/index.ts +0 -61
- package/src/contracts/investors/auth/index.ts +0 -116
- package/src/contracts/investors/bonus-tiers/index.ts +0 -37
- package/src/contracts/investors/cart/index.ts +0 -75
- package/src/contracts/investors/contact-us/index.ts +0 -48
- package/src/contracts/investors/data-records/index.ts +0 -113
- package/src/contracts/investors/data-rooms/index.ts +0 -96
- package/src/contracts/investors/files/index.ts +0 -167
- package/src/contracts/investors/files-public/index.ts +0 -185
- package/src/contracts/investors/index.ts +0 -72
- package/src/contracts/investors/individuals/index.ts +0 -99
- package/src/contracts/investors/investor-accounts/index.ts +0 -110
- package/src/contracts/investors/issuer-payment-methods/index.ts +0 -36
- package/src/contracts/investors/issuers/index.ts +0 -30
- package/src/contracts/investors/legal-entities/index.ts +0 -93
- package/src/contracts/investors/notes/index.ts +0 -69
- package/src/contracts/investors/offerings/index.ts +0 -93
- package/src/contracts/investors/pages/index.ts +0 -88
- package/src/contracts/investors/payment-methods/index.ts +0 -149
- package/src/contracts/investors/portfolios/index.ts +0 -53
- package/src/contracts/investors/sites/index.ts +0 -96
- package/src/contracts/investors/tasks/index.ts +0 -111
- package/src/contracts/investors/trade-line-items/index.ts +0 -75
- package/src/contracts/investors/trades/index.ts +0 -114
- package/src/contracts/investors/transactions/index.ts +0 -37
- package/src/contracts/investors/trusted-contacts/index.ts +0 -93
- package/src/contracts/investors/user-manuals/index.ts +0 -62
- package/src/contracts/investors/user-settings/index.ts +0 -170
- package/src/contracts/investors/users/index.ts +0 -45
- package/src/contracts/investors/webhooks/index.ts +0 -30
- package/src/contracts/issuers/account-contacts/index.ts +0 -76
- package/src/contracts/issuers/account-integrations/index.ts +0 -97
- package/src/contracts/issuers/accounts/index.ts +0 -97
- package/src/contracts/issuers/activities/index.ts +0 -54
- package/src/contracts/issuers/aic/index.ts +0 -39
- package/src/contracts/issuers/api-key-logs/index.ts +0 -53
- package/src/contracts/issuers/api-keys/index.ts +0 -93
- package/src/contracts/issuers/assets/index.ts +0 -122
- package/src/contracts/issuers/auth/index.ts +0 -152
- package/src/contracts/issuers/bonus-tiers/index.ts +0 -55
- package/src/contracts/issuers/contact-us/index.ts +0 -48
- package/src/contracts/issuers/covered-persons/index.ts +0 -136
- package/src/contracts/issuers/dashboard/index.ts +0 -72
- package/src/contracts/issuers/data-records/index.ts +0 -257
- package/src/contracts/issuers/data-rooms/index.ts +0 -134
- package/src/contracts/issuers/disbursement-approval-users/index.ts +0 -82
- package/src/contracts/issuers/disbursement-transactions/index.ts +0 -53
- package/src/contracts/issuers/disbursements/index.ts +0 -153
- package/src/contracts/issuers/email-themes/index.ts +0 -242
- package/src/contracts/issuers/escrow-accounts/index.ts +0 -81
- package/src/contracts/issuers/exchange-api-keys/index.ts +0 -144
- package/src/contracts/issuers/files/index.ts +0 -166
- package/src/contracts/issuers/files-public/index.ts +0 -166
- package/src/contracts/issuers/health/index.ts +0 -24
- package/src/contracts/issuers/index.ts +0 -112
- package/src/contracts/issuers/investor-accounts/index.ts +0 -148
- package/src/contracts/issuers/invites/index.ts +0 -129
- package/src/contracts/issuers/issuer/index.ts +0 -94
- package/src/contracts/issuers/issuer-bank-accounts/index.ts +0 -81
- package/src/contracts/issuers/issuer-payment-methods/index.ts +0 -136
- package/src/contracts/issuers/kyc/index.ts +0 -38
- package/src/contracts/issuers/login-histories/index.ts +0 -51
- package/src/contracts/issuers/notes/index.ts +0 -69
- package/src/contracts/issuers/offerings/index.ts +0 -206
- package/src/contracts/issuers/pages/index.ts +0 -138
- package/src/contracts/issuers/payment-methods/index.ts +0 -61
- package/src/contracts/issuers/portfolios/index.ts +0 -36
- package/src/contracts/issuers/rejection-reasons/index.ts +0 -32
- package/src/contracts/issuers/review/index.ts +0 -63
- package/src/contracts/issuers/secondary-customers/index.ts +0 -55
- package/src/contracts/issuers/secondary-orders/index.ts +0 -57
- package/src/contracts/issuers/secondary-trades/index.ts +0 -57
- package/src/contracts/issuers/secure-requests/index.ts +0 -34
- package/src/contracts/issuers/site-links/index.ts +0 -116
- package/src/contracts/issuers/site-settings/index.ts +0 -585
- package/src/contracts/issuers/sites/index.ts +0 -32
- package/src/contracts/issuers/tasks/index.ts +0 -111
- package/src/contracts/issuers/trades/index.ts +0 -132
- package/src/contracts/issuers/transactions/index.ts +0 -158
- package/src/contracts/issuers/user-manuals/index.ts +0 -62
- package/src/contracts/issuers/user-settings/index.ts +0 -170
- package/src/contracts/issuers/users/index.ts +0 -126
- package/src/contracts/secondaries/accounts/index.ts +0 -58
- package/src/contracts/secondaries/index.ts +0 -23
- package/src/contracts/secondaries/secondary-customers/index.ts +0 -55
- package/src/contracts/secondaries/secondary-issuers/index.ts +0 -94
- package/src/contracts/secondaries/secondary-orders/index.ts +0 -56
- package/src/contracts/secondaries/secondary-securities/index.ts +0 -95
- package/src/contracts/secondaries/secondary-trades/index.ts +0 -56
- package/types/index.mjs +0 -10320
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { extendZodWithOpenApi } from '@anatine/zod-openapi';
|
|
3
|
-
import { PhoneNumberData, TwoFactorMethod } from './sms.types';
|
|
4
|
-
import { IBaseEntity } from './entity.types';
|
|
5
|
-
import { PhoneZodSchema } from './phone.type';
|
|
6
|
-
|
|
7
|
-
extendZodWithOpenApi(z);
|
|
8
|
-
|
|
9
|
-
export const validPhoneNumberBody = z.object({
|
|
10
|
-
countryCode: z.string().length(2),
|
|
11
|
-
phoneNumber: PhoneZodSchema,
|
|
12
|
-
});
|
|
13
|
-
export type validPhoneNumberBody = z.infer<typeof validPhoneNumberBody>;
|
|
14
|
-
|
|
15
|
-
export const validPhoneNumberResponse = PhoneNumberData;
|
|
16
|
-
export type validPhoneNumberResponse = z.infer<typeof validPhoneNumberResponse>;
|
|
17
|
-
|
|
18
|
-
export const userSettingsZod = IBaseEntity.extend({
|
|
19
|
-
userLoginId: z.string(),
|
|
20
|
-
twoFactorMethod: z.nativeEnum(TwoFactorMethod),
|
|
21
|
-
totpSecret: z.string().nullable(),
|
|
22
|
-
totpTemporarySecret: z.string().nullable(),
|
|
23
|
-
recoveryCodes: z.array(z.string()).nullable(),
|
|
24
|
-
phoneData: PhoneNumberData.nullable(),
|
|
25
|
-
phoneVerified: z.boolean(),
|
|
26
|
-
smsVerificationCode: z.string().nullable(),
|
|
27
|
-
smsCodeExpiresAt: z.date().nullable(),
|
|
28
|
-
emailVerified: z.boolean(),
|
|
29
|
-
emailVerificationCode: z.string().nullable(),
|
|
30
|
-
emailCodeExpiresAt: z.date().nullable(),
|
|
31
|
-
});
|
|
32
|
-
export type userSettingsZod = z.infer<typeof userSettingsZod>;
|
|
33
|
-
|
|
34
|
-
export const setupPhoneNumberBody = z.object({
|
|
35
|
-
countryCode: z.string().length(2),
|
|
36
|
-
phoneNumber: PhoneZodSchema,
|
|
37
|
-
});
|
|
38
|
-
export type setupPhoneNumberBody = z.infer<typeof setupPhoneNumberBody>;
|
|
39
|
-
|
|
40
|
-
export const setupPhoneNumberResponse = z.object({
|
|
41
|
-
success: z.boolean(),
|
|
42
|
-
});
|
|
43
|
-
export type setupPhoneNumberResponse = z.infer<typeof setupPhoneNumberResponse>;
|
|
44
|
-
|
|
45
|
-
export const verifyPhoneNumberBody = z.object({
|
|
46
|
-
code: z.string(),
|
|
47
|
-
});
|
|
48
|
-
export type verifyPhoneNumberBody = z.infer<typeof verifyPhoneNumberBody>;
|
|
49
|
-
|
|
50
|
-
export const verifyPhoneNumberResponse = z.object({
|
|
51
|
-
success: z.boolean(),
|
|
52
|
-
});
|
|
53
|
-
export type verifyPhoneNumberResponse = z.infer<
|
|
54
|
-
typeof verifyPhoneNumberResponse
|
|
55
|
-
>;
|
|
56
|
-
|
|
57
|
-
export const sendVerificationCodeBody = z.object({});
|
|
58
|
-
export type sendVerificationCodeBody = z.infer<typeof sendVerificationCodeBody>;
|
|
59
|
-
|
|
60
|
-
export const sendVerificationCodeResponse = z.object({
|
|
61
|
-
success: z.boolean(),
|
|
62
|
-
});
|
|
63
|
-
export type sendVerificationCodeResponse = z.infer<
|
|
64
|
-
typeof sendVerificationCodeResponse
|
|
65
|
-
>;
|
|
66
|
-
|
|
67
|
-
export const disableTwoFactorBody = z.object({
|
|
68
|
-
userLoginId: z.string(),
|
|
69
|
-
});
|
|
70
|
-
export type disableTwoFactorBody = z.infer<typeof disableTwoFactorBody>;
|
|
71
|
-
|
|
72
|
-
export const disableTwoFactorResponse = z.object({
|
|
73
|
-
success: z.boolean(),
|
|
74
|
-
});
|
|
75
|
-
export type disableTwoFactorResponse = z.infer<typeof disableTwoFactorResponse>;
|
|
76
|
-
|
|
77
|
-
export const setupTwoFactorResponse = z.object({
|
|
78
|
-
secret: z.string().openapi({
|
|
79
|
-
example: 'JBSWY3DPEHPK3PXP',
|
|
80
|
-
}),
|
|
81
|
-
qrCodeUrl: z.string().optional().openapi({
|
|
82
|
-
example: 'https://www.dalmoregroup.com/chl=otpauth://totp/DalmoreGroup',
|
|
83
|
-
}),
|
|
84
|
-
});
|
|
85
|
-
export type setupTwoFactorResponse = z.infer<typeof setupTwoFactorResponse>;
|
|
86
|
-
|
|
87
|
-
export const verifyTwoFactorBody = z.object({
|
|
88
|
-
token: z.string().length(6).openapi({
|
|
89
|
-
example: '123456',
|
|
90
|
-
}),
|
|
91
|
-
});
|
|
92
|
-
export type verifyTwoFactorBody = z.infer<typeof verifyTwoFactorBody>;
|
|
93
|
-
|
|
94
|
-
export const verifyTwoFactorResponse = z.object({
|
|
95
|
-
recoveryCodes: z.array(z.string()).openapi({
|
|
96
|
-
example: ['XXXX-XXXX-XXXX', 'XXXX-XXXX-XXXX'],
|
|
97
|
-
}),
|
|
98
|
-
});
|
|
99
|
-
export type verifyTwoFactorResponse = z.infer<typeof verifyTwoFactorResponse>;
|
|
100
|
-
|
|
101
|
-
export const changeTwoFactorMethodBody = z.object({
|
|
102
|
-
twoFactorMethod: z.nativeEnum(TwoFactorMethod),
|
|
103
|
-
});
|
|
104
|
-
export type changeTwoFactorMethodBody = z.infer<
|
|
105
|
-
typeof changeTwoFactorMethodBody
|
|
106
|
-
>;
|
|
107
|
-
|
|
108
|
-
export const sendEmailVerificationBody = z.object({});
|
|
109
|
-
export type sendEmailVerificationBody = z.infer<
|
|
110
|
-
typeof sendEmailVerificationBody
|
|
111
|
-
>;
|
|
112
|
-
|
|
113
|
-
export const sendEmailVerificationResponse = z.object({
|
|
114
|
-
success: z.boolean(),
|
|
115
|
-
expiresAt: z.string().openapi({
|
|
116
|
-
example: '2023-12-25T15:30:00Z',
|
|
117
|
-
}),
|
|
118
|
-
});
|
|
119
|
-
export type sendEmailVerificationResponse = z.infer<
|
|
120
|
-
typeof sendEmailVerificationResponse
|
|
121
|
-
>;
|
|
122
|
-
|
|
123
|
-
export const verifyEmailBody = z.object({
|
|
124
|
-
code: z.string().length(6).openapi({
|
|
125
|
-
example: '123456',
|
|
126
|
-
}),
|
|
127
|
-
});
|
|
128
|
-
export type verifyEmailBody = z.infer<typeof verifyEmailBody>;
|
|
129
|
-
|
|
130
|
-
export const verifyEmailResponse = z.object({
|
|
131
|
-
success: z.boolean(),
|
|
132
|
-
});
|
|
133
|
-
export type verifyEmailResponse = z.infer<typeof verifyEmailResponse>;
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
AccountStatus,
|
|
4
|
-
AccountWithoutUsersZod,
|
|
5
|
-
IPaginationMeta,
|
|
6
|
-
IssuerRole,
|
|
7
|
-
ManagedByType,
|
|
8
|
-
OfferingType,
|
|
9
|
-
PortalType,
|
|
10
|
-
UserRole,
|
|
11
|
-
UserStatus,
|
|
12
|
-
UserType,
|
|
13
|
-
} from './common.types';
|
|
14
|
-
import { dateOrString, IBaseEntity } from './entity.types';
|
|
15
|
-
import { extendZodWithOpenApi } from '@anatine/zod-openapi';
|
|
16
|
-
import { PhoneZodSchema } from './phone.type';
|
|
17
|
-
import { IInvestorAccount } from './investor-account.types';
|
|
18
|
-
import { TradeZod } from './trade.types';
|
|
19
|
-
import { PasswordSchema } from './password.type';
|
|
20
|
-
import { accountIdSchema } from './account.types';
|
|
21
|
-
import { TypeID } from 'typeid-js';
|
|
22
|
-
import { issuerIdSchema } from './issuer.types';
|
|
23
|
-
import { PhoneNumberData, TwoFactorMethod } from './sms.types';
|
|
24
|
-
import { IAccountManagerZod } from './account-manager.types';
|
|
25
|
-
import { IAccountContact } from './account-contact.types';
|
|
26
|
-
extendZodWithOpenApi(z);
|
|
27
|
-
|
|
28
|
-
export enum OnboardingType {
|
|
29
|
-
START = 'START',
|
|
30
|
-
CHECKOUT = 'CHECKOUT',
|
|
31
|
-
COMPLETE = 'COMPLETE',
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export const userIdSchema = z.string().refine(
|
|
35
|
-
(value) => {
|
|
36
|
-
try {
|
|
37
|
-
const tid = TypeID.fromString(value);
|
|
38
|
-
return tid.getType() === 'user';
|
|
39
|
-
} catch {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
message:
|
|
45
|
-
'Invalid user ID format. Must be a valid TypeID with "user" prefix.',
|
|
46
|
-
},
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
export const UserDeleteResponse = z.object({
|
|
50
|
-
message: z.string(),
|
|
51
|
-
});
|
|
52
|
-
export type UserDeleteResponse = z.infer<typeof UserDeleteResponse>;
|
|
53
|
-
|
|
54
|
-
export const GetMeResponse = IBaseEntity.extend({
|
|
55
|
-
accountId: z.string().nullable(),
|
|
56
|
-
accountName: z.string().nullable(),
|
|
57
|
-
firstName: z.string(),
|
|
58
|
-
lastName: z.string(),
|
|
59
|
-
email: z.string().email(),
|
|
60
|
-
provider: z.string(),
|
|
61
|
-
active: z.boolean(),
|
|
62
|
-
status: z.lazy(() => z.nativeEnum(UserStatus)),
|
|
63
|
-
lastLoginAt: dateOrString.nullable(),
|
|
64
|
-
loginCount: z.number(),
|
|
65
|
-
role: z.string(),
|
|
66
|
-
roleId: z.string(),
|
|
67
|
-
type: z.string(),
|
|
68
|
-
onboarding: z.string().nullable(),
|
|
69
|
-
investorAccounts: z.array(z.lazy(() => IInvestorAccount)).optional(),
|
|
70
|
-
cart: z
|
|
71
|
-
.lazy(() => TradeZod)
|
|
72
|
-
.optional()
|
|
73
|
-
.nullable(),
|
|
74
|
-
investorOnboarding: z.nativeEnum(OnboardingType).optional().nullable(),
|
|
75
|
-
investorRegistrationFlow: z
|
|
76
|
-
.array(z.nativeEnum(OfferingType))
|
|
77
|
-
.optional()
|
|
78
|
-
.nullable(),
|
|
79
|
-
withPersonaThemeId: z.string().nullable().optional(),
|
|
80
|
-
paymentCustomerId: z.string().nullable().optional(),
|
|
81
|
-
userLoginId: z.string().nullable(),
|
|
82
|
-
userSettings: z
|
|
83
|
-
.object({
|
|
84
|
-
twoFactorMethod: z.nativeEnum(TwoFactorMethod).nullable(),
|
|
85
|
-
phoneData: PhoneNumberData.nullable(),
|
|
86
|
-
phoneVerified: z.boolean(),
|
|
87
|
-
emailVerified: z.boolean(),
|
|
88
|
-
twoFactorEnabled: z.boolean(),
|
|
89
|
-
})
|
|
90
|
-
.optional(),
|
|
91
|
-
managedBy: z.nativeEnum(ManagedByType).optional(),
|
|
92
|
-
userType: z.nativeEnum(UserType).optional(),
|
|
93
|
-
offeringSetup: z.boolean().optional(),
|
|
94
|
-
investorPortalSetup: z.boolean().optional(),
|
|
95
|
-
paymentMethodSetup: z.boolean().optional(),
|
|
96
|
-
accountContactsSetup: z.boolean().optional(),
|
|
97
|
-
accountSettings: z
|
|
98
|
-
.array(
|
|
99
|
-
z.object({
|
|
100
|
-
productPrimaries: z.boolean(),
|
|
101
|
-
productSecondaries: z.boolean(),
|
|
102
|
-
featureDisbursements: z.boolean(),
|
|
103
|
-
}),
|
|
104
|
-
)
|
|
105
|
-
.optional(),
|
|
106
|
-
account: z
|
|
107
|
-
.object({
|
|
108
|
-
id: accountIdSchema,
|
|
109
|
-
name: z.string().nullable(),
|
|
110
|
-
status: z.lazy(() => z.nativeEnum(AccountStatus)),
|
|
111
|
-
managedBy: z.nativeEnum(ManagedByType).optional(),
|
|
112
|
-
offeringSetup: z.boolean().optional(),
|
|
113
|
-
investorPortalSetup: z.boolean().optional(),
|
|
114
|
-
paymentMethodSetup: z.boolean().optional(),
|
|
115
|
-
accountContactsSetup: z.boolean().optional(),
|
|
116
|
-
accountSettings: z
|
|
117
|
-
.array(
|
|
118
|
-
z.object({
|
|
119
|
-
productPrimaries: z.boolean(),
|
|
120
|
-
productSecondaries: z.boolean(),
|
|
121
|
-
featureDisbursements: z.boolean(),
|
|
122
|
-
}),
|
|
123
|
-
)
|
|
124
|
-
.optional(),
|
|
125
|
-
accountManager: z
|
|
126
|
-
.lazy(() => IAccountManagerZod)
|
|
127
|
-
.nullable()
|
|
128
|
-
.optional(),
|
|
129
|
-
accountContacts: z.array(z.lazy(() => IAccountContact)).optional(),
|
|
130
|
-
})
|
|
131
|
-
.optional(),
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
export type GetMeResponse = z.infer<typeof GetMeResponse>;
|
|
135
|
-
|
|
136
|
-
export const UserUpdateZod = z.object({
|
|
137
|
-
firstName: z.string().optional(),
|
|
138
|
-
lastName: z.string().optional(),
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
export const UserMeUpdateZod = z.object({
|
|
142
|
-
firstName: z.string().optional(),
|
|
143
|
-
lastName: z.string().optional(),
|
|
144
|
-
password: z.string().min(6).optional(),
|
|
145
|
-
email: z
|
|
146
|
-
.string()
|
|
147
|
-
.email()
|
|
148
|
-
.transform((val) => val.toLowerCase())
|
|
149
|
-
.optional(),
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
export const UserZod = IBaseEntity.extend({
|
|
153
|
-
userLoginId: z.string().nullable(),
|
|
154
|
-
roleId: z.string().nullable(),
|
|
155
|
-
inviteId: z.string().nullable(),
|
|
156
|
-
accountId: z.string().nullable(),
|
|
157
|
-
onboarding: z.string().nullable(),
|
|
158
|
-
account: AccountWithoutUsersZod.optional(),
|
|
159
|
-
active: z.boolean(),
|
|
160
|
-
status: z.nativeEnum(UserStatus),
|
|
161
|
-
userLogin: IBaseEntity.extend({
|
|
162
|
-
firstName: z.string(),
|
|
163
|
-
lastName: z.string(),
|
|
164
|
-
email: z.string().email(),
|
|
165
|
-
provider: z.string(),
|
|
166
|
-
lastLoginAt: dateOrString.nullable(),
|
|
167
|
-
loginCount: z.number(),
|
|
168
|
-
}),
|
|
169
|
-
});
|
|
170
|
-
export type UserZod = z.infer<typeof UserZod>;
|
|
171
|
-
|
|
172
|
-
export const IPaginatedUser = z.object({
|
|
173
|
-
items: z.array(UserZod),
|
|
174
|
-
meta: IPaginationMeta,
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
export const UserFiltersZod = z.object({
|
|
178
|
-
accountId: accountIdSchema.optional(),
|
|
179
|
-
search: z.string().max(50).optional(),
|
|
180
|
-
role: z.nativeEnum(UserRole).optional(),
|
|
181
|
-
portal: z.string().optional(),
|
|
182
|
-
status: z.nativeEnum(UserStatus).optional(),
|
|
183
|
-
active: z
|
|
184
|
-
.string()
|
|
185
|
-
.optional()
|
|
186
|
-
.refine((v) => !v || v === 'true' || v === 'false', {
|
|
187
|
-
message: 'active must be a boolean string',
|
|
188
|
-
})
|
|
189
|
-
.transform((v) => {
|
|
190
|
-
if (!v) return undefined;
|
|
191
|
-
return v === 'true';
|
|
192
|
-
}),
|
|
193
|
-
twoFactorEnabled: z
|
|
194
|
-
.string()
|
|
195
|
-
.optional()
|
|
196
|
-
.refine((v) => !v || v === 'true' || v === 'false', {
|
|
197
|
-
message: 'twoFactorEnabled must be a boolean string',
|
|
198
|
-
})
|
|
199
|
-
.transform((v) => {
|
|
200
|
-
if (!v) return undefined;
|
|
201
|
-
return v === 'true';
|
|
202
|
-
}),
|
|
203
|
-
});
|
|
204
|
-
|
|
205
|
-
const usersInclude = z.enum(['account', 'role']);
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* @description Query parameters for including related entities
|
|
209
|
-
* @xample in contract us as -> query: z.object({}).merge(UsersIncludeQuery),
|
|
210
|
-
*/
|
|
211
|
-
export const UsersIncludeQuery = z.object({
|
|
212
|
-
include: z
|
|
213
|
-
.string()
|
|
214
|
-
.optional()
|
|
215
|
-
.transform((str) => (str ? str.split(',') : []))
|
|
216
|
-
.refine(
|
|
217
|
-
(includes) =>
|
|
218
|
-
includes.every((include) =>
|
|
219
|
-
usersInclude.options.includes(include as any),
|
|
220
|
-
),
|
|
221
|
-
{
|
|
222
|
-
message: `Invalid include option provided. Valid options are: ${usersInclude.options.join(',')}`,
|
|
223
|
-
},
|
|
224
|
-
)
|
|
225
|
-
.openapi({
|
|
226
|
-
example: `${usersInclude.options.join(',')}`,
|
|
227
|
-
}),
|
|
228
|
-
});
|
|
229
|
-
export interface UsersIncludeQuery extends z.infer<typeof UsersIncludeQuery> {}
|
|
230
|
-
|
|
231
|
-
export const InvestorsUserMeUpdateZod = z.object({
|
|
232
|
-
firstName: z
|
|
233
|
-
.string()
|
|
234
|
-
.min(2, 'firstName is less than 2 characters')
|
|
235
|
-
.max(20, 'firstName is more than 2 characters')
|
|
236
|
-
.openapi({
|
|
237
|
-
example: 'Neil',
|
|
238
|
-
})
|
|
239
|
-
.optional(),
|
|
240
|
-
lastName: z
|
|
241
|
-
.string()
|
|
242
|
-
.min(2, 'lastName is less than 2 characters')
|
|
243
|
-
.max(20, 'lastName is more than 2 characters')
|
|
244
|
-
.openapi({
|
|
245
|
-
example: 'Armstrong',
|
|
246
|
-
})
|
|
247
|
-
.optional(),
|
|
248
|
-
password: PasswordSchema.optional(),
|
|
249
|
-
phone: PhoneZodSchema.optional(),
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
export const IssuersUsersFiltersZod = UserFiltersZod.omit({
|
|
253
|
-
portal: true,
|
|
254
|
-
accountId: true,
|
|
255
|
-
}).extend({
|
|
256
|
-
role: z.nativeEnum(IssuerRole).optional(),
|
|
257
|
-
});
|
|
258
|
-
export type IssuersUsersFilters = z.infer<typeof IssuersUsersFiltersZod>;
|
|
259
|
-
|
|
260
|
-
export const IssuersActiveStatusUpdateZod = z.object({
|
|
261
|
-
active: z.boolean(),
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
export type IssuersActiveStatusUpdateZod = z.infer<
|
|
265
|
-
typeof IssuersActiveStatusUpdateZod
|
|
266
|
-
>;
|
|
267
|
-
|
|
268
|
-
export const IssuerUsersStatusUpdateResponse = z.object({
|
|
269
|
-
message: z.string(),
|
|
270
|
-
});
|
|
271
|
-
|
|
272
|
-
export type IssuerUsersStatusUpdateResponse = z.infer<
|
|
273
|
-
typeof IssuerUsersStatusUpdateResponse
|
|
274
|
-
>;
|
|
275
|
-
|
|
276
|
-
export const UpdateLockedStatus = z.object({
|
|
277
|
-
status: z.nativeEnum(UserStatus),
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
export type UpdateLockedStatus = z.infer<typeof UpdateLockedStatus>;
|
|
281
|
-
|
|
282
|
-
export const UsersSummaryFilterZod = z.object({
|
|
283
|
-
accountId: accountIdSchema.optional(),
|
|
284
|
-
issuerId: z.lazy(() => issuerIdSchema).optional(),
|
|
285
|
-
portalType: z.nativeEnum(PortalType).optional(),
|
|
286
|
-
search: z.string().trim().max(50).optional(),
|
|
287
|
-
selectRole: z.nativeEnum(UserRole).optional(),
|
|
288
|
-
status: z.nativeEnum(UserStatus).optional(),
|
|
289
|
-
});
|
|
290
|
-
export type UsersSummaryFilterZod = z.infer<typeof UsersSummaryFilterZod>;
|
|
291
|
-
|
|
292
|
-
export const UsersSummaryZod = z.object({
|
|
293
|
-
accountId: accountIdSchema,
|
|
294
|
-
issuerId: z.lazy(() => issuerIdSchema),
|
|
295
|
-
issuer: z.string(),
|
|
296
|
-
name: z.string(),
|
|
297
|
-
email: z.string(),
|
|
298
|
-
role: z.nativeEnum(UserRole),
|
|
299
|
-
portalType: z.string(),
|
|
300
|
-
loginCount: z.number().int(),
|
|
301
|
-
lastLogin: z.date(),
|
|
302
|
-
status: z.nativeEnum(UserStatus),
|
|
303
|
-
});
|
|
304
|
-
export type UsersSummaryZod = z.infer<typeof UsersSummaryZod>;
|
|
305
|
-
|
|
306
|
-
export const IPaginatedUsersSummaryResponse = z.object({
|
|
307
|
-
items: z.array(UsersSummaryZod),
|
|
308
|
-
meta: IPaginationMeta,
|
|
309
|
-
});
|
|
310
|
-
export type IPaginatedUsersSummaryResponse = z.infer<
|
|
311
|
-
typeof IPaginatedUsersSummaryResponse
|
|
312
|
-
>;
|
|
313
|
-
|
|
314
|
-
export const UpdateUserRoleZod = z.object({
|
|
315
|
-
role: z.nativeEnum(UserRole).openapi({ example: UserRole.VIEWER }),
|
|
316
|
-
userId: userIdSchema
|
|
317
|
-
.optional()
|
|
318
|
-
.openapi({ example: 'user_01jjsdrx1seqfse7z4z47sgdp5' }),
|
|
319
|
-
});
|
|
320
|
-
export type UpdateUserRoleZod = z.infer<typeof UpdateUserRoleZod>;
|