@dalmore/api-contracts 0.0.0-dev.2dc8e92 → 0.0.0-dev.4bb6b7a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/README.md +23 -19
  2. package/common/types/account-contact.types.ts +2 -1
  3. package/common/types/account-manager.types.ts +3 -7
  4. package/common/types/account-setting.types.ts +65 -0
  5. package/common/types/account.types.ts +1 -0
  6. package/common/types/activity.types.ts +1 -1
  7. package/common/types/api-key-logs.types.ts +1 -1
  8. package/common/types/asset.types.ts +14 -14
  9. package/common/types/auth.types.ts +7 -18
  10. package/common/types/bonus-tier.types.ts +33 -0
  11. package/common/types/cart.types.ts +4 -1
  12. package/common/types/common.types.ts +38 -6
  13. package/common/types/contact-us.types.ts +6 -2
  14. package/common/types/covered-person.types.ts +2 -1
  15. package/common/types/dashboard.types.ts +2 -9
  16. package/common/types/disbursements.types.ts +119 -3
  17. package/common/types/escrow-account.types.ts +3 -3
  18. package/common/types/file.types.ts +20 -4
  19. package/common/types/i-will-do-it-later.types.ts +68 -0
  20. package/common/types/index.ts +2 -0
  21. package/common/types/individuals.types.ts +5 -17
  22. package/common/types/investor-account.types.ts +2 -1
  23. package/common/types/invite.types.ts +27 -1
  24. package/common/types/issuer-offering.types.ts +113 -30
  25. package/common/types/issuer-payment-method.types.ts +41 -0
  26. package/common/types/issuer.types.ts +9 -0
  27. package/common/types/legal-entity.types.ts +3 -2
  28. package/common/types/mail-template.types.ts +34 -0
  29. package/common/types/note.types.ts +1 -1
  30. package/common/types/notification.types.ts +525 -29
  31. package/common/types/offering.types.ts +106 -20
  32. package/common/types/site-settings.types.ts +2 -1
  33. package/common/types/site.types.ts +2 -9
  34. package/common/types/{trade-line-item.type.ts → trade-line-item.types.ts} +2 -9
  35. package/common/types/trade.types.ts +118 -2
  36. package/common/types/transaction.types.ts +12 -1
  37. package/common/types/trusted-contact.types.ts +7 -7
  38. package/common/types/user.types.ts +17 -33
  39. package/common/types/webhook.types.ts +142 -0
  40. package/contracts/{investors → clients}/cart/index.ts +11 -6
  41. package/contracts/clients/index.ts +10 -0
  42. package/contracts/{investors → clients}/issuer-payment-methods/index.ts +5 -2
  43. package/contracts/{compliance → clients}/payment-methods/index.ts +40 -12
  44. package/contracts/{investors → clients}/trade-line-items/index.ts +19 -28
  45. package/contracts/clients/trades/index.ts +65 -1
  46. package/contracts/{investors → clients}/transactions/index.ts +3 -3
  47. package/index.ts +10 -0
  48. package/package.json +23 -32
  49. package/contracts/compliance/account-contacts/index.ts +0 -82
  50. package/contracts/compliance/account-managers/index.ts +0 -142
  51. package/contracts/compliance/accounts/index.ts +0 -187
  52. package/contracts/compliance/activities/index.ts +0 -55
  53. package/contracts/compliance/aic/index.ts +0 -60
  54. package/contracts/compliance/api-keys/index.ts +0 -91
  55. package/contracts/compliance/assets/index.ts +0 -122
  56. package/contracts/compliance/auth/index.ts +0 -134
  57. package/contracts/compliance/batch-jobs/index.ts +0 -62
  58. package/contracts/compliance/bonus-tiers/index.ts +0 -55
  59. package/contracts/compliance/checklist/index.ts +0 -87
  60. package/contracts/compliance/checklist-items/index.ts +0 -86
  61. package/contracts/compliance/covered-persons/index.ts +0 -97
  62. package/contracts/compliance/dashboard/index.ts +0 -111
  63. package/contracts/compliance/data-records/index.ts +0 -116
  64. package/contracts/compliance/data-rooms/index.ts +0 -113
  65. package/contracts/compliance/default-theme-configs/index.ts +0 -95
  66. package/contracts/compliance/disbursement/index.ts +0 -165
  67. package/contracts/compliance/disbursement-approval-users/index.ts +0 -84
  68. package/contracts/compliance/disbursement-transactions/index.ts +0 -37
  69. package/contracts/compliance/domain-filters/index.ts +0 -117
  70. package/contracts/compliance/email-themes/index.ts +0 -284
  71. package/contracts/compliance/escrow-accounts/index.ts +0 -85
  72. package/contracts/compliance/exchange-api-keys/index.ts +0 -129
  73. package/contracts/compliance/exchange-imports/index.ts +0 -137
  74. package/contracts/compliance/files/index.ts +0 -267
  75. package/contracts/compliance/files-public/index.ts +0 -188
  76. package/contracts/compliance/health/index.ts +0 -26
  77. package/contracts/compliance/index.ts +0 -147
  78. package/contracts/compliance/individuals/index.ts +0 -57
  79. package/contracts/compliance/investor-accounts/index.ts +0 -141
  80. package/contracts/compliance/invites/index.ts +0 -137
  81. package/contracts/compliance/issuer-bank-accounts/index.ts +0 -81
  82. package/contracts/compliance/issuer-payment-methods/index.ts +0 -81
  83. package/contracts/compliance/issuers/index.ts +0 -97
  84. package/contracts/compliance/job-items/index.ts +0 -58
  85. package/contracts/compliance/jobs/index.ts +0 -59
  86. package/contracts/compliance/kyb/index.ts +0 -54
  87. package/contracts/compliance/kyc/index.ts +0 -77
  88. package/contracts/compliance/legal-entities/index.ts +0 -57
  89. package/contracts/compliance/login-histories/index.ts +0 -37
  90. package/contracts/compliance/notes/index.ts +0 -69
  91. package/contracts/compliance/notion-databases/index.ts +0 -107
  92. package/contracts/compliance/notion-pages/index.ts +0 -105
  93. package/contracts/compliance/offering-reports/index.ts +0 -149
  94. package/contracts/compliance/offerings/index.ts +0 -233
  95. package/contracts/compliance/pages/index.ts +0 -178
  96. package/contracts/compliance/rejection-reasons/index.ts +0 -32
  97. package/contracts/compliance/review/index.ts +0 -169
  98. package/contracts/compliance/roles/index.ts +0 -34
  99. package/contracts/compliance/secondary-customers/index.ts +0 -77
  100. package/contracts/compliance/secondary-orders/index.ts +0 -60
  101. package/contracts/compliance/secondary-trades/index.ts +0 -100
  102. package/contracts/compliance/secure-requests/index.ts +0 -54
  103. package/contracts/compliance/signer/index.ts +0 -369
  104. package/contracts/compliance/site-links/index.ts +0 -128
  105. package/contracts/compliance/site-settings/index.ts +0 -669
  106. package/contracts/compliance/sites/index.ts +0 -56
  107. package/contracts/compliance/state-machine/index.ts +0 -94
  108. package/contracts/compliance/tasks/index.ts +0 -91
  109. package/contracts/compliance/third-parties/index.ts +0 -52
  110. package/contracts/compliance/trade-line-items/index.ts +0 -59
  111. package/contracts/compliance/trades/index.ts +0 -230
  112. package/contracts/compliance/transactions/index.ts +0 -161
  113. package/contracts/compliance/user-manuals/index.ts +0 -271
  114. package/contracts/compliance/user-settings/index.ts +0 -189
  115. package/contracts/compliance/users/index.ts +0 -200
  116. package/contracts/compliance/webhooks/index.ts +0 -41
  117. package/contracts/compliance-apikey/accounts/index.ts +0 -58
  118. package/contracts/compliance-apikey/index.ts +0 -14
  119. package/contracts/index.ts +0 -6
  120. package/contracts/investors/account-contacts/index.ts +0 -58
  121. package/contracts/investors/aic/index.ts +0 -59
  122. package/contracts/investors/assets/index.ts +0 -61
  123. package/contracts/investors/auth/index.ts +0 -116
  124. package/contracts/investors/bonus-tiers/index.ts +0 -37
  125. package/contracts/investors/contact-us/index.ts +0 -48
  126. package/contracts/investors/data-records/index.ts +0 -113
  127. package/contracts/investors/data-rooms/index.ts +0 -96
  128. package/contracts/investors/files/index.ts +0 -167
  129. package/contracts/investors/files-public/index.ts +0 -185
  130. package/contracts/investors/index.ts +0 -72
  131. package/contracts/investors/individuals/index.ts +0 -99
  132. package/contracts/investors/investor-accounts/index.ts +0 -110
  133. package/contracts/investors/issuers/index.ts +0 -30
  134. package/contracts/investors/legal-entities/index.ts +0 -93
  135. package/contracts/investors/notes/index.ts +0 -69
  136. package/contracts/investors/offerings/index.ts +0 -93
  137. package/contracts/investors/pages/index.ts +0 -88
  138. package/contracts/investors/payment-methods/index.ts +0 -149
  139. package/contracts/investors/portfolios/index.ts +0 -53
  140. package/contracts/investors/sites/index.ts +0 -96
  141. package/contracts/investors/tasks/index.ts +0 -111
  142. package/contracts/investors/trades/index.ts +0 -114
  143. package/contracts/investors/trusted-contacts/index.ts +0 -93
  144. package/contracts/investors/user-manuals/index.ts +0 -62
  145. package/contracts/investors/user-settings/index.ts +0 -170
  146. package/contracts/investors/users/index.ts +0 -45
  147. package/contracts/investors/webhooks/index.ts +0 -30
  148. package/contracts/issuers/account-contacts/index.ts +0 -76
  149. package/contracts/issuers/account-integrations/index.ts +0 -97
  150. package/contracts/issuers/accounts/index.ts +0 -97
  151. package/contracts/issuers/activities/index.ts +0 -54
  152. package/contracts/issuers/aic/index.ts +0 -39
  153. package/contracts/issuers/api-key-logs/index.ts +0 -53
  154. package/contracts/issuers/api-keys/index.ts +0 -93
  155. package/contracts/issuers/assets/index.ts +0 -122
  156. package/contracts/issuers/auth/index.ts +0 -152
  157. package/contracts/issuers/bonus-tiers/index.ts +0 -55
  158. package/contracts/issuers/contact-us/index.ts +0 -48
  159. package/contracts/issuers/covered-persons/index.ts +0 -136
  160. package/contracts/issuers/dashboard/index.ts +0 -72
  161. package/contracts/issuers/data-records/index.ts +0 -257
  162. package/contracts/issuers/data-rooms/index.ts +0 -134
  163. package/contracts/issuers/disbursement-approval-users/index.ts +0 -82
  164. package/contracts/issuers/disbursement-transactions/index.ts +0 -53
  165. package/contracts/issuers/disbursements/index.ts +0 -153
  166. package/contracts/issuers/email-themes/index.ts +0 -242
  167. package/contracts/issuers/escrow-accounts/index.ts +0 -81
  168. package/contracts/issuers/exchange-api-keys/index.ts +0 -144
  169. package/contracts/issuers/files/index.ts +0 -166
  170. package/contracts/issuers/files-public/index.ts +0 -166
  171. package/contracts/issuers/health/index.ts +0 -24
  172. package/contracts/issuers/index.ts +0 -112
  173. package/contracts/issuers/investor-accounts/index.ts +0 -148
  174. package/contracts/issuers/invites/index.ts +0 -129
  175. package/contracts/issuers/issuer/index.ts +0 -94
  176. package/contracts/issuers/issuer-bank-accounts/index.ts +0 -81
  177. package/contracts/issuers/issuer-payment-methods/index.ts +0 -136
  178. package/contracts/issuers/kyc/index.ts +0 -38
  179. package/contracts/issuers/login-histories/index.ts +0 -51
  180. package/contracts/issuers/notes/index.ts +0 -69
  181. package/contracts/issuers/offerings/index.ts +0 -206
  182. package/contracts/issuers/pages/index.ts +0 -138
  183. package/contracts/issuers/payment-methods/index.ts +0 -61
  184. package/contracts/issuers/portfolios/index.ts +0 -36
  185. package/contracts/issuers/rejection-reasons/index.ts +0 -32
  186. package/contracts/issuers/review/index.ts +0 -63
  187. package/contracts/issuers/secondary-customers/index.ts +0 -55
  188. package/contracts/issuers/secondary-orders/index.ts +0 -57
  189. package/contracts/issuers/secondary-trades/index.ts +0 -57
  190. package/contracts/issuers/secure-requests/index.ts +0 -34
  191. package/contracts/issuers/site-links/index.ts +0 -116
  192. package/contracts/issuers/site-settings/index.ts +0 -585
  193. package/contracts/issuers/sites/index.ts +0 -32
  194. package/contracts/issuers/tasks/index.ts +0 -111
  195. package/contracts/issuers/trades/index.ts +0 -132
  196. package/contracts/issuers/transactions/index.ts +0 -158
  197. package/contracts/issuers/user-manuals/index.ts +0 -62
  198. package/contracts/issuers/user-settings/index.ts +0 -170
  199. package/contracts/issuers/users/index.ts +0 -126
  200. package/contracts/secondaries/accounts/index.ts +0 -58
  201. package/contracts/secondaries/index.ts +0 -23
  202. package/contracts/secondaries/secondary-customers/index.ts +0 -55
  203. package/contracts/secondaries/secondary-issuers/index.ts +0 -94
  204. package/contracts/secondaries/secondary-orders/index.ts +0 -56
  205. package/contracts/secondaries/secondary-securities/index.ts +0 -95
  206. package/contracts/secondaries/secondary-trades/index.ts +0 -56
