@riocrypto/common-server 1.0.506

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 (349) hide show
  1. package/build/clients/bitstamp-client.d.ts +16 -0
  2. package/build/clients/bitstamp-client.js +83 -0
  3. package/build/clients/ccxt-client.d.ts +48 -0
  4. package/build/clients/ccxt-client.js +201 -0
  5. package/build/clients/etherscan-client.d.ts +6 -0
  6. package/build/clients/etherscan-client.js +24 -0
  7. package/build/clients/fireblocks-client.d.ts +15 -0
  8. package/build/clients/fireblocks-client.js +140 -0
  9. package/build/clients/fixer-client.d.ts +8 -0
  10. package/build/clients/fixer-client.js +34 -0
  11. package/build/clients/gueno-client.d.ts +10 -0
  12. package/build/clients/gueno-client.js +44 -0
  13. package/build/clients/kapstar-client.d.ts +6 -0
  14. package/build/clients/kapstar-client.js +26 -0
  15. package/build/clients/kushki-client.d.ts +14 -0
  16. package/build/clients/kushki-client.js +150 -0
  17. package/build/clients/rio-client.d.ts +82 -0
  18. package/build/clients/rio-client.js +315 -0
  19. package/build/clients/slack-client.d.ts +7 -0
  20. package/build/clients/slack-client.js +34 -0
  21. package/build/errors/address-check-failed-error.d.ts +8 -0
  22. package/build/errors/address-check-failed-error.js +15 -0
  23. package/build/errors/admin-already-exists-error.d.ts +8 -0
  24. package/build/errors/admin-already-exists-error.js +15 -0
  25. package/build/errors/admin-not-found-error.d.ts +8 -0
  26. package/build/errors/admin-not-found-error.js +15 -0
  27. package/build/errors/admin-only-error.d.ts +8 -0
  28. package/build/errors/admin-only-error.js +15 -0
  29. package/build/errors/api-key-not-found-error.d.ts +8 -0
  30. package/build/errors/api-key-not-found-error.js +15 -0
  31. package/build/errors/auth-already-exists-error.d.ts +8 -0
  32. package/build/errors/auth-already-exists-error.js +15 -0
  33. package/build/errors/auth-not-found-error.d.ts +8 -0
  34. package/build/errors/auth-not-found-error.js +15 -0
  35. package/build/errors/authorization-failed-error.d.ts +8 -0
  36. package/build/errors/authorization-failed-error.js +15 -0
  37. package/build/errors/custom-error.d.ts +8 -0
  38. package/build/errors/custom-error.js +10 -0
  39. package/build/errors/database-connection-error.d.ts +9 -0
  40. package/build/errors/database-connection-error.js +16 -0
  41. package/build/errors/insufficient-liquidity-error.d.ts +8 -0
  42. package/build/errors/insufficient-liquidity-error.js +19 -0
  43. package/build/errors/invalid-order-size-error.d.ts +8 -0
  44. package/build/errors/invalid-order-size-error.js +15 -0
  45. package/build/errors/message-failed-error.d.ts +8 -0
  46. package/build/errors/message-failed-error.js +15 -0
  47. package/build/errors/missing-kyc-approval-error.d.ts +8 -0
  48. package/build/errors/missing-kyc-approval-error.js +15 -0
  49. package/build/errors/missing-password-error.d.ts +8 -0
  50. package/build/errors/missing-password-error.js +15 -0
  51. package/build/errors/missing-security-question-error.d.ts +8 -0
  52. package/build/errors/missing-security-question-error.js +15 -0
  53. package/build/errors/missing-user-error.d.ts +8 -0
  54. package/build/errors/missing-user-error.js +15 -0
  55. package/build/errors/not-authorized-error.d.ts +8 -0
  56. package/build/errors/not-authorized-error.js +15 -0
  57. package/build/errors/not-broker-error.d.ts +8 -0
  58. package/build/errors/not-broker-error.js +17 -0
  59. package/build/errors/not-found-error.d.ts +8 -0
  60. package/build/errors/not-found-error.js +15 -0
  61. package/build/errors/partner-already-exists-error.d.ts +8 -0
  62. package/build/errors/partner-already-exists-error.js +15 -0
  63. package/build/errors/partner-not-found-error.d.ts +8 -0
  64. package/build/errors/partner-not-found-error.js +15 -0
  65. package/build/errors/password-already-used-error.d.ts +8 -0
  66. package/build/errors/password-already-used-error.js +15 -0
  67. package/build/errors/request-validation-error.d.ts +11 -0
  68. package/build/errors/request-validation-error.js +18 -0
  69. package/build/errors/rio-settings-already-exists-error.d.ts +8 -0
  70. package/build/errors/rio-settings-already-exists-error.js +15 -0
  71. package/build/errors/rio-settings-not-found-error.d.ts +8 -0
  72. package/build/errors/rio-settings-not-found-error.js +15 -0
  73. package/build/errors/user-already-exists-error.d.ts +8 -0
  74. package/build/errors/user-already-exists-error.js +15 -0
  75. package/build/errors/verification-failed-error.d.ts +8 -0
  76. package/build/errors/verification-failed-error.js +15 -0
  77. package/build/errors/wrong-order-state-error.d.ts +8 -0
  78. package/build/errors/wrong-order-state-error.js +17 -0
  79. package/build/errors/wrong-password-error.d.ts +8 -0
  80. package/build/errors/wrong-password-error.js +15 -0
  81. package/build/errors/wrong-processor-error.d.ts +8 -0
  82. package/build/errors/wrong-processor-error.js +15 -0
  83. package/build/errors/wrong-security-answer-error.d.ts +8 -0
  84. package/build/errors/wrong-security-answer-error.js +15 -0
  85. package/build/events/admin-created-event.d.ts +8 -0
  86. package/build/events/admin-created-event.js +2 -0
  87. package/build/events/admin-deleted-event.d.ts +7 -0
  88. package/build/events/admin-deleted-event.js +2 -0
  89. package/build/events/bank-payout-initialized-event.d.ts +12 -0
  90. package/build/events/bank-payout-initialized-event.js +2 -0
  91. package/build/events/base-listener.d.ts +18 -0
  92. package/build/events/base-listener.js +30 -0
  93. package/build/events/base-publisher.d.ts +13 -0
  94. package/build/events/base-publisher.js +20 -0
  95. package/build/events/business-kyc-failed-event.d.ts +7 -0
  96. package/build/events/business-kyc-failed-event.js +2 -0
  97. package/build/events/business-kyc-passed-event.d.ts +7 -0
  98. package/build/events/business-kyc-passed-event.js +2 -0
  99. package/build/events/checked-address-created-event.d.ts +11 -0
  100. package/build/events/checked-address-created-event.js +2 -0
  101. package/build/events/checked-address-updated-event.d.ts +10 -0
  102. package/build/events/checked-address-updated-event.js +2 -0
  103. package/build/events/clip-card-payment-created-event.d.ts +8 -0
  104. package/build/events/clip-card-payment-created-event.js +2 -0
  105. package/build/events/clip-card-payment-failed-event.d.ts +7 -0
  106. package/build/events/clip-card-payment-failed-event.js +2 -0
  107. package/build/events/deposit-address-created-event.d.ts +8 -0
  108. package/build/events/deposit-address-created-event.js +2 -0
  109. package/build/events/deposit-address-failed-event.d.ts +7 -0
  110. package/build/events/deposit-address-failed-event.js +2 -0
  111. package/build/events/deposit-completed-event.d.ts +9 -0
  112. package/build/events/deposit-completed-event.js +2 -0
  113. package/build/events/deposit-registered-event.d.ts +9 -0
  114. package/build/events/deposit-registered-event.js +2 -0
  115. package/build/events/dlocal-bank-payment-created-event.d.ts +9 -0
  116. package/build/events/dlocal-bank-payment-created-event.js +2 -0
  117. package/build/events/dlocal-bank-payment-failed-event.d.ts +7 -0
  118. package/build/events/dlocal-bank-payment-failed-event.js +2 -0
  119. package/build/events/fees-failed-event.d.ts +7 -0
  120. package/build/events/fees-failed-event.js +2 -0
  121. package/build/events/kyc-failed-event.d.ts +7 -0
  122. package/build/events/kyc-failed-event.js +2 -0
  123. package/build/events/kyc-passed-event.d.ts +7 -0
  124. package/build/events/kyc-passed-event.js +2 -0
  125. package/build/events/liquidity-fill-failed-event.d.ts +7 -0
  126. package/build/events/liquidity-fill-failed-event.js +2 -0
  127. package/build/events/liquidity-filled-event.d.ts +11 -0
  128. package/build/events/liquidity-filled-event.js +2 -0
  129. package/build/events/liquidity-routed-event.d.ts +9 -0
  130. package/build/events/liquidity-routed-event.js +2 -0
  131. package/build/events/liquidity-routing-failed-event.d.ts +7 -0
  132. package/build/events/liquidity-routing-failed-event.js +2 -0
  133. package/build/events/liquidity-transfer-failed-event.d.ts +7 -0
  134. package/build/events/liquidity-transfer-failed-event.js +2 -0
  135. package/build/events/liquidity-transfered-event.d.ts +9 -0
  136. package/build/events/liquidity-transfered-event.js +2 -0
  137. package/build/events/order-created-event.d.ts +39 -0
  138. package/build/events/order-created-event.js +2 -0
  139. package/build/events/order-deleted-event.d.ts +7 -0
  140. package/build/events/order-deleted-event.js +2 -0
  141. package/build/events/order-updated-event.d.ts +37 -0
  142. package/build/events/order-updated-event.js +2 -0
  143. package/build/events/partner-created-event.d.ts +14 -0
  144. package/build/events/partner-created-event.js +2 -0
  145. package/build/events/partner-updated-event.d.ts +19 -0
  146. package/build/events/partner-updated-event.js +2 -0
  147. package/build/events/payment-complete-event.d.ts +9 -0
  148. package/build/events/payment-complete-event.js +2 -0
  149. package/build/events/payment-created-event.d.ts +8 -0
  150. package/build/events/payment-created-event.js +2 -0
  151. package/build/events/payment-failed-event.d.ts +7 -0
  152. package/build/events/payment-failed-event.js +2 -0
  153. package/build/events/processor-routed-event.d.ts +9 -0
  154. package/build/events/processor-routed-event.js +2 -0
  155. package/build/events/processor-routing-failed-event.d.ts +7 -0
  156. package/build/events/processor-routing-failed-event.js +2 -0
  157. package/build/events/quote-failed-event.d.ts +7 -0
  158. package/build/events/quote-failed-event.js +2 -0
  159. package/build/events/rio-settings-created-event.d.ts +8 -0
  160. package/build/events/rio-settings-created-event.js +2 -0
  161. package/build/events/rio-settings-updated-event.d.ts +8 -0
  162. package/build/events/rio-settings-updated-event.js +2 -0
  163. package/build/events/subjects.d.ts +60 -0
  164. package/build/events/subjects.js +64 -0
  165. package/build/events/user-created-event.d.ts +25 -0
  166. package/build/events/user-created-event.js +2 -0
  167. package/build/events/user-deleted-event.d.ts +7 -0
  168. package/build/events/user-deleted-event.js +2 -0
  169. package/build/events/user-disabled-event.d.ts +7 -0
  170. package/build/events/user-disabled-event.js +2 -0
  171. package/build/events/user-updated-event.d.ts +23 -0
  172. package/build/events/user-updated-event.js +2 -0
  173. package/build/events/wyre-ach-payment-created-event.d.ts +9 -0
  174. package/build/events/wyre-ach-payment-created-event.js +2 -0
  175. package/build/events/wyre-payment-method-created-event.d.ts +11 -0
  176. package/build/events/wyre-payment-method-created-event.js +2 -0
  177. package/build/events/wyre-transfer-completed-event.d.ts +9 -0
  178. package/build/events/wyre-transfer-completed-event.js +2 -0
  179. package/build/events/wyre-transfer-created-event.d.ts +9 -0
  180. package/build/events/wyre-transfer-created-event.js +2 -0
  181. package/build/events/wyre-transfer-failed-event.d.ts +9 -0
  182. package/build/events/wyre-transfer-failed-event.js +2 -0
  183. package/build/events/wyre-user-created-event.d.ts +9 -0
  184. package/build/events/wyre-user-created-event.js +2 -0
  185. package/build/helpers/get-user-helper.d.ts +4 -0
  186. package/build/helpers/get-user-helper.js +35 -0
  187. package/build/index.d.ts +91 -0
  188. package/build/index.js +107 -0
  189. package/build/middlewares/authorize.d.ts +28 -0
  190. package/build/middlewares/authorize.js +195 -0
  191. package/build/middlewares/current-admin-auth.d.ts +15 -0
  192. package/build/middlewares/current-admin-auth.js +20 -0
  193. package/build/middlewares/current-auth.d.ts +16 -0
  194. package/build/middlewares/current-auth.js +20 -0
  195. package/build/middlewares/error-handler.d.ts +2 -0
  196. package/build/middlewares/error-handler.js +14 -0
  197. package/build/middlewares/get-order.d.ts +11 -0
  198. package/build/middlewares/get-order.js +57 -0
  199. package/build/middlewares/get-partner.d.ts +10 -0
  200. package/build/middlewares/get-partner.js +41 -0
  201. package/build/middlewares/get-user.d.ts +12 -0
  202. package/build/middlewares/get-user.js +45 -0
  203. package/build/middlewares/require-admin-api-key.d.ts +2 -0
  204. package/build/middlewares/require-admin-api-key.js +11 -0
  205. package/build/middlewares/require-auth.d.ts +2 -0
  206. package/build/middlewares/require-auth.js +11 -0
  207. package/build/middlewares/require-priveleges.d.ts +2 -0
  208. package/build/middlewares/require-priveleges.js +15 -0
  209. package/build/middlewares/validate-auth.d.ts +2 -0
  210. package/build/middlewares/validate-auth.js +30 -0
  211. package/build/middlewares/validate-kyc.d.ts +2 -0
  212. package/build/middlewares/validate-kyc.js +30 -0
  213. package/build/middlewares/validate-order.d.ts +0 -0
  214. package/build/middlewares/validate-order.js +20 -0
  215. package/build/middlewares/validate-request.d.ts +2 -0
  216. package/build/middlewares/validate-request.js +13 -0
  217. package/build/middlewares/verify-admin-api-key.d.ts +9 -0
  218. package/build/middlewares/verify-admin-api-key.js +11 -0
  219. package/build/models/admin-auth.d.ts +16 -0
  220. package/build/models/admin-auth.js +59 -0
  221. package/build/models/auth.d.ts +24 -0
  222. package/build/models/auth.js +83 -0
  223. package/build/models/bank-payout.d.ts +20 -0
  224. package/build/models/bank-payout.js +44 -0
  225. package/build/models/business-user.d.ts +57 -0
  226. package/build/models/business-user.js +111 -0
  227. package/build/models/ccxt-order.d.ts +16 -0
  228. package/build/models/ccxt-order.js +37 -0
  229. package/build/models/checked-address.d.ts +17 -0
  230. package/build/models/checked-address.js +37 -0
  231. package/build/models/kushki-payment.d.ts +16 -0
  232. package/build/models/kushki-payment.js +37 -0
  233. package/build/models/kyc.d.ts +20 -0
  234. package/build/models/kyc.js +45 -0
  235. package/build/models/order.d.ts +67 -0
  236. package/build/models/order.js +123 -0
  237. package/build/models/partner.d.ts +35 -0
  238. package/build/models/partner.js +69 -0
  239. package/build/models/rio-settings.d.ts +12 -0
  240. package/build/models/rio-settings.js +29 -0
  241. package/build/models/user.d.ts +53 -0
  242. package/build/models/user.js +94 -0
  243. package/build/services/apiKey.d.ts +3 -0
  244. package/build/services/apiKey.js +24 -0
  245. package/build/services/password.d.ts +4 -0
  246. package/build/services/password.js +32 -0
  247. package/build/services/s3.d.ts +5 -0
  248. package/build/services/s3.js +21 -0
  249. package/build/types/address-check-result.d.ts +4 -0
  250. package/build/types/address-check-result.js +8 -0
  251. package/build/types/admin.d.ts +4 -0
  252. package/build/types/admin.js +2 -0
  253. package/build/types/api-key.d.ts +5 -0
  254. package/build/types/api-key.js +2 -0
  255. package/build/types/auth-update.d.ts +8 -0
  256. package/build/types/auth-update.js +2 -0
  257. package/build/types/auth.d.ts +6 -0
  258. package/build/types/auth.js +2 -0
  259. package/build/types/authorization-type.d.ts +8 -0
  260. package/build/types/authorization-type.js +12 -0
  261. package/build/types/bank-payout.d.ts +7 -0
  262. package/build/types/bank-payout.js +2 -0
  263. package/build/types/business-user-input.d.ts +27 -0
  264. package/build/types/business-user-input.js +2 -0
  265. package/build/types/business-user-update.d.ts +26 -0
  266. package/build/types/business-user-update.js +2 -0
  267. package/build/types/business-user.d.ts +30 -0
  268. package/build/types/business-user.js +2 -0
  269. package/build/types/ccxt-liquidity-provider.d.ts +5 -0
  270. package/build/types/ccxt-liquidity-provider.js +9 -0
  271. package/build/types/checked-address.d.ts +7 -0
  272. package/build/types/checked-address.js +2 -0
  273. package/build/types/clip-payment-status.d.ts +3 -0
  274. package/build/types/clip-payment-status.js +7 -0
  275. package/build/types/country.d.ts +57 -0
  276. package/build/types/country.js +256 -0
  277. package/build/types/crypto.d.ts +6 -0
  278. package/build/types/crypto.js +38 -0
  279. package/build/types/dlocal-payment-method.d.ts +4 -0
  280. package/build/types/dlocal-payment-method.js +8 -0
  281. package/build/types/fees.d.ts +9 -0
  282. package/build/types/fees.js +2 -0
  283. package/build/types/fiat.d.ts +6 -0
  284. package/build/types/fiat.js +45 -0
  285. package/build/types/kyc-status.d.ts +7 -0
  286. package/build/types/kyc-status.js +11 -0
  287. package/build/types/language.d.ts +6 -0
  288. package/build/types/language.js +10 -0
  289. package/build/types/liquidity-provider.d.ts +9 -0
  290. package/build/types/liquidity-provider.js +13 -0
  291. package/build/types/order-input.d.ts +31 -0
  292. package/build/types/order-input.js +2 -0
  293. package/build/types/order-status.d.ts +21 -0
  294. package/build/types/order-status.js +51 -0
  295. package/build/types/order.d.ts +37 -0
  296. package/build/types/order.js +2 -0
  297. package/build/types/partner-auth.d.ts +5 -0
  298. package/build/types/partner-auth.js +2 -0
  299. package/build/types/partner-stats.d.ts +5 -0
  300. package/build/types/partner-stats.js +2 -0
  301. package/build/types/partner-status.d.ts +6 -0
  302. package/build/types/partner-status.js +10 -0
  303. package/build/types/partner-update.d.ts +10 -0
  304. package/build/types/partner-update.js +2 -0
  305. package/build/types/partner.d.ts +15 -0
  306. package/build/types/partner.js +2 -0
  307. package/build/types/payment-method.d.ts +5 -0
  308. package/build/types/payment-method.js +9 -0
  309. package/build/types/payout-method.d.ts +3 -0
  310. package/build/types/payout-method.js +7 -0
  311. package/build/types/platform-fee-range.d.ts +5 -0
  312. package/build/types/platform-fee-range.js +2 -0
  313. package/build/types/processor.d.ts +12 -0
  314. package/build/types/processor.js +16 -0
  315. package/build/types/quote.d.ts +21 -0
  316. package/build/types/quote.js +2 -0
  317. package/build/types/rio-env.d.ts +6 -0
  318. package/build/types/rio-env.js +10 -0
  319. package/build/types/rio-settings-update.d.ts +4 -0
  320. package/build/types/rio-settings-update.js +2 -0
  321. package/build/types/rio-settings.d.ts +4 -0
  322. package/build/types/rio-settings.js +2 -0
  323. package/build/types/security-question.d.ts +7 -0
  324. package/build/types/security-question.js +11 -0
  325. package/build/types/side.d.ts +4 -0
  326. package/build/types/side.js +8 -0
  327. package/build/types/us-state.d.ts +61 -0
  328. package/build/types/us-state.js +65 -0
  329. package/build/types/user-attribute.d.ts +10 -0
  330. package/build/types/user-attribute.js +14 -0
  331. package/build/types/user-input.d.ts +26 -0
  332. package/build/types/user-input.js +2 -0
  333. package/build/types/user-type.d.ts +4 -0
  334. package/build/types/user-type.js +8 -0
  335. package/build/types/user-update.d.ts +25 -0
  336. package/build/types/user-update.js +2 -0
  337. package/build/types/user.d.ts +30 -0
  338. package/build/types/user.js +2 -0
  339. package/build/types/users-stats.d.ts +3 -0
  340. package/build/types/users-stats.js +2 -0
  341. package/build/types/wyre-address.d.ts +9 -0
  342. package/build/types/wyre-address.js +2 -0
  343. package/build/types/wyre-order-status.d.ts +7 -0
  344. package/build/types/wyre-order-status.js +11 -0
  345. package/build/types/wyre-payment-method.d.ts +40 -0
  346. package/build/types/wyre-payment-method.js +2 -0
  347. package/build/types/wyre-webhook-notification.d.ts +12 -0
  348. package/build/types/wyre-webhook-notification.js +2 -0
  349. package/package.json +36 -0
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requirePriveleges = void 0;
4
+ const missing_user_error_1 = require("../errors/missing-user-error");
5
+ const not_authorized_error_1 = require("../errors/not-authorized-error");
6
+ const requirePriveleges = (req, res, next) => {
7
+ if (req.currentAuth && !req.user) {
8
+ throw new missing_user_error_1.MissingUserError();
9
+ }
10
+ if (!req.partnerId && !req.user && !req.currentAdminAuth) {
11
+ throw new not_authorized_error_1.NotAuthorizedError();
12
+ }
13
+ next();
14
+ };
15
+ exports.requirePriveleges = requirePriveleges;
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const validateAuth: (req: Request, res: Response, next: NextFunction) => Promise<void>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.validateAuth = void 0;
13
+ const missing_password_error_1 = require("../errors/missing-password-error");
14
+ const missing_security_question_error_1 = require("../errors/missing-security-question-error");
15
+ const validateAuth = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
16
+ const auth = req.currentAuth;
17
+ if (auth) {
18
+ if (auth.missing.includes("password")) {
19
+ throw new missing_password_error_1.MissingPasswordError();
20
+ }
21
+ if (auth.missing.includes("securityQuestion")) {
22
+ throw new missing_security_question_error_1.MissingSecurityQuestionError();
23
+ }
24
+ if (auth.missing.includes("securityAnswer")) {
25
+ throw new missing_security_question_error_1.MissingSecurityQuestionError();
26
+ }
27
+ }
28
+ next();
29
+ });
30
+ exports.validateAuth = validateAuth;
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const validateKYC: (req: Request, res: Response, next: NextFunction) => Promise<void>;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.validateKYC = void 0;
13
+ const missing_kyc_approval_error_1 = require("../errors/missing-kyc-approval-error");
14
+ const kyc_status_1 = require("../types/kyc-status");
15
+ const user_type_1 = require("../types/user-type");
16
+ const validateKYC = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const user = req.user;
18
+ if ((user === null || user === void 0 ? void 0 : user.type) === user_type_1.UserType.Individual) {
19
+ if (user.kycStatus !== kyc_status_1.KYCStatus.Passed) {
20
+ throw new missing_kyc_approval_error_1.MissingKYCApprovalError();
21
+ }
22
+ }
23
+ if ((user === null || user === void 0 ? void 0 : user.type) === user_type_1.UserType.Business) {
24
+ if (user.kycStatus !== kyc_status_1.KYCStatus.businessApproved) {
25
+ throw new missing_kyc_approval_error_1.MissingKYCApprovalError();
26
+ }
27
+ }
28
+ next();
29
+ });
30
+ exports.validateKYC = validateKYC;
File without changes
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // import { Request, Response, NextFunction } from "express";
3
+ // import { NotAuthorizedError } from "../errors/not-authorized-error";
4
+ // export const validateOrder = async (
5
+ // req: Request,
6
+ // res: Response,
7
+ // next: NextFunction
8
+ // ) => {
9
+ // const order = req.order;
10
+ // if (!order) {
11
+ // throw new NotAuthorizedError();
12
+ // }
13
+ // if (req.partnerId && req.partnerId !== order.partnerId) {
14
+ // throw new NotAuthorizedError();
15
+ // }
16
+ // if (req.user && req.user._id.valueOf() !== order.userId) {
17
+ // throw new NotAuthorizedError();
18
+ // }
19
+ // next();
20
+ // };
@@ -0,0 +1,2 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ export declare const validateRequest: (req: Request, res: Response, next: NextFunction) => void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRequest = void 0;
4
+ const express_validator_1 = require("express-validator");
5
+ const request_validation_error_1 = require("../errors/request-validation-error");
6
+ const validateRequest = (req, res, next) => {
7
+ const errors = (0, express_validator_1.validationResult)(req);
8
+ if (!errors.isEmpty()) {
9
+ throw new request_validation_error_1.RequestValidationError(errors.array());
10
+ }
11
+ next();
12
+ };
13
+ exports.validateRequest = validateRequest;
@@ -0,0 +1,9 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ declare global {
3
+ namespace Express {
4
+ interface Request {
5
+ validAdminApiKey?: boolean;
6
+ }
7
+ }
8
+ }
9
+ export declare const verifyAdminApiKey: (req: Request, res: Response, next: NextFunction) => void;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyAdminApiKey = void 0;
4
+ const verifyAdminApiKey = (req, res, next) => {
5
+ let apiKey = req.header("x-api-key");
6
+ if (apiKey === process.env.ORIGINAL_ADMIN_API_KEY) {
7
+ req.validAdminApiKey = true;
8
+ }
9
+ next();
10
+ };
11
+ exports.verifyAdminApiKey = verifyAdminApiKey;
@@ -0,0 +1,16 @@
1
+ import { Mongoose, Model, Document } from "mongoose";
2
+ interface AdminAuthAttrs {
3
+ email: string;
4
+ password: string;
5
+ previousPasswords?: string[];
6
+ }
7
+ interface AdminAuthDoc extends Document {
8
+ email: string;
9
+ password: string;
10
+ previousPasswords?: string[];
11
+ }
12
+ interface AdminAuthModel extends Model<AdminAuthDoc> {
13
+ build(attrs: AdminAuthAttrs): AdminAuthDoc;
14
+ }
15
+ declare const buildAdminAuth: (mongoose: Mongoose) => AdminAuthModel;
16
+ export { buildAdminAuth, AdminAuthDoc };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.buildAdminAuth = void 0;
13
+ const password_1 = require("../services/password");
14
+ const buildAdminAuth = (mongoose) => {
15
+ // if model is already defined, return it
16
+ if (mongoose.models.AdminAuth) {
17
+ return mongoose.model("AdminAuth");
18
+ }
19
+ const AdminSchema = new mongoose.Schema({
20
+ email: {
21
+ type: String,
22
+ required: true,
23
+ },
24
+ password: {
25
+ type: String,
26
+ required: true,
27
+ },
28
+ previousPasswords: [
29
+ {
30
+ type: String,
31
+ required: false,
32
+ },
33
+ ],
34
+ }, {
35
+ toJSON: {
36
+ transform(doc, ret) {
37
+ ret.id = ret._id.valueOf();
38
+ delete ret._id;
39
+ delete ret.__v;
40
+ delete ret.password;
41
+ },
42
+ },
43
+ });
44
+ AdminSchema.pre("save", function (done) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ if (this.isModified("password")) {
47
+ const hashed = yield password_1.Password.toHash(this.get("password"));
48
+ this.set("password", hashed);
49
+ }
50
+ done();
51
+ });
52
+ });
53
+ AdminSchema.statics.build = (attrs) => {
54
+ return new AdminAuth(attrs);
55
+ };
56
+ const AdminAuth = mongoose.model("AdminAuth", AdminSchema);
57
+ return AdminAuth;
58
+ };
59
+ exports.buildAdminAuth = buildAdminAuth;
@@ -0,0 +1,24 @@
1
+ import { APIKey } from "../types/api-key";
2
+ import { SecurityQuestion } from "../types/security-question";
3
+ import { Mongoose, Model, Document } from "mongoose";
4
+ interface AuthAttrs {
5
+ phoneNumber: string;
6
+ password?: string;
7
+ securityQuestion?: SecurityQuestion;
8
+ securityAnswer?: string;
9
+ previousPasswords?: string[];
10
+ apiKeys?: APIKey[];
11
+ }
12
+ interface AuthDoc extends Document {
13
+ phoneNumber: string;
14
+ password?: string;
15
+ securityQuestion?: SecurityQuestion;
16
+ securityAnswer?: string;
17
+ previousPasswords?: string[];
18
+ apiKeys?: APIKey[];
19
+ }
20
+ interface AuthModel extends Model<AuthDoc> {
21
+ build(attrs: AuthAttrs): AuthDoc;
22
+ }
23
+ declare const buildAuth: (mongoose: Mongoose) => AuthModel;
24
+ export { buildAuth, AuthDoc };
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.buildAuth = void 0;
13
+ const password_1 = require("../services/password");
14
+ const buildAuth = (mongoose) => {
15
+ // if model is already defined, return it
16
+ if (mongoose.models.Auth) {
17
+ return mongoose.model("Auth");
18
+ }
19
+ const AuthSchema = new mongoose.Schema({
20
+ phoneNumber: {
21
+ type: String,
22
+ required: true,
23
+ },
24
+ password: {
25
+ type: String,
26
+ },
27
+ securityQuestion: {
28
+ type: String,
29
+ },
30
+ securityAnswer: {
31
+ type: String,
32
+ },
33
+ previousPasswords: [
34
+ {
35
+ type: String,
36
+ },
37
+ ],
38
+ apiKeys: [
39
+ {
40
+ value: {
41
+ type: String,
42
+ required: true,
43
+ },
44
+ label: {
45
+ type: String,
46
+ },
47
+ id: {
48
+ type: String,
49
+ required: true,
50
+ },
51
+ },
52
+ ],
53
+ }, {
54
+ toJSON: {
55
+ transform(doc, ret) {
56
+ ret.id = ret._id.valueOf();
57
+ delete ret._id;
58
+ delete ret.__v;
59
+ delete ret.password;
60
+ delete ret.securityAnswer;
61
+ delete ret.previousPasswords;
62
+ for (let apiKey of ret.apiKeys) {
63
+ delete apiKey.value;
64
+ }
65
+ },
66
+ },
67
+ });
68
+ AuthSchema.pre("save", function (done) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ if (this.isModified("password")) {
71
+ const hashed = yield password_1.Password.toHash(this.get("password"));
72
+ this.set("password", hashed);
73
+ }
74
+ done();
75
+ });
76
+ });
77
+ AuthSchema.statics.build = (attrs) => {
78
+ return new Auth(attrs);
79
+ };
80
+ const Auth = mongoose.model("Auth", AuthSchema);
81
+ return Auth;
82
+ };
83
+ exports.buildAuth = buildAuth;
@@ -0,0 +1,20 @@
1
+ import { Mongoose, Model, Document } from "mongoose";
2
+ interface BankPayoutAttrs {
3
+ orderId: string;
4
+ originBank: string;
5
+ destinationBank?: string;
6
+ accountNumber: string;
7
+ status: string;
8
+ }
9
+ interface BankPayoutDoc extends Document {
10
+ orderId: string;
11
+ originBank: string;
12
+ destinationBank?: string;
13
+ accountNumber: string;
14
+ status: string;
15
+ }
16
+ interface BankPayoutModel extends Model<BankPayoutDoc> {
17
+ build(attrs: BankPayoutAttrs): BankPayoutDoc;
18
+ }
19
+ declare const buildBankPayout: (mongoose: Mongoose) => BankPayoutModel;
20
+ export { buildBankPayout, BankPayoutDoc };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildBankPayout = void 0;
4
+ const buildBankPayout = (mongoose) => {
5
+ // if model is already defined, return it
6
+ if (mongoose.models.BankPayout) {
7
+ return mongoose.model("BankPayout");
8
+ }
9
+ const BankPayoutSchema = new mongoose.Schema({
10
+ orderId: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ originBank: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ accountNumber: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ status: {
23
+ type: String,
24
+ required: true,
25
+ },
26
+ destinationBank: {
27
+ type: String,
28
+ },
29
+ }, {
30
+ toJSON: {
31
+ transform(doc, ret) {
32
+ ret.id = ret._id.valueOf();
33
+ delete ret._id;
34
+ delete ret.__v;
35
+ },
36
+ },
37
+ });
38
+ BankPayoutSchema.statics.build = (attrs) => {
39
+ return new BankPayout(attrs);
40
+ };
41
+ const BankPayout = mongoose.model("BankPayout", BankPayoutSchema);
42
+ return BankPayout;
43
+ };
44
+ exports.buildBankPayout = buildBankPayout;
@@ -0,0 +1,57 @@
1
+ import { Country } from "../types/country";
2
+ import { KYCStatus } from "../types/kyc-status";
3
+ import { Language } from "../types/language";
4
+ import { PlatformFeeRange } from "../types/platform-fee-range";
5
+ import { USState } from "../types/us-state";
6
+ import { UserAttribute } from "../types/user-attribute";
7
+ import { UserType } from "../types/user-type";
8
+ import { Mongoose, Model, Document } from "mongoose";
9
+ interface BusinessUserAttrs {
10
+ authId?: string;
11
+ type: UserType;
12
+ companyName: string;
13
+ legalRepresentative: string;
14
+ phoneNumber: string;
15
+ email: string;
16
+ street1: string;
17
+ street2?: string;
18
+ city: string;
19
+ state: USState | string;
20
+ postalCode: string;
21
+ country: Country;
22
+ kycStatus: KYCStatus;
23
+ COIFile?: string;
24
+ KYCReportFile?: string;
25
+ cpf?: string;
26
+ language?: Language;
27
+ attributes?: UserAttribute[];
28
+ brokerId?: string;
29
+ platformFeeRanges?: PlatformFeeRange[];
30
+ }
31
+ interface BusinessUserModel extends Model<BusinessUserDoc> {
32
+ build(attrs: BusinessUserAttrs): BusinessUserDoc;
33
+ }
34
+ interface BusinessUserDoc extends Document {
35
+ authId?: string;
36
+ type: UserType;
37
+ companyName: string;
38
+ legalRepresentative: string;
39
+ phoneNumber: string;
40
+ email: string;
41
+ street1: string;
42
+ street2?: string;
43
+ city: string;
44
+ state: USState | string;
45
+ postalCode: string;
46
+ country: Country;
47
+ kycStatus: KYCStatus;
48
+ COIFile?: string;
49
+ KYCReportFile?: string;
50
+ cpf?: string;
51
+ language?: Language;
52
+ attributes?: UserAttribute[];
53
+ brokerId?: string;
54
+ platformFeeRanges?: PlatformFeeRange[];
55
+ }
56
+ declare const buildBusinessUser: (mongoose: Mongoose) => BusinessUserModel;
57
+ export { buildBusinessUser, BusinessUserDoc };
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildBusinessUser = void 0;
4
+ const buildBusinessUser = (mongoose) => {
5
+ // if model is already defined, return it
6
+ if (mongoose.models.BusinessUser) {
7
+ return mongoose.model("BusinessUser");
8
+ }
9
+ const BusinessUserSchema = new mongoose.Schema({
10
+ authId: {
11
+ type: String,
12
+ },
13
+ type: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ companyName: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ legalRepresentative: {
22
+ type: String,
23
+ required: true,
24
+ },
25
+ phoneNumber: {
26
+ type: String,
27
+ required: true,
28
+ },
29
+ email: {
30
+ type: String,
31
+ required: true,
32
+ },
33
+ street1: {
34
+ type: String,
35
+ required: true,
36
+ },
37
+ street2: {
38
+ type: String,
39
+ },
40
+ city: {
41
+ type: String,
42
+ required: true,
43
+ },
44
+ state: {
45
+ type: String,
46
+ required: true,
47
+ },
48
+ postalCode: {
49
+ type: String,
50
+ required: true,
51
+ },
52
+ country: {
53
+ type: String,
54
+ required: true,
55
+ },
56
+ language: {
57
+ type: String,
58
+ },
59
+ cpf: {
60
+ type: String,
61
+ },
62
+ attributes: [
63
+ {
64
+ type: String,
65
+ },
66
+ ],
67
+ kycStatus: {
68
+ type: String,
69
+ required: true,
70
+ },
71
+ COIFile: {
72
+ type: String,
73
+ },
74
+ KYCReportFile: {
75
+ type: String,
76
+ },
77
+ brokerId: {
78
+ type: String,
79
+ },
80
+ platformFeeRanges: [
81
+ {
82
+ min: {
83
+ type: Number,
84
+ required: true,
85
+ },
86
+ max: {
87
+ type: Number,
88
+ required: true,
89
+ },
90
+ fee: {
91
+ type: Number,
92
+ required: true,
93
+ },
94
+ },
95
+ ],
96
+ }, {
97
+ toJSON: {
98
+ transform(doc, ret) {
99
+ ret.id = ret._id.valueOf();
100
+ delete ret._id;
101
+ delete ret.__v;
102
+ },
103
+ },
104
+ });
105
+ BusinessUserSchema.statics.build = (attrs) => {
106
+ return new BusinessUser(attrs);
107
+ };
108
+ const BusinessUser = mongoose.model("BusinessUser", BusinessUserSchema);
109
+ return BusinessUser;
110
+ };
111
+ exports.buildBusinessUser = buildBusinessUser;
@@ -0,0 +1,16 @@
1
+ import mongoose from "mongoose";
2
+ interface CCXTOrderAttrs {
3
+ orderId: string;
4
+ ccxtId: string;
5
+ status: string;
6
+ }
7
+ interface CCXTOrderDoc extends mongoose.Document {
8
+ orderId: string;
9
+ status: string;
10
+ ccxtId: string;
11
+ }
12
+ interface CCXTOrderModel extends mongoose.Model<CCXTOrderDoc> {
13
+ build(attrs: CCXTOrderAttrs): CCXTOrderDoc;
14
+ }
15
+ declare const buildCCXTOrder: (mongoose: typeof mongoose) => CCXTOrderModel;
16
+ export { buildCCXTOrder, CCXTOrderDoc };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildCCXTOrder = void 0;
4
+ const buildCCXTOrder = (mongoose) => {
5
+ // if model is already defined, return it
6
+ if (mongoose.models.CCXTOrder) {
7
+ return mongoose.model("CCXTOrder");
8
+ }
9
+ const CCXTOrderSchema = new mongoose.Schema({
10
+ orderId: {
11
+ type: String,
12
+ required: true,
13
+ },
14
+ ccxtId: {
15
+ type: String,
16
+ required: true,
17
+ },
18
+ status: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ }, {
23
+ toJSON: {
24
+ transform(doc, ret) {
25
+ ret.id = ret._id;
26
+ delete ret._id;
27
+ delete ret.__v;
28
+ },
29
+ },
30
+ });
31
+ CCXTOrderSchema.statics.build = (attrs) => {
32
+ return new CCXTOrder(attrs);
33
+ };
34
+ const CCXTOrder = mongoose.model("CCXTOrder", CCXTOrderSchema);
35
+ return CCXTOrder;
36
+ };
37
+ exports.buildCCXTOrder = buildCCXTOrder;
@@ -0,0 +1,17 @@
1
+ import mongoose from "mongoose";
2
+ import { AddressCheckResult } from "../types/address-check-result";
3
+ interface CheckedAddressAttrs {
4
+ address: string;
5
+ result: AddressCheckResult;
6
+ lastChecked: Date;
7
+ }
8
+ interface CheckedAddressDoc extends mongoose.Document {
9
+ address: string;
10
+ result: AddressCheckResult;
11
+ lastChecked: Date;
12
+ }
13
+ interface CheckedAddressModel extends mongoose.Model<CheckedAddressDoc> {
14
+ build(attrs: CheckedAddressAttrs): CheckedAddressDoc;
15
+ }
16
+ declare const buildCheckedAddress: (mongoose: typeof mongoose) => CheckedAddressModel;
17
+ export { buildCheckedAddress, CheckedAddressDoc };