@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,111 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- IPaginatedTask,
4
- TaskZod,
5
- NotFoundError,
6
- PaginationOptionsZod,
7
- UnauthorizedError,
8
- taskIdSchema,
9
- InvestorsTaskFiltersZod,
10
- TasksIncludeQuery,
11
- PatchInvestorTaskZod,
12
- InternalError,
13
- MarkTaskAsDoneZod,
14
- } from '../../../common/types';
15
- import { z } from 'zod';
16
-
17
- const c = initContract();
18
-
19
- export const tasksContract = c.router(
20
- {
21
- getTasks: {
22
- summary: 'Get tasks',
23
- method: 'GET',
24
- path: '',
25
- metadata: {
26
- auth: true,
27
- },
28
- query: PaginationOptionsZod.merge(TasksIncludeQuery).merge(
29
- InvestorsTaskFiltersZod,
30
- ),
31
- responses: {
32
- 200: IPaginatedTask,
33
- 401: UnauthorizedError,
34
- },
35
- },
36
- getTask: {
37
- summary: 'Get task by id',
38
- method: 'GET',
39
- path: '/:id',
40
- metadata: {
41
- auth: true,
42
- },
43
- query: TasksIncludeQuery,
44
- pathParams: z.object({
45
- id: taskIdSchema,
46
- }),
47
- responses: {
48
- 200: TaskZod,
49
- 401: UnauthorizedError,
50
- 404: NotFoundError,
51
- },
52
- },
53
- patchTask: {
54
- summary: 'Update task by id',
55
- method: 'PATCH',
56
- path: '/:id',
57
- metadata: {
58
- auth: true,
59
- },
60
- pathParams: z.object({
61
- id: taskIdSchema,
62
- }),
63
- body: PatchInvestorTaskZod,
64
- responses: {
65
- 200: TaskZod,
66
- 401: UnauthorizedError,
67
- 404: NotFoundError,
68
- 500: InternalError,
69
- },
70
- },
71
- markTaskAsDone: {
72
- summary: 'Mark task as done',
73
- method: 'PATCH',
74
- path: '/:id/done',
75
- metadata: {
76
- auth: true,
77
- },
78
- pathParams: z.object({
79
- id: taskIdSchema,
80
- }),
81
- body: z.object({}),
82
- responses: {
83
- 200: MarkTaskAsDoneZod,
84
- 401: UnauthorizedError,
85
- 404: NotFoundError,
86
- 500: InternalError,
87
- },
88
- },
89
- markTaskAsViewed: {
90
- summary: 'Mark task as viewed',
91
- method: 'PATCH',
92
- path: '/:id/viewed',
93
- metadata: {
94
- auth: true,
95
- },
96
- pathParams: z.object({
97
- id: taskIdSchema,
98
- }),
99
- body: z.object({}),
100
- responses: {
101
- 200: MarkTaskAsDoneZod,
102
- 401: UnauthorizedError,
103
- 404: NotFoundError,
104
- 500: InternalError,
105
- },
106
- },
107
- },
108
- {
109
- pathPrefix: 'tasks',
110
- },
111
- );
@@ -1,114 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- ForbiddenError,
4
- InternalError,
5
- NotFoundError,
6
- UnauthorizedError,
7
- } from '../../../common/types';
8
- import {
9
- InvestorsGetTradesQuery,
10
- InvestorsPaginatedTrade,
11
- InvestorsTradeResponse,
12
- PostTradeBody,
13
- tradeIdSchema,
14
- TradeZod,
15
- UpdateTradeBody,
16
- CancelTradeResponse,
17
- CancelTradeZod,
18
- } from '../../../common/types/trade.types';
19
- import { z } from 'zod';
20
-
21
- const c = initContract();
22
-
23
- export const tradesContract = c.router(
24
- {
25
- getTrades: {
26
- summary: 'Get trades',
27
- method: 'GET',
28
- path: '',
29
- metadata: {
30
- auth: true,
31
- },
32
- query: InvestorsGetTradesQuery,
33
- responses: {
34
- 200: InvestorsPaginatedTrade,
35
- 401: UnauthorizedError,
36
- 403: ForbiddenError,
37
- },
38
- },
39
- createTrades: {
40
- summary: 'Create Trades',
41
- method: 'POST',
42
- path: '/',
43
- metadata: {
44
- auth: true,
45
- },
46
- body: PostTradeBody,
47
- responses: {
48
- 201: InvestorsTradeResponse,
49
- 500: InternalError,
50
- 401: UnauthorizedError,
51
- 403: ForbiddenError,
52
- },
53
- },
54
- updateTradePaymentMethod: {
55
- summary: 'Update Trade Payment Method',
56
- method: 'PATCH',
57
- path: '/:id',
58
- metadata: {
59
- auth: true,
60
- },
61
- pathParams: z.object({
62
- id: tradeIdSchema,
63
- }),
64
- body: UpdateTradeBody,
65
- responses: {
66
- 200: InvestorsTradeResponse,
67
- 401: UnauthorizedError,
68
- 403: ForbiddenError,
69
- 404: NotFoundError,
70
- 500: InternalError,
71
- },
72
- },
73
- getTrade: {
74
- summary: 'GET Trade by id',
75
- method: 'GET',
76
- path: '/:id',
77
- metadata: {
78
- auth: true,
79
- },
80
- pathParams: z.object({
81
- id: tradeIdSchema,
82
- }),
83
- responses: {
84
- 200: TradeZod,
85
- 401: UnauthorizedError,
86
- 403: ForbiddenError,
87
- 404: NotFoundError,
88
- 500: InternalError,
89
- },
90
- },
91
- cancelTrade: {
92
- summary: 'Cancel Trade',
93
- method: 'PUT',
94
- path: '/:id/cancel',
95
- metadata: {
96
- auth: true,
97
- },
98
- pathParams: z.object({
99
- id: tradeIdSchema,
100
- }),
101
- body: CancelTradeZod,
102
- responses: {
103
- 201: CancelTradeResponse,
104
- 401: UnauthorizedError,
105
- 403: ForbiddenError,
106
- 404: NotFoundError,
107
- 500: InternalError,
108
- },
109
- },
110
- },
111
- {
112
- pathPrefix: 'trades',
113
- },
114
- );
@@ -1,93 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import { z } from 'zod';
3
- import {
4
- BadRequestError,
5
- ForbiddenError,
6
- InternalError,
7
- NotFoundError,
8
- PaginationOptionsZod,
9
- UnauthorizedError,
10
- } from '../../../common/types';
11
- import {
12
- GetTrustedContactFilters,
13
- IPaginatedTrustedContact,
14
- ITrustedContactZod,
15
- PatchTrustedContactZod,
16
- PostTrustedContactZod,
17
- trustedContactIdSchema,
18
- TrustedContactsIncludeQuery,
19
- } from '../../../common/types/trusted-contact.types';
20
- const c = initContract();
21
-
22
- export const trustedContactsContract = c.router(
23
- {
24
- getTrustedContacts: {
25
- summary: 'Get Trusted Contacts of an investor account',
26
- method: 'GET',
27
- path: '',
28
- metadata: {
29
- auth: true,
30
- },
31
- query: PaginationOptionsZod.merge(GetTrustedContactFilters),
32
- responses: {
33
- 200: IPaginatedTrustedContact,
34
- 401: UnauthorizedError,
35
- 403: ForbiddenError,
36
- },
37
- },
38
- postTrustedContact: {
39
- summary: 'Create a trusted contact for an investor account',
40
- method: 'POST',
41
- path: '',
42
- metadata: {
43
- auth: true,
44
- },
45
- body: PostTrustedContactZod,
46
- responses: {
47
- 201: ITrustedContactZod,
48
- 401: UnauthorizedError,
49
- 403: ForbiddenError,
50
- 500: InternalError,
51
- },
52
- },
53
- getTrustedContact: {
54
- summary: 'Get trusted contact of an investor account by id',
55
- method: 'GET',
56
- path: '/:id',
57
- metadata: {
58
- auth: true,
59
- },
60
- query: z.object({}).merge(TrustedContactsIncludeQuery),
61
- pathParams: z.object({ id: trustedContactIdSchema }),
62
- responses: {
63
- 200: ITrustedContactZod,
64
- 401: UnauthorizedError,
65
- 403: ForbiddenError,
66
- 404: NotFoundError,
67
- },
68
- },
69
- patchTrustedContact: {
70
- summary: 'Update trusted contact of an investor account by id',
71
- method: 'PATCH',
72
- path: '/:id',
73
- metadata: {
74
- auth: true,
75
- },
76
- pathParams: z.object({
77
- id: trustedContactIdSchema,
78
- }),
79
- body: PatchTrustedContactZod,
80
- responses: {
81
- 201: ITrustedContactZod,
82
- 400: BadRequestError,
83
- 401: UnauthorizedError,
84
- 403: ForbiddenError,
85
- 404: NotFoundError,
86
- 500: InternalError,
87
- },
88
- },
89
- },
90
- {
91
- pathPrefix: 'trusted-contacts',
92
- },
93
- );
@@ -1,62 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- BadRequestError,
4
- ForbiddenError,
5
- NotFoundError,
6
- UnauthorizedError,
7
- } from '../../../common/types';
8
- import {
9
- IPaginatedUserManualCategory,
10
- IUserManualCategory,
11
- userManualCategoriesIncludeQuery,
12
- userManualCategorySchema,
13
- GetLimitedUserManualCategoryZod,
14
- UserManualsPaginationOptionsZod,
15
- } from '../../../common/types/user-manual.types';
16
- import { z } from 'zod';
17
-
18
- const c = initContract();
19
-
20
- export const userManualsContract = c.router(
21
- {
22
- getUserManualCategories: {
23
- summary: 'Get user manual Categories',
24
- method: 'GET',
25
- path: '/categories',
26
- metadata: {
27
- auth: true,
28
- },
29
- query: UserManualsPaginationOptionsZod.merge(
30
- userManualCategoriesIncludeQuery,
31
- ).merge(GetLimitedUserManualCategoryZod),
32
- responses: {
33
- 200: IPaginatedUserManualCategory,
34
- 400: BadRequestError,
35
- 401: UnauthorizedError,
36
- 403: ForbiddenError,
37
- },
38
- },
39
- getUserManualCategory: {
40
- summary: 'Get user manual category',
41
- method: 'GET',
42
- path: '/categories/:id',
43
- metadata: {
44
- auth: true,
45
- },
46
- pathParams: z.object({
47
- id: userManualCategorySchema,
48
- }),
49
- query: z.object({}).merge(userManualCategoriesIncludeQuery),
50
- responses: {
51
- 200: IUserManualCategory,
52
- 400: BadRequestError,
53
- 401: UnauthorizedError,
54
- 403: ForbiddenError,
55
- 404: NotFoundError,
56
- },
57
- },
58
- },
59
- {
60
- pathPrefix: 'user-manuals',
61
- },
62
- );
@@ -1,170 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- BadRequestError,
4
- InternalError,
5
- NotFoundError,
6
- UnauthorizedError,
7
- } from '../../../common/types';
8
- import {
9
- sendEmailVerificationBody,
10
- sendEmailVerificationResponse,
11
- sendVerificationCodeBody,
12
- sendVerificationCodeResponse,
13
- setupPhoneNumberBody,
14
- setupPhoneNumberResponse,
15
- setupTwoFactorResponse,
16
- userSettingsZod,
17
- validPhoneNumberBody,
18
- validPhoneNumberResponse,
19
- verifyEmailBody,
20
- verifyEmailResponse,
21
- verifyPhoneNumberBody,
22
- verifyPhoneNumberResponse,
23
- verifyTwoFactorBody,
24
- verifyTwoFactorResponse,
25
- } from '../../../common/types/user-setting.types';
26
-
27
- const c = initContract();
28
-
29
- export const userSettingsContract = c.router(
30
- {
31
- getUserSettings: {
32
- summary: 'Get current user settings',
33
- method: 'GET',
34
- path: '',
35
- metadata: {
36
- auth: true,
37
- },
38
- responses: {
39
- 200: userSettingsZod,
40
- 401: UnauthorizedError,
41
- 404: NotFoundError,
42
- 500: InternalError,
43
- },
44
- },
45
- validPhoneNumber: {
46
- summary: 'Validate phone number',
47
- method: 'POST',
48
- path: '/valid-phone-number',
49
- metadata: {
50
- auth: true,
51
- },
52
- body: validPhoneNumberBody,
53
- responses: {
54
- 200: validPhoneNumberResponse,
55
- 400: BadRequestError,
56
- 401: UnauthorizedError,
57
- 404: NotFoundError,
58
- 500: InternalError,
59
- },
60
- },
61
- setupPhoneNumber: {
62
- summary: 'Setup phone number',
63
- method: 'POST',
64
- path: '/setup-phone-number',
65
- metadata: {
66
- auth: true,
67
- },
68
- body: setupPhoneNumberBody,
69
- responses: {
70
- 200: setupPhoneNumberResponse,
71
- 400: BadRequestError,
72
- 401: UnauthorizedError,
73
- 404: NotFoundError,
74
- 500: InternalError,
75
- },
76
- },
77
- verifyPhoneNumber: {
78
- summary: 'Verify phone number',
79
- method: 'POST',
80
- path: '/verify-phone-number',
81
- metadata: {
82
- auth: true,
83
- },
84
- body: verifyPhoneNumberBody,
85
- responses: {
86
- 200: verifyPhoneNumberResponse,
87
- 400: BadRequestError,
88
- 401: UnauthorizedError,
89
- 404: NotFoundError,
90
- 500: InternalError,
91
- },
92
- },
93
- sendVerificationCode: {
94
- summary: 'Send verification code',
95
- method: 'POST',
96
- path: '/send-verification-code',
97
- metadata: {
98
- auth: true,
99
- },
100
- body: sendVerificationCodeBody,
101
- responses: {
102
- 200: sendVerificationCodeResponse,
103
- 400: BadRequestError,
104
- 401: UnauthorizedError,
105
- 404: NotFoundError,
106
- 500: InternalError,
107
- },
108
- },
109
- setupTwoFactorAuthenticator: {
110
- summary: 'Setup 2FA',
111
- method: 'GET',
112
- path: '/setup-authenticator',
113
- metadata: {
114
- auth: true,
115
- },
116
- responses: {
117
- 201: setupTwoFactorResponse,
118
- 400: BadRequestError,
119
- 401: UnauthorizedError,
120
- 500: InternalError,
121
- },
122
- },
123
- verifyTwoFactorAuthenticator: {
124
- summary: 'Verify 2FA',
125
- method: 'POST',
126
- path: '/verify-authenticator',
127
- body: verifyTwoFactorBody,
128
- responses: {
129
- 201: verifyTwoFactorResponse,
130
- 400: BadRequestError,
131
- 401: UnauthorizedError,
132
- 500: InternalError,
133
- },
134
- },
135
- sendEmailVerification: {
136
- summary: 'Send email verification code',
137
- method: 'POST',
138
- path: '/send-email-verification',
139
- metadata: {
140
- auth: true,
141
- },
142
- body: sendEmailVerificationBody,
143
- responses: {
144
- 200: sendEmailVerificationResponse,
145
- 400: BadRequestError,
146
- 401: UnauthorizedError,
147
- 429: BadRequestError,
148
- 500: InternalError,
149
- },
150
- },
151
- verifyEmail: {
152
- summary: 'Verify email with code',
153
- method: 'POST',
154
- path: '/verify-email',
155
- metadata: {
156
- auth: true,
157
- },
158
- body: verifyEmailBody,
159
- responses: {
160
- 200: verifyEmailResponse,
161
- 400: BadRequestError,
162
- 401: UnauthorizedError,
163
- 500: InternalError,
164
- },
165
- },
166
- },
167
- {
168
- pathPrefix: 'user-settings',
169
- },
170
- );
@@ -1,45 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- GetMeResponse,
4
- InvestorsUserMeUpdateZod,
5
- NotFoundError,
6
- UnauthorizedError,
7
- UserWithoutPasswordZod,
8
- } from '../../../common/types';
9
-
10
- const c = initContract();
11
-
12
- export const usersContract = c.router(
13
- {
14
- me: {
15
- summary: 'Get current user',
16
- method: 'GET',
17
- path: '/me',
18
- metadata: {
19
- auth: true,
20
- },
21
- responses: {
22
- 200: GetMeResponse,
23
- 401: UnauthorizedError,
24
- 404: NotFoundError,
25
- },
26
- },
27
- updateMe: {
28
- summary: 'Update current user',
29
- method: 'PATCH',
30
- path: '/me',
31
- metadata: {
32
- auth: true,
33
- },
34
- body: InvestorsUserMeUpdateZod,
35
- responses: {
36
- 201: UserWithoutPasswordZod,
37
- 401: UnauthorizedError,
38
- 404: NotFoundError,
39
- },
40
- },
41
- },
42
- {
43
- pathPrefix: 'users',
44
- },
45
- );
@@ -1,30 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import { z } from 'zod';
3
-
4
- const c = initContract();
5
- export const webhooksContract = c.router(
6
- {
7
- postBoldsignWebhook: {
8
- summary: '[BoldSign] webhook',
9
- method: 'POST',
10
- path: '/boldsign',
11
- body: z.any(), // Raw body will be handled by NestJS RawBodyRequest
12
- responses: {
13
- 200: z.object({
14
- received: z.boolean(),
15
- }),
16
- 400: z.object({
17
- received: z.boolean(),
18
- error: z.string().optional(),
19
- }),
20
- 401: z.object({
21
- received: z.boolean(),
22
- error: z.string().optional(),
23
- }),
24
- },
25
- },
26
- },
27
- {
28
- pathPrefix: 'webhooks',
29
- },
30
- );
@@ -1,76 +0,0 @@
1
- import { initContract } from '@ts-rest/core';
2
- import {
3
- BadRequestError,
4
- ForbiddenError,
5
- InternalError,
6
- NotFoundError,
7
- UnauthorizedError,
8
- } from '../../../common/types';
9
- import {
10
- accountContactIdSchema,
11
- IAccountContact,
12
- PatchAccountContactZod,
13
- } from '../../../common/types/account-contact.types';
14
- import { z } from 'zod';
15
-
16
- const c = initContract();
17
-
18
- export const accountContactsContract = c.router(
19
- {
20
- getAccountContacts: {
21
- summary: 'Get Account Contacts',
22
- method: 'GET',
23
- path: '',
24
- metadata: {
25
- auth: true,
26
- },
27
- responses: {
28
- 200: z.array(IAccountContact),
29
- 401: UnauthorizedError,
30
- 403: ForbiddenError,
31
- 500: InternalError,
32
- },
33
- },
34
- getAccountContact: {
35
- summary: 'Get account contact by id',
36
- method: 'GET',
37
- path: '/:id',
38
- metadata: {
39
- auth: true,
40
- },
41
- pathParams: z.object({
42
- id: accountContactIdSchema,
43
- }),
44
- responses: {
45
- 200: IAccountContact,
46
- 401: UnauthorizedError,
47
- 403: ForbiddenError,
48
- 404: NotFoundError,
49
- 500: InternalError,
50
- },
51
- },
52
- patchAccountContact: {
53
- summary: 'Update account contact',
54
- method: 'PATCH',
55
- path: '/:id',
56
- metadata: {
57
- auth: true,
58
- },
59
- pathParams: z.object({
60
- id: accountContactIdSchema,
61
- }),
62
- body: PatchAccountContactZod,
63
- responses: {
64
- 200: IAccountContact,
65
- 400: BadRequestError,
66
- 401: UnauthorizedError,
67
- 403: ForbiddenError,
68
- 404: NotFoundError,
69
- 500: InternalError,
70
- },
71
- },
72
- },
73
- {
74
- pathPrefix: 'account-contacts',
75
- },
76
- );