@dalmore/api-contracts 1.0.3 → 1.0.6

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 (186) hide show
  1. package/README.md +34 -60
  2. package/index.mjs +1001 -18638
  3. package/package.json +5 -53
  4. package/src/common/types/address.spec.ts +203 -0
  5. package/src/common/types/batch-jobs.types.ts +1 -0
  6. package/src/common/types/common.types.spec.ts +336 -0
  7. package/src/common/types/files.types.spec.ts +154 -0
  8. package/src/common/types/issuer-payment-method.types.spec.ts +612 -0
  9. package/src/common/types/offering.types.spec.ts +91 -0
  10. package/src/common/types/phone.spec.ts +76 -0
  11. package/src/common/types/queue.types.ts +1 -0
  12. package/src/common/types/reminder-config.types.ts +40 -0
  13. package/src/common/types/site-link.types.spec.ts +134 -0
  14. package/src/common/types/trade.types.ts +2 -4
  15. package/clients/index.mjs +0 -10970
  16. package/compliance/index.mjs +0 -20016
  17. package/compliance-apikey/index.mjs +0 -9795
  18. package/helpers/index.mjs +0 -146
  19. package/investors/index.mjs +0 -12844
  20. package/issuers/index.mjs +0 -16168
  21. package/secondaries/index.mjs +0 -10282
  22. package/src/common/helpers/index.ts +0 -205
  23. package/src/contracts/compliance/account-contacts/index.ts +0 -82
  24. package/src/contracts/compliance/account-managers/index.ts +0 -142
  25. package/src/contracts/compliance/accounts/index.ts +0 -187
  26. package/src/contracts/compliance/activities/index.ts +0 -55
  27. package/src/contracts/compliance/aic/index.ts +0 -60
  28. package/src/contracts/compliance/api-keys/index.ts +0 -91
  29. package/src/contracts/compliance/assets/index.ts +0 -122
  30. package/src/contracts/compliance/auth/index.ts +0 -134
  31. package/src/contracts/compliance/batch-jobs/index.ts +0 -62
  32. package/src/contracts/compliance/bonus-tiers/index.ts +0 -55
  33. package/src/contracts/compliance/checklist/index.ts +0 -87
  34. package/src/contracts/compliance/checklist-items/index.ts +0 -86
  35. package/src/contracts/compliance/covered-persons/index.ts +0 -97
  36. package/src/contracts/compliance/dashboard/index.ts +0 -111
  37. package/src/contracts/compliance/data-records/index.ts +0 -116
  38. package/src/contracts/compliance/data-rooms/index.ts +0 -113
  39. package/src/contracts/compliance/default-theme-configs/index.ts +0 -95
  40. package/src/contracts/compliance/disbursement/index.ts +0 -165
  41. package/src/contracts/compliance/disbursement-approval-users/index.ts +0 -84
  42. package/src/contracts/compliance/disbursement-transactions/index.ts +0 -37
  43. package/src/contracts/compliance/domain-filters/index.ts +0 -117
  44. package/src/contracts/compliance/email-themes/index.ts +0 -284
  45. package/src/contracts/compliance/escrow-accounts/index.ts +0 -85
  46. package/src/contracts/compliance/exchange-api-keys/index.ts +0 -129
  47. package/src/contracts/compliance/exchange-imports/index.ts +0 -137
  48. package/src/contracts/compliance/files/index.ts +0 -267
  49. package/src/contracts/compliance/files-public/index.ts +0 -188
  50. package/src/contracts/compliance/health/index.ts +0 -26
  51. package/src/contracts/compliance/index.ts +0 -147
  52. package/src/contracts/compliance/individuals/index.ts +0 -57
  53. package/src/contracts/compliance/investor-accounts/index.ts +0 -141
  54. package/src/contracts/compliance/invites/index.ts +0 -137
  55. package/src/contracts/compliance/issuer-bank-accounts/index.ts +0 -81
  56. package/src/contracts/compliance/issuer-payment-methods/index.ts +0 -81
  57. package/src/contracts/compliance/issuers/index.ts +0 -97
  58. package/src/contracts/compliance/job-items/index.ts +0 -58
  59. package/src/contracts/compliance/jobs/index.ts +0 -59
  60. package/src/contracts/compliance/kyb/index.ts +0 -54
  61. package/src/contracts/compliance/kyc/index.ts +0 -77
  62. package/src/contracts/compliance/legal-entities/index.ts +0 -57
  63. package/src/contracts/compliance/login-histories/index.ts +0 -37
  64. package/src/contracts/compliance/notes/index.ts +0 -69
  65. package/src/contracts/compliance/notion-databases/index.ts +0 -107
  66. package/src/contracts/compliance/notion-pages/index.ts +0 -105
  67. package/src/contracts/compliance/offering-reports/index.ts +0 -149
  68. package/src/contracts/compliance/offerings/index.ts +0 -233
  69. package/src/contracts/compliance/pages/index.ts +0 -178
  70. package/src/contracts/compliance/payment-methods/index.ts +0 -57
  71. package/src/contracts/compliance/rejection-reasons/index.ts +0 -32
  72. package/src/contracts/compliance/review/index.ts +0 -169
  73. package/src/contracts/compliance/roles/index.ts +0 -34
  74. package/src/contracts/compliance/secondary-customers/index.ts +0 -77
  75. package/src/contracts/compliance/secondary-orders/index.ts +0 -60
  76. package/src/contracts/compliance/secondary-trades/index.ts +0 -100
  77. package/src/contracts/compliance/secure-requests/index.ts +0 -54
  78. package/src/contracts/compliance/signer/index.ts +0 -369
  79. package/src/contracts/compliance/site-links/index.ts +0 -128
  80. package/src/contracts/compliance/site-settings/index.ts +0 -669
  81. package/src/contracts/compliance/sites/index.ts +0 -56
  82. package/src/contracts/compliance/state-machine/index.ts +0 -94
  83. package/src/contracts/compliance/tasks/index.ts +0 -91
  84. package/src/contracts/compliance/third-parties/index.ts +0 -52
  85. package/src/contracts/compliance/trade-line-items/index.ts +0 -59
  86. package/src/contracts/compliance/trades/index.ts +0 -230
  87. package/src/contracts/compliance/transactions/index.ts +0 -161
  88. package/src/contracts/compliance/user-manuals/index.ts +0 -271
  89. package/src/contracts/compliance/user-settings/index.ts +0 -189
  90. package/src/contracts/compliance/users/index.ts +0 -200
  91. package/src/contracts/compliance/webhooks/index.ts +0 -41
  92. package/src/contracts/compliance-apikey/accounts/index.ts +0 -58
  93. package/src/contracts/compliance-apikey/index.ts +0 -14
  94. package/src/contracts/index.ts +0 -6
  95. package/src/contracts/investors/account-contacts/index.ts +0 -58
  96. package/src/contracts/investors/aic/index.ts +0 -59
  97. package/src/contracts/investors/assets/index.ts +0 -61
  98. package/src/contracts/investors/auth/index.ts +0 -116
  99. package/src/contracts/investors/bonus-tiers/index.ts +0 -37
  100. package/src/contracts/investors/cart/index.ts +0 -75
  101. package/src/contracts/investors/contact-us/index.ts +0 -48
  102. package/src/contracts/investors/data-records/index.ts +0 -113
  103. package/src/contracts/investors/data-rooms/index.ts +0 -96
  104. package/src/contracts/investors/files/index.ts +0 -167
  105. package/src/contracts/investors/files-public/index.ts +0 -185
  106. package/src/contracts/investors/index.ts +0 -72
  107. package/src/contracts/investors/individuals/index.ts +0 -99
  108. package/src/contracts/investors/investor-accounts/index.ts +0 -110
  109. package/src/contracts/investors/issuer-payment-methods/index.ts +0 -36
  110. package/src/contracts/investors/issuers/index.ts +0 -30
  111. package/src/contracts/investors/legal-entities/index.ts +0 -93
  112. package/src/contracts/investors/notes/index.ts +0 -69
  113. package/src/contracts/investors/offerings/index.ts +0 -93
  114. package/src/contracts/investors/pages/index.ts +0 -88
  115. package/src/contracts/investors/payment-methods/index.ts +0 -149
  116. package/src/contracts/investors/portfolios/index.ts +0 -53
  117. package/src/contracts/investors/sites/index.ts +0 -96
  118. package/src/contracts/investors/tasks/index.ts +0 -111
  119. package/src/contracts/investors/trade-line-items/index.ts +0 -75
  120. package/src/contracts/investors/trades/index.ts +0 -114
  121. package/src/contracts/investors/transactions/index.ts +0 -37
  122. package/src/contracts/investors/trusted-contacts/index.ts +0 -93
  123. package/src/contracts/investors/user-manuals/index.ts +0 -62
  124. package/src/contracts/investors/user-settings/index.ts +0 -170
  125. package/src/contracts/investors/users/index.ts +0 -45
  126. package/src/contracts/investors/webhooks/index.ts +0 -30
  127. package/src/contracts/issuers/account-contacts/index.ts +0 -76
  128. package/src/contracts/issuers/account-integrations/index.ts +0 -97
  129. package/src/contracts/issuers/accounts/index.ts +0 -97
  130. package/src/contracts/issuers/activities/index.ts +0 -54
  131. package/src/contracts/issuers/aic/index.ts +0 -39
  132. package/src/contracts/issuers/api-key-logs/index.ts +0 -53
  133. package/src/contracts/issuers/api-keys/index.ts +0 -93
  134. package/src/contracts/issuers/assets/index.ts +0 -122
  135. package/src/contracts/issuers/auth/index.ts +0 -152
  136. package/src/contracts/issuers/bonus-tiers/index.ts +0 -55
  137. package/src/contracts/issuers/contact-us/index.ts +0 -48
  138. package/src/contracts/issuers/covered-persons/index.ts +0 -136
  139. package/src/contracts/issuers/dashboard/index.ts +0 -72
  140. package/src/contracts/issuers/data-records/index.ts +0 -257
  141. package/src/contracts/issuers/data-rooms/index.ts +0 -134
  142. package/src/contracts/issuers/disbursement-approval-users/index.ts +0 -82
  143. package/src/contracts/issuers/disbursement-transactions/index.ts +0 -53
  144. package/src/contracts/issuers/disbursements/index.ts +0 -153
  145. package/src/contracts/issuers/email-themes/index.ts +0 -242
  146. package/src/contracts/issuers/escrow-accounts/index.ts +0 -81
  147. package/src/contracts/issuers/exchange-api-keys/index.ts +0 -144
  148. package/src/contracts/issuers/files/index.ts +0 -166
  149. package/src/contracts/issuers/files-public/index.ts +0 -166
  150. package/src/contracts/issuers/health/index.ts +0 -24
  151. package/src/contracts/issuers/index.ts +0 -112
  152. package/src/contracts/issuers/investor-accounts/index.ts +0 -148
  153. package/src/contracts/issuers/invites/index.ts +0 -129
  154. package/src/contracts/issuers/issuer/index.ts +0 -94
  155. package/src/contracts/issuers/issuer-bank-accounts/index.ts +0 -81
  156. package/src/contracts/issuers/issuer-payment-methods/index.ts +0 -136
  157. package/src/contracts/issuers/kyc/index.ts +0 -38
  158. package/src/contracts/issuers/login-histories/index.ts +0 -51
  159. package/src/contracts/issuers/notes/index.ts +0 -69
  160. package/src/contracts/issuers/offerings/index.ts +0 -206
  161. package/src/contracts/issuers/pages/index.ts +0 -138
  162. package/src/contracts/issuers/payment-methods/index.ts +0 -61
  163. package/src/contracts/issuers/portfolios/index.ts +0 -36
  164. package/src/contracts/issuers/rejection-reasons/index.ts +0 -32
  165. package/src/contracts/issuers/review/index.ts +0 -63
  166. package/src/contracts/issuers/secondary-customers/index.ts +0 -55
  167. package/src/contracts/issuers/secondary-orders/index.ts +0 -57
  168. package/src/contracts/issuers/secondary-trades/index.ts +0 -57
  169. package/src/contracts/issuers/secure-requests/index.ts +0 -34
  170. package/src/contracts/issuers/site-links/index.ts +0 -116
  171. package/src/contracts/issuers/site-settings/index.ts +0 -585
  172. package/src/contracts/issuers/sites/index.ts +0 -32
  173. package/src/contracts/issuers/tasks/index.ts +0 -111
  174. package/src/contracts/issuers/trades/index.ts +0 -132
  175. package/src/contracts/issuers/transactions/index.ts +0 -158
  176. package/src/contracts/issuers/user-manuals/index.ts +0 -62
  177. package/src/contracts/issuers/user-settings/index.ts +0 -170
  178. package/src/contracts/issuers/users/index.ts +0 -126
  179. package/src/contracts/secondaries/accounts/index.ts +0 -58
  180. package/src/contracts/secondaries/index.ts +0 -23
  181. package/src/contracts/secondaries/secondary-customers/index.ts +0 -55
  182. package/src/contracts/secondaries/secondary-issuers/index.ts +0 -94
  183. package/src/contracts/secondaries/secondary-orders/index.ts +0 -56
  184. package/src/contracts/secondaries/secondary-securities/index.ts +0 -95
  185. package/src/contracts/secondaries/secondary-trades/index.ts +0 -56
  186. package/types/index.mjs +0 -10320