@@ -1,97 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- BadRequestError,
4
- ForbiddenError,
5
- InternalError,
6
- NotFoundError,
7
- PaginationOptionsZod,
8
- UnauthorizedError,
9
- } from '../../../common/types';
10
- import {
11
- accountIntegrationIdSchema,
12
- AccountIntegrationZod,
13
- IPaginatedAccountIntegration,
14
- PatchAccountIntegrationZod,
15
- PostAccountIntegrationZod,
16
- AccountIntegrationFiltersZod,
17
- } from '../../../common/types/account-integration.types';
18
- import { z } from 'zod';
19
-
20
- const c = initContract();
21
-
22
- export const accountIntegrationsContract = c.router(
23
- {
24
- getAccountIntegrations: {
25
- summary: 'Get Account Integrations',
26
- method: 'GET',
27
- path: '',
28
- metadata: {
29
- auth: true,
30
- },
31
- query: PaginationOptionsZod.merge(AccountIntegrationFiltersZod),
32
- responses: {
33
- 200: IPaginatedAccountIntegration,
34
- 401: UnauthorizedError,
35
- 403: ForbiddenError,
36
- 500: InternalError,
37
- },
38
- },
39
- getAccountIntegration: {
40
- summary: 'Get account integration by id',
41
- method: 'GET',
42
- path: '/:id',
43
- metadata: {
44
- auth: true,
45
- },
46
- pathParams: z.object({
47
- id: accountIntegrationIdSchema,
48
- }),
49
- responses: {
50
- 200: AccountIntegrationZod,
51
- 401: UnauthorizedError,
52
- 403: ForbiddenError,
53
- 404: NotFoundError,
54
- 500: InternalError,
55
- },
56
- },
57
- postAccountIntegration: {
58
- summary: 'Create account integration',
59
- method: 'POST',
60
- path: '',
61
- metadata: {
62
- auth: true,
63
- },
64
- body: PostAccountIntegrationZod,
65
- responses: {
66
- 201: AccountIntegrationZod,
67
- 400: BadRequestError,
68
- 401: UnauthorizedError,
69
- 403: ForbiddenError,
70
- 500: InternalError,
71
- },
72
- },
73
- patchAccountIntegration: {
74
- summary: 'Update account integration',
75
- method: 'PATCH',
76
- path: '/:id',
77
- metadata: {
78
- auth: true,
79
- },
80
- pathParams: z.object({
81
- id: accountIntegrationIdSchema,
82
- }),
83
- body: PatchAccountIntegrationZod,
84
- responses: {
85
- 200: AccountIntegrationZod,
86
- 400: BadRequestError,
87
- 401: UnauthorizedError,
88
- 403: ForbiddenError,
89
- 404: NotFoundError,
90
- 500: InternalError,
91
- },
92
- },
93
- },
94
- {
95
- pathPrefix: 'account-integrations',
96
- },
97
- );
@@ -1,97 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
-
3
- import {
4
- AccountsIncludeQuery,
5
- AccountZod,
6
- ForbiddenError,
7
- GetAccountIssuersZod,
8
- IPaginatedAccount,
9
- PaginationOptionsZod,
10
- UnauthorizedError,
11
- NotFoundError,
12
- accountIdSchema,
13
- PatchAccountZod,
14
- PatchIssuerOnboardingStep,
15
- IssuerOnboardingStepZod,
16
- InternalError,
17
- } from '../../../common/types';
18
- import { z } from 'zod';
19
-
20
- const c = initContract();
21
-
22
- export const accountsContract = c.router(
23
- {
24
- getAccounts: {
25
- summary: 'Get issuer accounts',
26
- method: 'GET',
27
- path: '',
28
- metadata: {
29
- auth: true,
30
- },
31
- query:
32
- PaginationOptionsZod.merge(AccountsIncludeQuery).merge(
33
- GetAccountIssuersZod,
34
- ),
35
- responses: {
36
- 200: IPaginatedAccount,
37
- 401: UnauthorizedError,
38
- 403: ForbiddenError,
39
- 500: InternalError,
40
- },
41
- },
42
- getAccount: {
43
- summary: 'Get account by id',
44
- method: 'GET',
45
- path: '/:id',
46
- metadata: {
47
- auth: true,
48
- },
49
- pathParams: z.object({
50
- id: accountIdSchema,
51
- }),
52
- query: z.object({}).merge(AccountsIncludeQuery),
53
- responses: {
54
- 200: AccountZod,
55
- 401: UnauthorizedError,
56
- 403: ForbiddenError,
57
- 404: NotFoundError,
58
- 500: InternalError,
59
- },
60
- },
61
- patchOnboardingStep: {
62
- summary: 'Update an account onboarding step',
63
- method: 'PATCH',
64
- path: '/onboarding',
65
- metadata: {
66
- auth: true,
67
- },
68
- body: PatchIssuerOnboardingStep,
69
- responses: {
70
- 201: IssuerOnboardingStepZod,
71
- 401: UnauthorizedError,
72
- 403: ForbiddenError,
73
- 404: NotFoundError,
74
- 500: InternalError,
75
- },
76
- },
77
- patchAccount: {
78
- summary: 'Update an account',
79
- method: 'PATCH',
80
- path: '',
81
- metadata: {
82
- auth: true,
83
- },
84
- body: PatchAccountZod,
85
- responses: {
86
- 201: AccountZod,
87
- 401: UnauthorizedError,
88
- 403: ForbiddenError,
89
- 404: NotFoundError,
90
- 500: InternalError,
91
- },
92
- },
93
- },
94
- {
95
- pathPrefix: 'accounts',
96
- },
97
- );
@@ -1,54 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- ForbiddenError,
4
- NotFoundError,
5
- PaginationOptionsZod,
6
- UnauthorizedError,
7
- } from '../../../common/types';
8
- import {
9
- ActivitiesFilters,
10
- activityIdSchema,
11
- ActivityZod,
12
- IPaginatedActivity,
13
- } from '../../../../src/common/types/activity.types';
14
- import { z } from 'zod';
15
-
16
- const c = initContract();
17
-
18
- export const activitiesContract = c.router(
19
- {
20
- getActivities: {
21
- summary: 'Get activities',
22
- method: 'GET',
23
- path: '',
24
- metadata: {
25
- auth: true,
26
- },
27
- query: PaginationOptionsZod.merge(ActivitiesFilters),
28
- responses: {
29
- 200: IPaginatedActivity,
30
- 401: UnauthorizedError,
31
- },
32
- },
33
- getActivity: {
34
- summary: 'Get activity by id',
35
- method: 'GET',
36
- path: '/:id',
37
- metadata: {
38
- auth: true,
39
- },
40
- pathParams: z.object({
41
- id: activityIdSchema,
42
- }),
43
- responses: {
44
- 200: ActivityZod,
45
- 401: UnauthorizedError,
46
- 403: ForbiddenError,
47
- 404: NotFoundError,
48
- },
49
- },
50
- },
51
- {
52
- pathPrefix: 'activities',
53
- },
54
- );
@@ -1,39 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- AicIncludeQuery,
4
- AicZod,
5
- BadRequestError,
6
- ForbiddenError,
7
- individualIdSchema,
8
- InternalError,
9
- UnauthorizedError,
10
- } from '../../../common/types';
11
- import { z } from 'zod';
12
-
13
- const c = initContract();
14
- export const aicContract = c.router(
15
- {
16
- getAic: {
17
- summary: 'Get AIC',
18
- method: 'GET',
19
- path: '',
20
- metadata: {
21
- auth: true,
22
- },
23
- pathParams: z.object({
24
- individualId: individualIdSchema,
25
- }),
26
- query: AicIncludeQuery,
27
- responses: {
28
- 200: AicZod.nullable(),
29
- 400: BadRequestError,
30
- 401: UnauthorizedError,
31
- 403: ForbiddenError,
32
- 500: InternalError,
33
- },
34
- },
35
- },
36
- {
37
- pathPrefix: 'individual/:individualId/aic',
38
- },
39
- );
@@ -1,53 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
-
3
- import {
4
- BadRequestError,
5
- ForbiddenError,
6
- InternalError,
7
- PaginationOptionsZod,
8
- UnauthorizedError,
9
- } from '../../../common/types';
10
- import {
11
- IPaginatedApiLogs,
12
- ApiLogsTotalsZod,
13
- ApiLogsFiltersZod,
14
- ApiLogsTotalsFiltersZod,
15
- } from '../../../common/types/api-key-logs.types';
16
-
17
- const c = initContract();
18
-
19
- export const issuerApiKeyLogsContract = c.router(
20
- {
21
- // GET /issuers/api-key-logs
22
- getApiKeyLogs: {
23
- summary: 'Get API key logs',
24
- method: 'GET',
25
- path: '',
26
- metadata: { auth: true },
27
- query: PaginationOptionsZod.merge(ApiLogsFiltersZod),
28
- responses: {
29
- 200: IPaginatedApiLogs,
30
- 400: BadRequestError,
31
- 401: UnauthorizedError,
32
- 403: ForbiddenError,
33
- 500: InternalError,
34
- },
35
- },
36
- // GET /issuers/api-key-logs/totals
37
- getApiKeyLogsTotals: {
38
- summary: 'Get totals of API key logs',
39
- method: 'GET',
40
- path: '/totals',
41
- metadata: { auth: true },
42
- query: ApiLogsTotalsFiltersZod,
43
- responses: {
44
- 200: ApiLogsTotalsZod,
45
- 400: BadRequestError,
46
- 401: UnauthorizedError,
47
- 403: ForbiddenError,
48
- 500: InternalError,
49
- },
50
- },
51
- },
52
- { pathPrefix: 'api-key-logs' },
53
- );
@@ -1,93 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import { z } from 'zod';
3
- import {
4
- ForbiddenError,
5
- NotFoundError,
6
- UnauthorizedError,
7
- InternalError,
8
- ApiKeyZod,
9
- IPaginatedApiKeys,
10
- PaginationOptionsZod,
11
- BadRequestError,
12
- apiKeyIdSchema,
13
- PostIssuerApiKeyBody,
14
- } from '../../../common/types';
15
-
16
- const c = initContract();
17
-
18
- export const issuerApiKeysContract = c.router(
19
- {
20
- postApiKey: {
21
- summary: 'Create API Key',
22
- method: 'POST',
23
- path: '/',
24
- metadata: {
25
- auth: true,
26
- },
27
- body: PostIssuerApiKeyBody,
28
- responses: {
29
- 201: ApiKeyZod,
30
- 400: BadRequestError,
31
- 404: NotFoundError,
32
- 401: UnauthorizedError,
33
- 403: ForbiddenError,
34
- 500: InternalError,
35
- },
36
- },
37
- getApiKeys: {
38
- summary: 'Get API Keys',
39
- method: 'GET',
40
- path: '',
41
- metadata: {
42
- auth: true,
43
- },
44
- query: PaginationOptionsZod,
45
- responses: {
46
- 200: IPaginatedApiKeys,
47
- 401: UnauthorizedError,
48
- 403: ForbiddenError,
49
- 500: InternalError,
50
- },
51
- },
52
- getApiKey: {
53
- summary: 'Get API Key',
54
- method: 'GET',
55
- path: '/:id',
56
- metadata: {
57
- auth: true,
58
- },
59
- pathParams: z.object({
60
- id: apiKeyIdSchema,
61
- }),
62
- responses: {
63
- 200: ApiKeyZod,
64
- 401: UnauthorizedError,
65
- 403: ForbiddenError,
66
- 404: NotFoundError,
67
- 500: InternalError,
68
- },
69
- },
70
- deactivateApiKey: {
71
- summary: 'Deactivate API Key by id',
72
- method: 'PATCH',
73
- path: '/:id/deactivate',
74
- metadata: {
75
- auth: true,
76
- },
77
- pathParams: z.object({
78
- id: apiKeyIdSchema,
79
- }),
80
- body: z.object({}),
81
- responses: {
82
- 202: ApiKeyZod,
83
- 400: BadRequestError,
84
- 401: UnauthorizedError,
85
- 404: NotFoundError,
86
- 500: InternalError,
87
- },
88
- },
89
- },
90
- {
91
- pathPrefix: 'api-keys',
92
- },
93
- );
@@ -1,122 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import { z } from 'zod';
3
- import {
4
- BadRequestError,
5
- ConflictError,
6
- ForbiddenError,
7
- InternalError,
8
- NotFoundError,
9
- PaginationOptionsZod,
10
- UnauthorizedError,
11
- } from '../../../common/types';
12
- import {
13
- AssetFiltersZod,
14
- assetIdSchema,
15
- AssetsIncludeQuery,
16
- IAsset,
17
- IPaginatedAsset,
18
- PostAsset,
19
- PutAsset,
20
- } from '../../../common/types/asset.types';
21
-
22
- const c = initContract();
23
-
24
- export const assetsContract = c.router(
25
- {
26
- getAssets: {
27
- summary: 'Get assets',
28
- method: 'GET',
29
- path: '',
30
- metadata: {
31
- auth: true,
32
- },
33
- query:
34
- PaginationOptionsZod.merge(AssetsIncludeQuery).merge(AssetFiltersZod),
35
- responses: {
36
- 200: IPaginatedAsset,
37
- 400: BadRequestError,
38
- 401: UnauthorizedError,
39
- 403: ForbiddenError,
40
- },
41
- },
42
- getAsset: {
43
- summary: 'Get asset by id',
44
- method: 'GET',
45
- path: '/:id',
46
- metadata: {
47
- auth: true,
48
- },
49
- query: z.object({}).merge(AssetsIncludeQuery),
50
- pathParams: z.object({
51
- id: assetIdSchema,
52
- }),
53
- responses: {
54
- 200: IAsset,
55
- 400: BadRequestError,
56
- 401: UnauthorizedError,
57
- 403: ForbiddenError,
58
- 404: NotFoundError,
59
- },
60
- },
61
- postAssets: {
62
- summary: 'Create an asset',
63
- method: 'POST',
64
- path: '',
65
- metadata: {
66
- auth: true,
67
- },
68
- body: PostAsset,
69
- responses: {
70
- 201: IAsset,
71
- 401: UnauthorizedError,
72
- 403: ForbiddenError,
73
- 409: ConflictError,
74
- 500: InternalError,
75
- },
76
- },
77
- updateAsset: {
78
- summary: 'Update asset',
79
- method: 'PUT',
80
- path: '/:id',
81
- metadata: {
82
- auth: true,
83
- },
84
- pathParams: z.object({
85
- id: assetIdSchema,
86
- }),
87
- body: PutAsset,
88
- responses: {
89
- 201: IAsset,
90
- 400: BadRequestError,
91
- 401: UnauthorizedError,
92
- 403: ForbiddenError,
93
- 404: NotFoundError,
94
- 500: InternalError,
95
- },
96
- },
97
- setHeroAsset: {
98
- summary: 'Set hero asset',
99
- method: 'PATCH',
100
- path: '/hero/:id',
101
- metadata: {
102
- auth: true,
103
- },
104
- pathParams: z.object({
105
- id: assetIdSchema,
106
- }),
107
- body: z.object({}),
108
- responses: {
109
- 201: IAsset,
110
- 400: BadRequestError,
111
- 401: UnauthorizedError,
112
- 403: ForbiddenError,
113
- 404: NotFoundError,
114
- 500: InternalError,
115
- },
116
- },
117
- },
118
-
119
- {
120
- pathPrefix: 'assets',
121
- },
122
- );
@@ -1,152 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- AccessTokenResponse,
4
- BadRequestError,
5
- ForbiddenError,
6
- IChangePasswordBodyZod,
7
- InternalError,
8
- IRegisterIssuerBodyZod,
9
- LoginBody,
10
- LoginBody2FA,
11
- LoginBodyIssuers,
12
- NotFoundError,
13
- SelectAccountIssuersResponse,
14
- SwitchAccountIssuersBody,
15
- UnauthorizedError,
16
- } from '../../../common/types';
17
- import { z } from 'zod';
18
-
19
- const c = initContract();
20
-
21
- export const authContract = c.router(
22
- {
23
- selectAccount: {
24
- summary: 'Select Account for login',
25
- method: 'POST',
26
- path: 'login/accounts',
27
- body: LoginBody,
28
- responses: {
29
- 200: SelectAccountIssuersResponse,
30
- 400: BadRequestError,
31
- 401: UnauthorizedError,
32
- 500: InternalError,
33
- },
34
- },
35
- registerEmail: {
36
- summary: 'Register with email',
37
- method: 'POST',
38
- path: 'register/email',
39
- body: IRegisterIssuerBodyZod,
40
- responses: {
41
- 201: AccessTokenResponse,
42
- 400: BadRequestError,
43
- 401: UnauthorizedError,
44
- 500: InternalError,
45
- },
46
- },
47
- loginEmail: {
48
- summary: 'Login with email',
49
- method: 'POST',
50
- path: 'login/email',
51
- headers: z.object({
52
- 'user-agent': z.string(),
53
- }),
54
- body: LoginBodyIssuers,
55
- responses: {
56
- 200: AccessTokenResponse,
57
- 400: BadRequestError,
58
- 401: UnauthorizedError,
59
- 500: InternalError,
60
- },
61
- },
62
- switchAccount: {
63
- summary: 'Switch account',
64
- method: 'POST',
65
- path: 'switch-account',
66
- body: SwitchAccountIssuersBody,
67
- responses: {
68
- 200: AccessTokenResponse,
69
- 400: BadRequestError,
70
- 403: ForbiddenError,
71
- 404: NotFoundError,
72
- 401: UnauthorizedError,
73
- 500: InternalError,
74
- },
75
- },
76
- forgotPassword: {
77
- summary: 'Forgot password',
78
- method: 'POST',
79
- path: 'forgot-password',
80
- body: z.object({
81
- email: z.string().email(),
82
- }),
83
- responses: {
84
- 200: z.string(),
85
- 400: BadRequestError,
86
- 404: NotFoundError,
87
- 500: InternalError,
88
- },
89
- },
90
- resetPasswordVerify: {
91
- summary: 'Reset password verify',
92
- method: 'POST',
93
- path: 'reset-password/verify',
94
- body: z.object({
95
- email: z.string().email(),
96
- code: z.string(),
97
- }),
98
- responses: {
99
- 200: z.object({
100
- valid: z.boolean(),
101
- }),
102
- 400: BadRequestError,
103
- 500: InternalError,
104
- },
105
- },
106
- resetPassword: {
107
- summary: 'Reset password',
108
- method: 'POST',
109
- path: 'reset-password',
110
- body: z.object({
111
- email: z.string().email(),
112
- code: z.string(),
113
- password: z.string().min(6),
114
- }),
115
- responses: {
116
- 200: null,
117
- 400: BadRequestError,
118
- 500: InternalError,
119
- },
120
- },
121
- changePassword: {
122
- summary: 'Change password',
123
- method: 'POST',
124
- path: 'change-password',
125
- body: IChangePasswordBodyZod,
126
- responses: {
127
- 201: null,
128
- 400: BadRequestError,
129
- 401: UnauthorizedError,
130
- 500: InternalError,
131
- },
132
- },
133
- loginEmailTwoFactor: {
134
- summary: 'Login with email and 2FA',
135
- method: 'POST',
136
- path: 'login/email/2fa',
137
- headers: z.object({
138
- 'user-agent': z.string(),
139
- }),
140
- body: LoginBody2FA,
141
- responses: {
142
- 200: AccessTokenResponse,
143
- 400: BadRequestError,
144
- 401: UnauthorizedError,
145
- 500: InternalError,
146
- },
147
- },
148
- },
149
- {
150
- pathPrefix: 'auth/',
151
- },
152
- );