@@ -1,242 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import { z } from 'zod';
3
- import {
4
- ForbiddenError,
5
- PaginationOptionsZod,
6
- UnauthorizedError,
7
- NotFoundError,
8
- InternalError,
9
- } from '../../../common/types';
10
- import {} from '../../../common/types';
11
- import {
12
- emailThemeIdSchema,
13
- emailThemeSettingIdSchema,
14
- EmailThemesList,
15
- IEmailTheme,
16
- IEmailThemeSetting,
17
- PatchEmailThemeSetting,
18
- IEmailThemeSettings,
19
- PatchEmailThemeSettings,
20
- PostEmailThemeZod,
21
- ExportEmailThemeSettingsZod,
22
- PatchEmailThemeNameZod,
23
- ImportEmailThemeSettingsZod,
24
- PreviewEmailThemeResponse,
25
- SendPreviewEmailResponse,
26
- SendPreviewEmailZod,
27
- PreviewEmailThemeZod,
28
- GenerateTemplatePreviewHtmlZod,
29
- } from '../../../common/types/email-theme.types';
30
-
31
- const c = initContract();
32
-
33
- export const emailThemesContract = c.router(
34
- {
35
- previewEmailTheme: {
36
- summary: 'Preview an email theme',
37
- method: 'GET',
38
- path: '/preview',
39
- metadata: {
40
- auth: true,
41
- },
42
- responses: {
43
- 200: PreviewEmailThemeResponse,
44
- 401: UnauthorizedError,
45
- 403: ForbiddenError,
46
- 404: NotFoundError,
47
- 500: InternalError,
48
- },
49
- },
50
- getEmailThemes: {
51
- summary: 'Get the email themes for the current account',
52
- method: 'GET',
53
- path: '',
54
- metadata: {
55
- auth: true,
56
- },
57
- responses: {
58
- 200: EmailThemesList,
59
- 401: UnauthorizedError,
60
- 403: ForbiddenError,
61
- 404: NotFoundError,
62
- },
63
- },
64
-
65
- getEmailTheme: {
66
- summary: 'Get the email theme for the current account',
67
- method: 'GET',
68
- path: '/:id',
69
- metadata: {
70
- auth: true,
71
- },
72
- query: PaginationOptionsZod,
73
- responses: {
74
- 200: IEmailTheme,
75
- 401: UnauthorizedError,
76
- 403: ForbiddenError,
77
- 404: NotFoundError,
78
- },
79
- },
80
- sendPreviewEmail: {
81
- summary: 'Send a preview email',
82
- method: 'POST',
83
- path: '/send-preview-email',
84
- metadata: {
85
- auth: true,
86
- },
87
- body: SendPreviewEmailZod,
88
- responses: {
89
- 201: SendPreviewEmailResponse,
90
- 401: UnauthorizedError,
91
- 403: ForbiddenError,
92
- 404: NotFoundError,
93
- 500: InternalError,
94
- },
95
- },
96
- sendTemplateEmail: {
97
- summary: 'Send a template email',
98
- method: 'POST',
99
- path: '/send-template-email',
100
- metadata: {
101
- auth: true,
102
- },
103
- body: PreviewEmailThemeZod,
104
- responses: {
105
- 201: SendPreviewEmailResponse,
106
- 401: UnauthorizedError,
107
- 403: ForbiddenError,
108
- 404: NotFoundError,
109
- 500: InternalError,
110
- },
111
- },
112
- generateTemplatePreviewHtml: {
113
- summary: 'Generate HTML for a template email',
114
- method: 'POST',
115
- path: '/generate-template-preview-html',
116
- metadata: {
117
- auth: true,
118
- },
119
- body: GenerateTemplatePreviewHtmlZod,
120
- responses: {
121
- 200: PreviewEmailThemeResponse,
122
- 401: UnauthorizedError,
123
- 403: ForbiddenError,
124
- 404: NotFoundError,
125
- 500: InternalError,
126
- },
127
- },
128
- postEmailTheme: {
129
- summary: 'Post a email theme',
130
- method: 'POST',
131
- path: '',
132
- metadata: {
133
- auth: true,
134
- },
135
- body: PostEmailThemeZod,
136
- responses: {
137
- 201: IEmailTheme,
138
- 401: UnauthorizedError,
139
- 403: ForbiddenError,
140
- 500: InternalError,
141
- },
142
- },
143
-
144
- patchEmailThemeSettings: {
145
- summary: 'Patch email theme settings',
146
- method: 'PATCH',
147
- path: '/:id/email-theme-settings',
148
- metadata: {
149
- auth: true,
150
- },
151
- pathParams: z.object({
152
- id: emailThemeIdSchema,
153
- }),
154
- body: PatchEmailThemeSettings,
155
- responses: {
156
- 201: IEmailThemeSettings,
157
- 401: UnauthorizedError,
158
- 403: ForbiddenError,
159
- 500: InternalError,
160
- },
161
- },
162
- patchEmailThemeSetting: {
163
- summary: 'Patch a email theme setting',
164
- method: 'PATCH',
165
- path: '/:id/email-theme/:emailThemeId',
166
- metadata: {
167
- auth: true,
168
- },
169
- pathParams: z.object({
170
- id: emailThemeSettingIdSchema,
171
- emailThemeId: emailThemeIdSchema,
172
- }),
173
- body: PatchEmailThemeSetting,
174
- responses: {
175
- 201: IEmailThemeSetting,
176
- 401: UnauthorizedError,
177
- 403: ForbiddenError,
178
- 500: InternalError,
179
- },
180
- },
181
- importEmailThemeSettings: {
182
- summary: 'Import email theme settings',
183
- method: 'POST',
184
- path: '/:id/import-theme-settings',
185
- metadata: {
186
- auth: true,
187
- },
188
- pathParams: z.object({
189
- id: emailThemeIdSchema,
190
- }),
191
- body: ImportEmailThemeSettingsZod,
192
- responses: {
193
- 201: IEmailThemeSettings,
194
- 401: UnauthorizedError,
195
- 403: ForbiddenError,
196
- 404: NotFoundError,
197
- 500: InternalError,
198
- },
199
- },
200
-
201
- exportEmailThemeSettings: {
202
- summary: 'Export email theme settings',
203
- method: 'GET',
204
- path: '/:id/export-theme-settings',
205
- metadata: {
206
- auth: true,
207
- },
208
- pathParams: z.object({
209
- id: emailThemeIdSchema,
210
- }),
211
- responses: {
212
- 200: ExportEmailThemeSettingsZod,
213
- 401: UnauthorizedError,
214
- 403: ForbiddenError,
215
- 404: NotFoundError,
216
- 500: InternalError,
217
- },
218
- },
219
- patchEmailThemeName: {
220
- summary: 'Patch the name of a email theme',
221
- method: 'PATCH',
222
- path: '/:id/name',
223
- metadata: {
224
- auth: true,
225
- },
226
- pathParams: z.object({
227
- id: emailThemeIdSchema,
228
- }),
229
- body: PatchEmailThemeNameZod,
230
- responses: {
231
- 201: IEmailTheme,
232
- 401: UnauthorizedError,
233
- 403: ForbiddenError,
234
- 404: NotFoundError,
235
- 500: InternalError,
236
- },
237
- },
238
- },
239
- {
240
- pathPrefix: 'email-themes',
241
- },
242
- );
@@ -1,81 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- ForbiddenError,
4
- InternalError,
5
- NotFoundError,
6
- UnauthorizedError,
7
- PaginationOptionsZod,
8
- BadRequestError,
9
- } from '../../../common/types';
10
- import {
11
- escrowAccountIdSchema,
12
- EscrowAccountsFilter,
13
- EscrowAccountsIncludeQuery,
14
- IEscrowAccount,
15
- IPaginatedEscrowAccount,
16
- PatchEscrowAccount,
17
- PostEscrowAccount,
18
- } from '../../../common/types/escrow-account.types';
19
- import { z } from 'zod';
20
-
21
- const c = initContract();
22
-
23
- export const escrowAccountsContract = c.router(
24
- {
25
- getEscrowAccounts: {
26
- summary: 'Get escrow accounts',
27
- method: 'GET',
28
- path: '',
29
- metadata: {
30
- auth: true,
31
- },
32
- query: PaginationOptionsZod.merge(EscrowAccountsFilter).merge(
33
- EscrowAccountsIncludeQuery,
34
- ),
35
- responses: {
36
- 200: IPaginatedEscrowAccount,
37
- 401: UnauthorizedError,
38
- 403: ForbiddenError,
39
- 404: NotFoundError,
40
- 500: InternalError,
41
- },
42
- },
43
- postEscrowAccount: {
44
- summary: 'Create an escrow account',
45
- method: 'POST',
46
- path: '',
47
- metadata: {
48
- auth: true,
49
- },
50
- body: PostEscrowAccount,
51
- responses: {
52
- 201: IEscrowAccount,
53
- 400: BadRequestError,
54
- 401: UnauthorizedError,
55
- 404: NotFoundError,
56
- 500: InternalError,
57
- },
58
- },
59
- patchEscrowAccount: {
60
- summary: 'Update escrow account',
61
- method: 'PATCH',
62
- path: '/:id',
63
- metadata: {
64
- auth: true,
65
- },
66
- pathParams: z.object({ id: escrowAccountIdSchema }),
67
- body: PatchEscrowAccount,
68
- responses: {
69
- 201: IEscrowAccount,
70
- 400: BadRequestError,
71
- 401: UnauthorizedError,
72
- 403: ForbiddenError,
73
- 404: NotFoundError,
74
- 500: InternalError,
75
- },
76
- },
77
- },
78
- {
79
- pathPrefix: 'escrow-accounts',
80
- },
81
- );
@@ -1,144 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- InternalError,
4
- NotFoundError,
5
- UnauthorizedError,
6
- BadRequestError,
7
- ForbiddenError,
8
- PaginationOptionsZod,
9
- } from '../../../common/types';
10
- import {
11
- ExchangeApiKey,
12
- exchangeApiKeyIdSchema,
13
- PaginatedExchangeApiKeys,
14
- PostExchangeApiKey,
15
- UpdateExchangeApiKey,
16
- ExchangeApiKeyStatusResponse,
17
- } from '../../../common/types/exchange-api-key.types';
18
- import { z } from 'zod';
19
-
20
- const c = initContract();
21
-
22
- export const exchangeApiKeysContract = c.router(
23
- {
24
- postExchangeApiKey: {
25
- summary: 'Create an exchange api key for an account',
26
- method: 'POST',
27
- path: '/',
28
- metadata: {
29
- auth: true,
30
- },
31
- body: PostExchangeApiKey,
32
- responses: {
33
- 201: ExchangeApiKey,
34
- 400: BadRequestError,
35
- 401: UnauthorizedError,
36
- 404: NotFoundError,
37
- 403: ForbiddenError,
38
- 500: InternalError,
39
- },
40
- },
41
- updateExchangeApiKey: {
42
- summary: 'Update an exchange api key for an account',
43
- method: 'PUT',
44
- path: '/:id',
45
- metadata: {
46
- auth: true,
47
- },
48
- pathParams: z.object({
49
- id: exchangeApiKeyIdSchema,
50
- }),
51
- body: UpdateExchangeApiKey,
52
- responses: {
53
- 200: ExchangeApiKey,
54
- 400: BadRequestError,
55
- 401: UnauthorizedError,
56
- 404: NotFoundError,
57
- 403: ForbiddenError,
58
- 500: InternalError,
59
- },
60
- },
61
- getExchangeApiKeys: {
62
- summary: '[ADMIN] Get exchange api keys',
63
- method: 'GET',
64
- path: '/',
65
- metadata: {
66
- auth: true,
67
- },
68
- query: PaginationOptionsZod,
69
- responses: {
70
- 200: PaginatedExchangeApiKeys,
71
- 401: UnauthorizedError,
72
- 403: ForbiddenError,
73
- 404: NotFoundError,
74
- 500: InternalError,
75
- },
76
- },
77
- getExchangeApiKey: {
78
- summary: 'Get exchange api key for an account',
79
- method: 'GET',
80
- path: '/:id',
81
- metadata: {
82
- auth: true,
83
- },
84
- pathParams: z.object({ id: exchangeApiKeyIdSchema }),
85
- responses: {
86
- 200: ExchangeApiKey,
87
- 401: UnauthorizedError,
88
- 403: ForbiddenError,
89
- 404: NotFoundError,
90
- 500: InternalError,
91
- },
92
- },
93
- deactivateExchangeApiKey: {
94
- summary: 'Deactivate an exchange api key for an account',
95
- method: 'GET',
96
- path: '/:id/deactivate',
97
- metadata: {
98
- auth: true,
99
- },
100
- pathParams: z.object({ id: exchangeApiKeyIdSchema }),
101
- responses: {
102
- 200: ExchangeApiKey,
103
- 401: UnauthorizedError,
104
- 403: ForbiddenError,
105
- 404: NotFoundError,
106
- 500: InternalError,
107
- },
108
- },
109
- deleteExchangeApiKey: {
110
- summary: 'Delete an exchange api key for an account',
111
- method: 'DELETE',
112
- path: '/:id',
113
- metadata: {
114
- auth: true,
115
- },
116
- pathParams: z.object({ id: exchangeApiKeyIdSchema }),
117
- responses: {
118
- 200: ExchangeApiKey,
119
- 401: UnauthorizedError,
120
- 403: ForbiddenError,
121
- 404: NotFoundError,
122
- 500: InternalError,
123
- },
124
- },
125
- getExchangeApiKeyStatus: {
126
- summary: 'Get exchange api key status',
127
- method: 'GET',
128
- path: '/:id/status',
129
- metadata: {
130
- auth: false,
131
- },
132
- pathParams: z.object({ id: exchangeApiKeyIdSchema }),
133
- responses: {
134
- 200: ExchangeApiKeyStatusResponse,
135
- 404: NotFoundError,
136
- 500: InternalError,
137
- },
138
- },
139
- },
140
-
141
- {
142
- pathPrefix: 'exchange-api-keys',
143
- },
144
- );
@@ -1,166 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- BadGateWayError,
4
- BadRequestError,
5
- fileIdSchema,
6
- FilesIncludeQuery,
7
- FileZod,
8
- InternalError,
9
- IPaginatedFile,
10
- LinkFileZod,
11
- NotFoundError,
12
- PaginationOptionsZod,
13
- PatchFile,
14
- PostFileQueryParams,
15
- UnauthorizedError,
16
- UnprocessableError,
17
- } from '../../../common/types';
18
- import { z } from 'zod';
19
- import { authHeader, generateApiDescription } from '../../../common/helpers';
20
-
21
- const c = initContract();
22
-
23
- export const filesContract = c.router(
24
- {
25
- postFile: {
26
- summary: 'Upload a file',
27
- description: generateApiDescription(
28
- 'Upload a file to the system.',
29
- 'POST',
30
- '/files',
31
- {
32
- query: {
33
- name: 'test',
34
- category: 'application',
35
- targetId: 'trade_01j5tkg6k2fygr0x06fegt27aj',
36
- },
37
- headers: authHeader,
38
- formData: { file: '@"/Users/local/Desktop/test.csv"' },
39
- },
40
- ),
41
- method: 'POST',
42
- path: '',
43
- query: PostFileQueryParams,
44
- contentType: 'multipart/form-data',
45
- body: c.type<{ file: File }>(),
46
- metadata: {
47
- auth: true,
48
- },
49
- responses: {
50
- 201: FileZod,
51
- 400: BadRequestError,
52
- 401: UnauthorizedError,
53
- 422: UnprocessableError,
54
- 500: InternalError,
55
- 502: BadGateWayError,
56
- },
57
- },
58
- linkFile: {
59
- summary: 'Links a file to a new resource',
60
- method: 'POST',
61
- path: '/:id/link',
62
- pathParams: z.object({
63
- id: fileIdSchema,
64
- }),
65
- body: LinkFileZod,
66
- metadata: {
67
- auth: true,
68
- },
69
- responses: {
70
- 201: FileZod,
71
- 400: BadRequestError,
72
- 401: UnauthorizedError,
73
- 422: UnprocessableError,
74
- 500: InternalError,
75
- 502: BadGateWayError,
76
- },
77
- },
78
- unlinkFile: {
79
- summary: 'Unlinks a file to the parent resource',
80
- method: 'POST',
81
- path: '/:id/unlink',
82
- pathParams: z.object({
83
- id: fileIdSchema,
84
- }),
85
- body: z.object({}),
86
- metadata: {
87
- auth: true,
88
- },
89
- responses: {
90
- 202: FileZod,
91
- 400: BadRequestError,
92
- 401: UnauthorizedError,
93
- 422: UnprocessableError,
94
- 500: InternalError,
95
- 502: BadGateWayError,
96
- },
97
- },
98
- getFiles: {
99
- summary: 'Get files',
100
- method: 'GET',
101
- path: '',
102
- metadata: {
103
- auth: true,
104
- },
105
- query: PaginationOptionsZod.merge(FilesIncludeQuery),
106
- responses: {
107
- 200: IPaginatedFile,
108
- 401: UnauthorizedError,
109
- },
110
- },
111
- getFile: {
112
- summary: 'Get file by id',
113
- method: 'GET',
114
- path: '/:id',
115
- metadata: {
116
- auth: true,
117
- },
118
- pathParams: z.object({
119
- id: fileIdSchema,
120
- }),
121
- responses: {
122
- 200: FileZod,
123
- 401: UnauthorizedError,
124
- 404: NotFoundError,
125
- },
126
- },
127
- patchFile: {
128
- summary: 'Update file by id',
129
- method: 'PATCH',
130
- path: '/:id',
131
- metadata: {
132
- auth: true,
133
- },
134
- pathParams: z.object({
135
- id: fileIdSchema,
136
- }),
137
- body: PatchFile,
138
- responses: {
139
- 201: FileZod,
140
- 400: BadRequestError,
141
- 401: UnauthorizedError,
142
- 404: NotFoundError,
143
- 500: InternalError,
144
- },
145
- },
146
- previewFile: {
147
- summary: 'Preview (stream) a file by id',
148
- method: 'GET',
149
- path: '/preview/:id',
150
- metadata: {
151
- auth: true,
152
- },
153
- pathParams: z.object({
154
- id: fileIdSchema,
155
- }),
156
- responses: {
157
- 200: z.unknown(),
158
- 401: UnauthorizedError,
159
- 404: NotFoundError,
160
- },
161
- },
162
- },
163
- {
164
- pathPrefix: 'files',
165
- },
166
- );