@digitaldefiance/node-express-suite 3.7.4 → 3.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (878) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +4 -5
  3. package/src/__tests__/fixtures/{index.d.ts → index.ts} +0 -1
  4. package/src/__tests__/fixtures/model-mocks.mock.ts +164 -0
  5. package/src/__tests__/helpers/application.mock.ts +89 -0
  6. package/src/__tests__/helpers/{index.d.ts → index.ts} +0 -1
  7. package/src/__tests__/helpers/setup-test-env.ts +202 -0
  8. package/src/__tests__/{index.d.ts → index.ts} +0 -1
  9. package/src/application-base.ts +548 -0
  10. package/src/application-concrete.ts +62 -0
  11. package/src/application.ts +330 -0
  12. package/src/backup-code.ts +348 -0
  13. package/src/builders/application-builder.ts +147 -0
  14. package/src/builders/{index.d.ts → index.ts} +0 -1
  15. package/src/constants.ts +89 -0
  16. package/src/container/{index.d.ts → index.ts} +0 -1
  17. package/src/container/service-container.ts +85 -0
  18. package/src/container/service-definitions.ts +23 -0
  19. package/src/controllers/base.ts +512 -0
  20. package/src/controllers/{index.d.ts → index.ts} +0 -1
  21. package/src/controllers/user.ts +1734 -0
  22. package/src/database/database-initializer.ts +13 -0
  23. package/src/database/{index.d.ts → index.ts} +0 -1
  24. package/src/decorators/base-controller.ts +91 -0
  25. package/src/decorators/controller.ts +152 -0
  26. package/src/decorators/{index.d.ts → index.ts} +0 -1
  27. package/src/decorators/zod-validation.ts +64 -0
  28. package/src/defaults.ts +259 -0
  29. package/src/documents/base.ts +17 -0
  30. package/src/documents/email-token.ts +20 -0
  31. package/src/documents/{index.d.ts → index.ts} +0 -1
  32. package/src/documents/mnemonic.ts +20 -0
  33. package/src/documents/role.ts +19 -0
  34. package/src/documents/used-direct-login-token.ts +18 -0
  35. package/src/documents/user-role.ts +20 -0
  36. package/src/documents/user.ts +20 -0
  37. package/src/enumerations/base-model-name.ts +47 -0
  38. package/src/enumerations/{index.d.ts → index.ts} +0 -1
  39. package/src/enumerations/length-encoding-type.ts +16 -0
  40. package/src/enumerations/schema-collection.ts +39 -0
  41. package/src/enumerations/symmetric-error-type.ts +13 -0
  42. package/src/environment.ts +859 -0
  43. package/src/errors/express-validation.ts +38 -0
  44. package/src/errors/{index.d.ts → index.ts} +0 -1
  45. package/src/errors/invalid-backup-code-version.ts +30 -0
  46. package/src/errors/invalid-jwt-token.ts +24 -0
  47. package/src/errors/invalid-model.ts +24 -0
  48. package/src/errors/invalid-new-password.ts +33 -0
  49. package/src/errors/invalid-password.ts +28 -0
  50. package/src/errors/missing-validated-data.ts +55 -0
  51. package/src/errors/mnemonic-or-password-required.ts +26 -0
  52. package/src/errors/model-not-registered.ts +24 -0
  53. package/src/errors/mongoose-validation.ts +56 -0
  54. package/src/errors/symmetric.ts +53 -0
  55. package/src/errors/token-expired.ts +24 -0
  56. package/src/get-language.ts +64 -0
  57. package/src/get-timezone.ts +76 -0
  58. package/src/{index.d.ts → index.ts} +44 -2
  59. package/src/interfaces/api-error-response.ts +15 -0
  60. package/src/interfaces/api-express-validation-error-response.ts +17 -0
  61. package/src/interfaces/api-message-response.ts +12 -0
  62. package/src/interfaces/api-mongo-validation-error-response.ts +17 -0
  63. package/src/interfaces/api-responses/backup-codes-response.ts +15 -0
  64. package/src/interfaces/api-responses/challenge-response.ts +17 -0
  65. package/src/interfaces/api-responses/code-count-response.ts +12 -0
  66. package/src/interfaces/api-responses/{index.d.ts → index.ts} +0 -1
  67. package/src/interfaces/api-responses/login-response.ts +18 -0
  68. package/src/interfaces/api-responses/mnemonic-response.ts +15 -0
  69. package/src/interfaces/api-responses/registration-response.ts +17 -0
  70. package/src/interfaces/api-responses/request-user-response.ts +16 -0
  71. package/src/interfaces/api-responses/user-settings-response.ts +19 -0
  72. package/src/interfaces/application.ts +40 -0
  73. package/src/interfaces/backend-objects/email-token.ts +18 -0
  74. package/src/interfaces/backend-objects/{index.d.ts → index.ts} +0 -1
  75. package/src/interfaces/backend-objects/request-user.ts +19 -0
  76. package/src/interfaces/backend-objects/role.ts +18 -0
  77. package/src/interfaces/backend-objects/user.ts +18 -0
  78. package/src/interfaces/checksum-config.ts +15 -0
  79. package/src/interfaces/checksum-consts.ts +23 -0
  80. package/src/interfaces/constants.ts +114 -0
  81. package/src/interfaces/controller-config.ts +54 -0
  82. package/src/interfaces/create-user-basics.ts +24 -0
  83. package/src/interfaces/csp-config.ts +32 -0
  84. package/src/interfaces/csp-definition.ts +71 -0
  85. package/src/interfaces/db-init-result.ts +17 -0
  86. package/src/interfaces/deep-partial.ts +14 -0
  87. package/src/interfaces/discriminator-collections.ts +21 -0
  88. package/src/interfaces/email-service.ts +26 -0
  89. package/src/interfaces/environment-mongo.ts +86 -0
  90. package/src/interfaces/environment.ts +191 -0
  91. package/src/interfaces/failable-result.ts +20 -0
  92. package/src/interfaces/fec-consts.ts +14 -0
  93. package/src/interfaces/flexible-csp.ts +35 -0
  94. package/src/interfaces/handleable-error-options.ts +19 -0
  95. package/src/interfaces/{index.d.ts → index.ts} +0 -1
  96. package/src/interfaces/jwt-consts.ts +33 -0
  97. package/src/interfaces/jwt-sign-response.ts +31 -0
  98. package/src/interfaces/models/email-token.ts +13 -0
  99. package/src/interfaces/models/{index.d.ts → index.ts} +0 -1
  100. package/src/interfaces/models/mnemonic.ts +14 -0
  101. package/src/interfaces/models/role.ts +13 -0
  102. package/src/interfaces/models/token-role.ts +23 -0
  103. package/src/interfaces/models/used-direct-login-token.ts +21 -0
  104. package/src/interfaces/models/user-role.ts +23 -0
  105. package/src/interfaces/models/user.ts +30 -0
  106. package/src/interfaces/mongo-errors.ts +14 -0
  107. package/src/interfaces/request-user.ts +80 -0
  108. package/src/interfaces/required-string-keys.ts +33 -0
  109. package/src/interfaces/schema.ts +43 -0
  110. package/src/interfaces/server-init-result.ts +48 -0
  111. package/src/interfaces/status-code-response.ts +20 -0
  112. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  113. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  114. package/src/interfaces/symmetric-encryption-results.ts +15 -0
  115. package/src/interfaces/test-environment.ts +23 -0
  116. package/src/interfaces/token-response.ts +16 -0
  117. package/src/middleware-utils.ts +138 -0
  118. package/src/middlewares/authenticate-crypto.ts +237 -0
  119. package/src/middlewares/authenticate-token.ts +165 -0
  120. package/src/middlewares/cleanup-crypto.ts +47 -0
  121. package/src/middlewares/{index.d.ts → index.ts} +0 -1
  122. package/src/middlewares/set-global-context-language.ts +38 -0
  123. package/src/model-registry.ts +142 -0
  124. package/src/models/email-token.ts +49 -0
  125. package/src/models/{index.d.ts → index.ts} +0 -1
  126. package/src/models/mnemonic.ts +42 -0
  127. package/src/models/role.ts +38 -0
  128. package/src/models/used-direct-login-token.ts +49 -0
  129. package/src/models/user-role.ts +40 -0
  130. package/src/models/user.ts +42 -0
  131. package/src/pipeline/{index.d.ts → index.ts} +0 -1
  132. package/src/pipeline/pipeline-builder.ts +27 -0
  133. package/src/plugins/{index.d.ts → index.ts} +0 -1
  134. package/src/plugins/plugin-interface.ts +19 -0
  135. package/src/plugins/plugin-manager.ts +53 -0
  136. package/src/registry/email-service-registry.ts +76 -0
  137. package/src/registry/{index.d.ts → index.ts} +0 -1
  138. package/src/responses/{index.d.ts → index.ts} +0 -1
  139. package/src/responses/response-builder.ts +166 -0
  140. package/src/routers/api.ts +233 -0
  141. package/src/routers/app.ts +395 -0
  142. package/src/routers/base.ts +34 -0
  143. package/src/routers/{index.d.ts → index.ts} +0 -1
  144. package/src/routers/router-config.ts +34 -0
  145. package/src/routing/index.ts +1 -0
  146. package/src/routing/route-builder.ts +214 -0
  147. package/src/schemas/email-token.ts +112 -0
  148. package/src/schemas/{index.d.ts → index.ts} +0 -1
  149. package/src/schemas/mnemonic.ts +48 -0
  150. package/src/schemas/role.ts +153 -0
  151. package/src/schemas/schema.ts +185 -0
  152. package/src/schemas/used-direct-login-token.ts +58 -0
  153. package/src/schemas/user-role.ts +93 -0
  154. package/src/schemas/user.ts +244 -0
  155. package/src/services/backup-code.ts +327 -0
  156. package/src/services/base.ts +46 -0
  157. package/src/services/checksum.ts +189 -0
  158. package/src/services/database-initialization.ts +1653 -0
  159. package/src/services/db-init-cache.ts +28 -0
  160. package/src/services/direct-login-token.ts +83 -0
  161. package/src/services/dummy-email-service.ts +43 -0
  162. package/src/services/fec-usage-example.ts +123 -0
  163. package/src/services/fec.ts +399 -0
  164. package/src/services/{index.d.ts → index.ts} +0 -1
  165. package/src/services/jwt.ts +146 -0
  166. package/src/services/key-wrapping.ts +528 -0
  167. package/src/services/mnemonic.ts +174 -0
  168. package/src/services/request-user.ts +127 -0
  169. package/src/services/role.ts +417 -0
  170. package/src/services/symmetric.ts +164 -0
  171. package/src/services/system-user.ts +87 -0
  172. package/src/services/user.ts +2324 -0
  173. package/src/services/xor.ts +39 -0
  174. package/src/testing.ts +9 -0
  175. package/src/transactions/{index.d.ts → index.ts} +0 -1
  176. package/src/transactions/transaction-manager.ts +63 -0
  177. package/src/types/app-config.ts +36 -0
  178. package/src/types/controller-config.ts +28 -0
  179. package/src/types/{environment-variables.d.ts → environment-variables.ts} +32 -5
  180. package/src/types/{index.d.ts → index.ts} +0 -1
  181. package/src/types/{mongoose-helpers.d.ts → mongoose-helpers.ts} +8 -2
  182. package/src/types/mongoose-override.d.ts +1 -0
  183. package/src/types/mongoose.d.ts +1 -0
  184. package/src/types.ts +189 -0
  185. package/src/utils.ts +1116 -0
  186. package/src/validation/{index.d.ts → index.ts} +0 -1
  187. package/src/validation/validation-builder.ts +155 -0
  188. package/src/__tests__/fixtures/index.d.ts.map +0 -1
  189. package/src/__tests__/fixtures/index.js +0 -5
  190. package/src/__tests__/fixtures/index.js.map +0 -1
  191. package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -12
  192. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
  193. package/src/__tests__/fixtures/model-mocks.mock.js +0 -102
  194. package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
  195. package/src/__tests__/helpers/application.mock.d.ts +0 -8
  196. package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
  197. package/src/__tests__/helpers/application.mock.js +0 -77
  198. package/src/__tests__/helpers/application.mock.js.map +0 -1
  199. package/src/__tests__/helpers/index.d.ts.map +0 -1
  200. package/src/__tests__/helpers/index.js +0 -7
  201. package/src/__tests__/helpers/index.js.map +0 -1
  202. package/src/__tests__/helpers/setup-test-env.d.ts +0 -12
  203. package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
  204. package/src/__tests__/helpers/setup-test-env.js +0 -121
  205. package/src/__tests__/helpers/setup-test-env.js.map +0 -1
  206. package/src/__tests__/index.d.ts.map +0 -1
  207. package/src/__tests__/index.js +0 -6
  208. package/src/__tests__/index.js.map +0 -1
  209. package/src/application-base.d.ts +0 -123
  210. package/src/application-base.d.ts.map +0 -1
  211. package/src/application-base.js +0 -359
  212. package/src/application-base.js.map +0 -1
  213. package/src/application-concrete.d.ts +0 -13
  214. package/src/application-concrete.d.ts.map +0 -1
  215. package/src/application-concrete.js +0 -21
  216. package/src/application-concrete.js.map +0 -1
  217. package/src/application.d.ts +0 -29
  218. package/src/application.d.ts.map +0 -1
  219. package/src/application.js +0 -167
  220. package/src/application.js.map +0 -1
  221. package/src/backup-code.d.ts +0 -67
  222. package/src/backup-code.d.ts.map +0 -1
  223. package/src/backup-code.js +0 -238
  224. package/src/backup-code.js.map +0 -1
  225. package/src/builders/application-builder.d.ts +0 -35
  226. package/src/builders/application-builder.d.ts.map +0 -1
  227. package/src/builders/application-builder.js +0 -64
  228. package/src/builders/application-builder.js.map +0 -1
  229. package/src/builders/index.d.ts.map +0 -1
  230. package/src/builders/index.js +0 -5
  231. package/src/builders/index.js.map +0 -1
  232. package/src/constants.d.ts +0 -16
  233. package/src/constants.d.ts.map +0 -1
  234. package/src/constants.js +0 -58
  235. package/src/constants.js.map +0 -1
  236. package/src/container/index.d.ts.map +0 -1
  237. package/src/container/index.js +0 -6
  238. package/src/container/index.js.map +0 -1
  239. package/src/container/service-container.d.ts +0 -11
  240. package/src/container/service-container.d.ts.map +0 -1
  241. package/src/container/service-container.js +0 -38
  242. package/src/container/service-container.js.map +0 -1
  243. package/src/container/service-definitions.d.ts +0 -11
  244. package/src/container/service-definitions.d.ts.map +0 -1
  245. package/src/container/service-definitions.js +0 -13
  246. package/src/container/service-definitions.js.map +0 -1
  247. package/src/controllers/base.d.ts +0 -67
  248. package/src/controllers/base.d.ts.map +0 -1
  249. package/src/controllers/base.js +0 -305
  250. package/src/controllers/base.js.map +0 -1
  251. package/src/controllers/index.d.ts.map +0 -1
  252. package/src/controllers/index.js +0 -6
  253. package/src/controllers/index.js.map +0 -1
  254. package/src/controllers/user.d.ts +0 -49
  255. package/src/controllers/user.d.ts.map +0 -1
  256. package/src/controllers/user.js +0 -919
  257. package/src/controllers/user.js.map +0 -1
  258. package/src/database/database-initializer.d.ts +0 -7
  259. package/src/database/database-initializer.d.ts.map +0 -1
  260. package/src/database/database-initializer.js +0 -3
  261. package/src/database/database-initializer.js.map +0 -1
  262. package/src/database/index.d.ts.map +0 -1
  263. package/src/database/index.js +0 -5
  264. package/src/database/index.js.map +0 -1
  265. package/src/decorators/base-controller.d.ts +0 -11
  266. package/src/decorators/base-controller.d.ts.map +0 -1
  267. package/src/decorators/base-controller.js +0 -60
  268. package/src/decorators/base-controller.js.map +0 -1
  269. package/src/decorators/controller.d.ts +0 -38
  270. package/src/decorators/controller.d.ts.map +0 -1
  271. package/src/decorators/controller.js +0 -68
  272. package/src/decorators/controller.js.map +0 -1
  273. package/src/decorators/index.d.ts.map +0 -1
  274. package/src/decorators/index.js +0 -7
  275. package/src/decorators/index.js.map +0 -1
  276. package/src/decorators/zod-validation.d.ts +0 -5
  277. package/src/decorators/zod-validation.d.ts.map +0 -1
  278. package/src/decorators/zod-validation.js +0 -48
  279. package/src/decorators/zod-validation.js.map +0 -1
  280. package/src/defaults.d.ts +0 -7
  281. package/src/defaults.d.ts.map +0 -1
  282. package/src/defaults.js +0 -205
  283. package/src/defaults.js.map +0 -1
  284. package/src/documents/base.d.ts +0 -4
  285. package/src/documents/base.d.ts.map +0 -1
  286. package/src/documents/base.js +0 -3
  287. package/src/documents/base.js.map +0 -1
  288. package/src/documents/email-token.d.ts +0 -8
  289. package/src/documents/email-token.d.ts.map +0 -1
  290. package/src/documents/email-token.js +0 -3
  291. package/src/documents/email-token.js.map +0 -1
  292. package/src/documents/index.d.ts.map +0 -1
  293. package/src/documents/index.js +0 -3
  294. package/src/documents/index.js.map +0 -1
  295. package/src/documents/mnemonic.d.ts +0 -8
  296. package/src/documents/mnemonic.d.ts.map +0 -1
  297. package/src/documents/mnemonic.js +0 -3
  298. package/src/documents/mnemonic.js.map +0 -1
  299. package/src/documents/role.d.ts +0 -8
  300. package/src/documents/role.d.ts.map +0 -1
  301. package/src/documents/role.js +0 -3
  302. package/src/documents/role.js.map +0 -1
  303. package/src/documents/used-direct-login-token.d.ts +0 -5
  304. package/src/documents/used-direct-login-token.d.ts.map +0 -1
  305. package/src/documents/used-direct-login-token.js +0 -3
  306. package/src/documents/used-direct-login-token.js.map +0 -1
  307. package/src/documents/user-role.d.ts +0 -8
  308. package/src/documents/user-role.d.ts.map +0 -1
  309. package/src/documents/user-role.js +0 -3
  310. package/src/documents/user-role.js.map +0 -1
  311. package/src/documents/user.d.ts +0 -8
  312. package/src/documents/user.d.ts.map +0 -1
  313. package/src/documents/user.js +0 -3
  314. package/src/documents/user.js.map +0 -1
  315. package/src/enumerations/base-model-name.d.ts +0 -38
  316. package/src/enumerations/base-model-name.d.ts.map +0 -1
  317. package/src/enumerations/base-model-name.js +0 -34
  318. package/src/enumerations/base-model-name.js.map +0 -1
  319. package/src/enumerations/index.d.ts.map +0 -1
  320. package/src/enumerations/index.js +0 -8
  321. package/src/enumerations/index.js.map +0 -1
  322. package/src/enumerations/length-encoding-type.d.ts +0 -7
  323. package/src/enumerations/length-encoding-type.d.ts.map +0 -1
  324. package/src/enumerations/length-encoding-type.js +0 -11
  325. package/src/enumerations/length-encoding-type.js.map +0 -1
  326. package/src/enumerations/schema-collection.d.ts +0 -34
  327. package/src/enumerations/schema-collection.d.ts.map +0 -1
  328. package/src/enumerations/schema-collection.js +0 -38
  329. package/src/enumerations/schema-collection.js.map +0 -1
  330. package/src/enumerations/symmetric-error-type.d.ts +0 -5
  331. package/src/enumerations/symmetric-error-type.d.ts.map +0 -1
  332. package/src/enumerations/symmetric-error-type.js +0 -9
  333. package/src/enumerations/symmetric-error-type.js.map +0 -1
  334. package/src/environment.d.ts +0 -189
  335. package/src/environment.d.ts.map +0 -1
  336. package/src/environment.js +0 -641
  337. package/src/environment.js.map +0 -1
  338. package/src/errors/express-validation.d.ts +0 -9
  339. package/src/errors/express-validation.d.ts.map +0 -1
  340. package/src/errors/express-validation.js +0 -18
  341. package/src/errors/express-validation.js.map +0 -1
  342. package/src/errors/index.d.ts.map +0 -1
  343. package/src/errors/index.js +0 -16
  344. package/src/errors/index.js.map +0 -1
  345. package/src/errors/invalid-backup-code-version.d.ts +0 -6
  346. package/src/errors/invalid-backup-code-version.d.ts.map +0 -1
  347. package/src/errors/invalid-backup-code-version.js +0 -16
  348. package/src/errors/invalid-backup-code-version.js.map +0 -1
  349. package/src/errors/invalid-jwt-token.d.ts +0 -5
  350. package/src/errors/invalid-jwt-token.d.ts.map +0 -1
  351. package/src/errors/invalid-jwt-token.js +0 -12
  352. package/src/errors/invalid-jwt-token.js.map +0 -1
  353. package/src/errors/invalid-model.d.ts +0 -6
  354. package/src/errors/invalid-model.d.ts.map +0 -1
  355. package/src/errors/invalid-model.js +0 -14
  356. package/src/errors/invalid-model.js.map +0 -1
  357. package/src/errors/invalid-new-password.d.ts +0 -5
  358. package/src/errors/invalid-new-password.d.ts.map +0 -1
  359. package/src/errors/invalid-new-password.js +0 -14
  360. package/src/errors/invalid-new-password.js.map +0 -1
  361. package/src/errors/invalid-password.d.ts +0 -5
  362. package/src/errors/invalid-password.d.ts.map +0 -1
  363. package/src/errors/invalid-password.js +0 -14
  364. package/src/errors/invalid-password.js.map +0 -1
  365. package/src/errors/missing-validated-data.d.ts +0 -7
  366. package/src/errors/missing-validated-data.d.ts.map +0 -1
  367. package/src/errors/missing-validated-data.js +0 -36
  368. package/src/errors/missing-validated-data.js.map +0 -1
  369. package/src/errors/mnemonic-or-password-required.d.ts +0 -5
  370. package/src/errors/mnemonic-or-password-required.d.ts.map +0 -1
  371. package/src/errors/mnemonic-or-password-required.js +0 -14
  372. package/src/errors/mnemonic-or-password-required.js.map +0 -1
  373. package/src/errors/model-not-registered.d.ts +0 -6
  374. package/src/errors/model-not-registered.d.ts.map +0 -1
  375. package/src/errors/model-not-registered.js +0 -14
  376. package/src/errors/model-not-registered.js.map +0 -1
  377. package/src/errors/mongoose-validation.d.ts +0 -12
  378. package/src/errors/mongoose-validation.d.ts.map +0 -1
  379. package/src/errors/mongoose-validation.js +0 -17
  380. package/src/errors/mongoose-validation.js.map +0 -1
  381. package/src/errors/symmetric.d.ts +0 -8
  382. package/src/errors/symmetric.d.ts.map +0 -1
  383. package/src/errors/symmetric.js +0 -22
  384. package/src/errors/symmetric.js.map +0 -1
  385. package/src/errors/token-expired.d.ts +0 -5
  386. package/src/errors/token-expired.d.ts.map +0 -1
  387. package/src/errors/token-expired.js +0 -12
  388. package/src/errors/token-expired.js.map +0 -1
  389. package/src/get-language.d.ts +0 -2
  390. package/src/get-language.d.ts.map +0 -1
  391. package/src/get-language.js +0 -30
  392. package/src/get-language.js.map +0 -1
  393. package/src/get-timezone.d.ts +0 -2
  394. package/src/get-timezone.d.ts.map +0 -1
  395. package/src/get-timezone.js +0 -39
  396. package/src/get-timezone.js.map +0 -1
  397. package/src/index.d.ts.map +0 -1
  398. package/src/index.js +0 -80
  399. package/src/index.js.map +0 -1
  400. package/src/interfaces/api-error-response.d.ts +0 -5
  401. package/src/interfaces/api-error-response.d.ts.map +0 -1
  402. package/src/interfaces/api-error-response.js +0 -3
  403. package/src/interfaces/api-error-response.js.map +0 -1
  404. package/src/interfaces/api-express-validation-error-response.d.ts +0 -7
  405. package/src/interfaces/api-express-validation-error-response.d.ts.map +0 -1
  406. package/src/interfaces/api-express-validation-error-response.js +0 -3
  407. package/src/interfaces/api-express-validation-error-response.js.map +0 -1
  408. package/src/interfaces/api-message-response.d.ts +0 -4
  409. package/src/interfaces/api-message-response.d.ts.map +0 -1
  410. package/src/interfaces/api-message-response.js +0 -3
  411. package/src/interfaces/api-message-response.js.map +0 -1
  412. package/src/interfaces/api-mongo-validation-error-response.d.ts +0 -6
  413. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
  414. package/src/interfaces/api-mongo-validation-error-response.js +0 -3
  415. package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
  416. package/src/interfaces/api-responses/backup-codes-response.d.ts +0 -5
  417. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +0 -1
  418. package/src/interfaces/api-responses/backup-codes-response.js +0 -3
  419. package/src/interfaces/api-responses/backup-codes-response.js.map +0 -1
  420. package/src/interfaces/api-responses/challenge-response.d.ts +0 -6
  421. package/src/interfaces/api-responses/challenge-response.d.ts.map +0 -1
  422. package/src/interfaces/api-responses/challenge-response.js +0 -3
  423. package/src/interfaces/api-responses/challenge-response.js.map +0 -1
  424. package/src/interfaces/api-responses/code-count-response.d.ts +0 -5
  425. package/src/interfaces/api-responses/code-count-response.d.ts.map +0 -1
  426. package/src/interfaces/api-responses/code-count-response.js +0 -3
  427. package/src/interfaces/api-responses/code-count-response.js.map +0 -1
  428. package/src/interfaces/api-responses/index.d.ts.map +0 -1
  429. package/src/interfaces/api-responses/index.js +0 -12
  430. package/src/interfaces/api-responses/index.js.map +0 -1
  431. package/src/interfaces/api-responses/login-response.d.ts +0 -8
  432. package/src/interfaces/api-responses/login-response.d.ts.map +0 -1
  433. package/src/interfaces/api-responses/login-response.js +0 -3
  434. package/src/interfaces/api-responses/login-response.js.map +0 -1
  435. package/src/interfaces/api-responses/mnemonic-response.d.ts +0 -5
  436. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +0 -1
  437. package/src/interfaces/api-responses/mnemonic-response.js +0 -3
  438. package/src/interfaces/api-responses/mnemonic-response.js.map +0 -1
  439. package/src/interfaces/api-responses/registration-response.d.ts +0 -6
  440. package/src/interfaces/api-responses/registration-response.d.ts.map +0 -1
  441. package/src/interfaces/api-responses/registration-response.js +0 -3
  442. package/src/interfaces/api-responses/registration-response.js.map +0 -1
  443. package/src/interfaces/api-responses/request-user-response.d.ts +0 -6
  444. package/src/interfaces/api-responses/request-user-response.d.ts.map +0 -1
  445. package/src/interfaces/api-responses/request-user-response.js +0 -3
  446. package/src/interfaces/api-responses/request-user-response.js.map +0 -1
  447. package/src/interfaces/api-responses/user-settings-response.d.ts +0 -12
  448. package/src/interfaces/api-responses/user-settings-response.d.ts.map +0 -1
  449. package/src/interfaces/api-responses/user-settings-response.js +0 -3
  450. package/src/interfaces/api-responses/user-settings-response.js.map +0 -1
  451. package/src/interfaces/application.d.ts +0 -17
  452. package/src/interfaces/application.d.ts.map +0 -1
  453. package/src/interfaces/application.js +0 -3
  454. package/src/interfaces/application.js.map +0 -1
  455. package/src/interfaces/backend-objects/email-token.d.ts +0 -4
  456. package/src/interfaces/backend-objects/email-token.d.ts.map +0 -1
  457. package/src/interfaces/backend-objects/email-token.js +0 -3
  458. package/src/interfaces/backend-objects/email-token.js.map +0 -1
  459. package/src/interfaces/backend-objects/index.d.ts.map +0 -1
  460. package/src/interfaces/backend-objects/index.js +0 -8
  461. package/src/interfaces/backend-objects/index.js.map +0 -1
  462. package/src/interfaces/backend-objects/request-user.d.ts +0 -5
  463. package/src/interfaces/backend-objects/request-user.d.ts.map +0 -1
  464. package/src/interfaces/backend-objects/request-user.js +0 -3
  465. package/src/interfaces/backend-objects/request-user.js.map +0 -1
  466. package/src/interfaces/backend-objects/role.d.ts +0 -4
  467. package/src/interfaces/backend-objects/role.d.ts.map +0 -1
  468. package/src/interfaces/backend-objects/role.js +0 -3
  469. package/src/interfaces/backend-objects/role.js.map +0 -1
  470. package/src/interfaces/backend-objects/user.d.ts +0 -4
  471. package/src/interfaces/backend-objects/user.d.ts.map +0 -1
  472. package/src/interfaces/backend-objects/user.js +0 -3
  473. package/src/interfaces/backend-objects/user.js.map +0 -1
  474. package/src/interfaces/checksum-config.d.ts +0 -5
  475. package/src/interfaces/checksum-config.d.ts.map +0 -1
  476. package/src/interfaces/checksum-config.js +0 -3
  477. package/src/interfaces/checksum-config.js.map +0 -1
  478. package/src/interfaces/checksum-consts.d.ts +0 -11
  479. package/src/interfaces/checksum-consts.d.ts.map +0 -1
  480. package/src/interfaces/checksum-consts.js +0 -3
  481. package/src/interfaces/checksum-consts.js.map +0 -1
  482. package/src/interfaces/constants.d.ts +0 -102
  483. package/src/interfaces/constants.d.ts.map +0 -1
  484. package/src/interfaces/constants.js +0 -3
  485. package/src/interfaces/constants.js.map +0 -1
  486. package/src/interfaces/controller-config.d.ts +0 -21
  487. package/src/interfaces/controller-config.d.ts.map +0 -1
  488. package/src/interfaces/controller-config.js +0 -3
  489. package/src/interfaces/controller-config.js.map +0 -1
  490. package/src/interfaces/create-user-basics.d.ts +0 -18
  491. package/src/interfaces/create-user-basics.d.ts.map +0 -1
  492. package/src/interfaces/create-user-basics.js +0 -3
  493. package/src/interfaces/create-user-basics.js.map +0 -1
  494. package/src/interfaces/csp-config.d.ts +0 -7
  495. package/src/interfaces/csp-config.d.ts.map +0 -1
  496. package/src/interfaces/csp-config.js +0 -13
  497. package/src/interfaces/csp-config.js.map +0 -1
  498. package/src/interfaces/csp-definition.d.ts +0 -13
  499. package/src/interfaces/csp-definition.d.ts.map +0 -1
  500. package/src/interfaces/csp-definition.js +0 -22
  501. package/src/interfaces/csp-definition.js.map +0 -1
  502. package/src/interfaces/db-init-result.d.ts +0 -5
  503. package/src/interfaces/db-init-result.d.ts.map +0 -1
  504. package/src/interfaces/db-init-result.js +0 -3
  505. package/src/interfaces/db-init-result.js.map +0 -1
  506. package/src/interfaces/deep-partial.d.ts +0 -4
  507. package/src/interfaces/deep-partial.d.ts.map +0 -1
  508. package/src/interfaces/deep-partial.js +0 -3
  509. package/src/interfaces/deep-partial.js.map +0 -1
  510. package/src/interfaces/discriminator-collections.d.ts +0 -7
  511. package/src/interfaces/discriminator-collections.d.ts.map +0 -1
  512. package/src/interfaces/discriminator-collections.js +0 -3
  513. package/src/interfaces/discriminator-collections.js.map +0 -1
  514. package/src/interfaces/email-service.d.ts +0 -4
  515. package/src/interfaces/email-service.d.ts.map +0 -1
  516. package/src/interfaces/email-service.js +0 -3
  517. package/src/interfaces/email-service.js.map +0 -1
  518. package/src/interfaces/environment-mongo.d.ts +0 -76
  519. package/src/interfaces/environment-mongo.d.ts.map +0 -1
  520. package/src/interfaces/environment-mongo.js +0 -3
  521. package/src/interfaces/environment-mongo.js.map +0 -1
  522. package/src/interfaces/environment.d.ts +0 -180
  523. package/src/interfaces/environment.d.ts.map +0 -1
  524. package/src/interfaces/environment.js +0 -3
  525. package/src/interfaces/environment.js.map +0 -1
  526. package/src/interfaces/failable-result.d.ts +0 -7
  527. package/src/interfaces/failable-result.d.ts.map +0 -1
  528. package/src/interfaces/failable-result.js +0 -3
  529. package/src/interfaces/failable-result.js.map +0 -1
  530. package/src/interfaces/fec-consts.d.ts +0 -5
  531. package/src/interfaces/fec-consts.d.ts.map +0 -1
  532. package/src/interfaces/fec-consts.js +0 -3
  533. package/src/interfaces/fec-consts.js.map +0 -1
  534. package/src/interfaces/flexible-csp.d.ts +0 -8
  535. package/src/interfaces/flexible-csp.d.ts.map +0 -1
  536. package/src/interfaces/flexible-csp.js +0 -14
  537. package/src/interfaces/flexible-csp.js.map +0 -1
  538. package/src/interfaces/handleable-error-options.d.ts +0 -7
  539. package/src/interfaces/handleable-error-options.d.ts.map +0 -1
  540. package/src/interfaces/handleable-error-options.js +0 -3
  541. package/src/interfaces/handleable-error-options.js.map +0 -1
  542. package/src/interfaces/index.d.ts.map +0 -1
  543. package/src/interfaces/index.js +0 -38
  544. package/src/interfaces/index.js.map +0 -1
  545. package/src/interfaces/jwt-consts.d.ts +0 -11
  546. package/src/interfaces/jwt-consts.d.ts.map +0 -1
  547. package/src/interfaces/jwt-consts.js +0 -3
  548. package/src/interfaces/jwt-consts.js.map +0 -1
  549. package/src/interfaces/jwt-sign-response.d.ts +0 -11
  550. package/src/interfaces/jwt-sign-response.d.ts.map +0 -1
  551. package/src/interfaces/jwt-sign-response.js +0 -3
  552. package/src/interfaces/jwt-sign-response.js.map +0 -1
  553. package/src/interfaces/models/email-token.d.ts +0 -6
  554. package/src/interfaces/models/email-token.d.ts.map +0 -1
  555. package/src/interfaces/models/email-token.js +0 -3
  556. package/src/interfaces/models/email-token.js.map +0 -1
  557. package/src/interfaces/models/index.d.ts.map +0 -1
  558. package/src/interfaces/models/index.js +0 -11
  559. package/src/interfaces/models/index.js.map +0 -1
  560. package/src/interfaces/models/mnemonic.d.ts +0 -6
  561. package/src/interfaces/models/mnemonic.d.ts.map +0 -1
  562. package/src/interfaces/models/mnemonic.js +0 -3
  563. package/src/interfaces/models/mnemonic.js.map +0 -1
  564. package/src/interfaces/models/role.d.ts +0 -6
  565. package/src/interfaces/models/role.d.ts.map +0 -1
  566. package/src/interfaces/models/role.js +0 -3
  567. package/src/interfaces/models/role.js.map +0 -1
  568. package/src/interfaces/models/token-role.d.ts +0 -11
  569. package/src/interfaces/models/token-role.d.ts.map +0 -1
  570. package/src/interfaces/models/token-role.js +0 -3
  571. package/src/interfaces/models/token-role.js.map +0 -1
  572. package/src/interfaces/models/used-direct-login-token.d.ts +0 -11
  573. package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
  574. package/src/interfaces/models/used-direct-login-token.js +0 -3
  575. package/src/interfaces/models/used-direct-login-token.js.map +0 -1
  576. package/src/interfaces/models/user-role.d.ts +0 -11
  577. package/src/interfaces/models/user-role.d.ts.map +0 -1
  578. package/src/interfaces/models/user-role.js +0 -3
  579. package/src/interfaces/models/user-role.js.map +0 -1
  580. package/src/interfaces/models/user.d.ts +0 -11
  581. package/src/interfaces/models/user.d.ts.map +0 -1
  582. package/src/interfaces/models/user.js +0 -3
  583. package/src/interfaces/models/user.js.map +0 -1
  584. package/src/interfaces/mongo-errors.d.ts +0 -5
  585. package/src/interfaces/mongo-errors.d.ts.map +0 -1
  586. package/src/interfaces/mongo-errors.js +0 -3
  587. package/src/interfaces/mongo-errors.js.map +0 -1
  588. package/src/interfaces/request-user.d.ts +0 -58
  589. package/src/interfaces/request-user.d.ts.map +0 -1
  590. package/src/interfaces/request-user.js +0 -3
  591. package/src/interfaces/request-user.js.map +0 -1
  592. package/src/interfaces/required-string-keys.d.ts +0 -22
  593. package/src/interfaces/required-string-keys.d.ts.map +0 -1
  594. package/src/interfaces/required-string-keys.js +0 -3
  595. package/src/interfaces/required-string-keys.js.map +0 -1
  596. package/src/interfaces/schema.d.ts +0 -29
  597. package/src/interfaces/schema.d.ts.map +0 -1
  598. package/src/interfaces/schema.js +0 -3
  599. package/src/interfaces/schema.js.map +0 -1
  600. package/src/interfaces/server-init-result.d.ts +0 -35
  601. package/src/interfaces/server-init-result.d.ts.map +0 -1
  602. package/src/interfaces/server-init-result.js +0 -3
  603. package/src/interfaces/server-init-result.js.map +0 -1
  604. package/src/interfaces/status-code-response.d.ts +0 -7
  605. package/src/interfaces/status-code-response.d.ts.map +0 -1
  606. package/src/interfaces/status-code-response.js +0 -3
  607. package/src/interfaces/status-code-response.js.map +0 -1
  608. package/src/interfaces/symmetric-encryption-results.d.ts +0 -5
  609. package/src/interfaces/test-environment.d.ts +0 -12
  610. package/src/interfaces/test-environment.d.ts.map +0 -1
  611. package/src/interfaces/test-environment.js +0 -3
  612. package/src/interfaces/test-environment.js.map +0 -1
  613. package/src/interfaces/token-response.d.ts +0 -5
  614. package/src/interfaces/token-response.d.ts.map +0 -1
  615. package/src/interfaces/token-response.js +0 -3
  616. package/src/interfaces/token-response.js.map +0 -1
  617. package/src/middleware-utils.d.ts +0 -8
  618. package/src/middleware-utils.d.ts.map +0 -1
  619. package/src/middleware-utils.js +0 -94
  620. package/src/middleware-utils.js.map +0 -1
  621. package/src/middlewares/authenticate-crypto.d.ts +0 -10
  622. package/src/middlewares/authenticate-crypto.d.ts.map +0 -1
  623. package/src/middlewares/authenticate-crypto.js +0 -126
  624. package/src/middlewares/authenticate-crypto.js.map +0 -1
  625. package/src/middlewares/authenticate-token.d.ts +0 -21
  626. package/src/middlewares/authenticate-token.d.ts.map +0 -1
  627. package/src/middlewares/authenticate-token.js +0 -104
  628. package/src/middlewares/authenticate-token.js.map +0 -1
  629. package/src/middlewares/cleanup-crypto.d.ts +0 -7
  630. package/src/middlewares/cleanup-crypto.d.ts.map +0 -1
  631. package/src/middlewares/cleanup-crypto.js +0 -32
  632. package/src/middlewares/cleanup-crypto.js.map +0 -1
  633. package/src/middlewares/index.d.ts.map +0 -1
  634. package/src/middlewares/index.js +0 -8
  635. package/src/middlewares/index.js.map +0 -1
  636. package/src/middlewares/set-global-context-language.d.ts +0 -3
  637. package/src/middlewares/set-global-context-language.d.ts.map +0 -1
  638. package/src/middlewares/set-global-context-language.js +0 -14
  639. package/src/middlewares/set-global-context-language.js.map +0 -1
  640. package/src/model-registry.d.ts +0 -23
  641. package/src/model-registry.d.ts.map +0 -1
  642. package/src/model-registry.js +0 -47
  643. package/src/model-registry.js.map +0 -1
  644. package/src/models/email-token.d.ts +0 -8
  645. package/src/models/email-token.d.ts.map +0 -1
  646. package/src/models/email-token.js +0 -11
  647. package/src/models/email-token.js.map +0 -1
  648. package/src/models/index.d.ts.map +0 -1
  649. package/src/models/index.js +0 -10
  650. package/src/models/index.js.map +0 -1
  651. package/src/models/mnemonic.d.ts +0 -8
  652. package/src/models/mnemonic.d.ts.map +0 -1
  653. package/src/models/mnemonic.js +0 -11
  654. package/src/models/mnemonic.js.map +0 -1
  655. package/src/models/role.d.ts +0 -8
  656. package/src/models/role.d.ts.map +0 -1
  657. package/src/models/role.js +0 -11
  658. package/src/models/role.js.map +0 -1
  659. package/src/models/used-direct-login-token.d.ts +0 -8
  660. package/src/models/used-direct-login-token.d.ts.map +0 -1
  661. package/src/models/used-direct-login-token.js +0 -11
  662. package/src/models/used-direct-login-token.js.map +0 -1
  663. package/src/models/user-role.d.ts +0 -7
  664. package/src/models/user-role.d.ts.map +0 -1
  665. package/src/models/user-role.js +0 -10
  666. package/src/models/user-role.js.map +0 -1
  667. package/src/models/user.d.ts +0 -8
  668. package/src/models/user.d.ts.map +0 -1
  669. package/src/models/user.js +0 -11
  670. package/src/models/user.js.map +0 -1
  671. package/src/pipeline/index.d.ts.map +0 -1
  672. package/src/pipeline/index.js +0 -5
  673. package/src/pipeline/index.js.map +0 -1
  674. package/src/pipeline/pipeline-builder.d.ts +0 -8
  675. package/src/pipeline/pipeline-builder.d.ts.map +0 -1
  676. package/src/pipeline/pipeline-builder.js +0 -18
  677. package/src/pipeline/pipeline-builder.js.map +0 -1
  678. package/src/plugins/index.d.ts.map +0 -1
  679. package/src/plugins/index.js +0 -6
  680. package/src/plugins/index.js.map +0 -1
  681. package/src/plugins/plugin-interface.d.ts +0 -9
  682. package/src/plugins/plugin-interface.d.ts.map +0 -1
  683. package/src/plugins/plugin-interface.js +0 -3
  684. package/src/plugins/plugin-interface.js.map +0 -1
  685. package/src/plugins/plugin-manager.d.ts +0 -13
  686. package/src/plugins/plugin-manager.d.ts.map +0 -1
  687. package/src/plugins/plugin-manager.js +0 -37
  688. package/src/plugins/plugin-manager.js.map +0 -1
  689. package/src/registry/email-service-registry.d.ts +0 -27
  690. package/src/registry/email-service-registry.d.ts.map +0 -1
  691. package/src/registry/email-service-registry.js +0 -42
  692. package/src/registry/email-service-registry.js.map +0 -1
  693. package/src/registry/index.d.ts.map +0 -1
  694. package/src/registry/index.js +0 -6
  695. package/src/registry/index.js.map +0 -1
  696. package/src/responses/index.d.ts.map +0 -1
  697. package/src/responses/index.js +0 -5
  698. package/src/responses/index.js.map +0 -1
  699. package/src/responses/response-builder.d.ts +0 -24
  700. package/src/responses/response-builder.d.ts.map +0 -1
  701. package/src/responses/response-builder.js +0 -63
  702. package/src/responses/response-builder.js.map +0 -1
  703. package/src/routers/api.d.ts +0 -28
  704. package/src/routers/api.d.ts.map +0 -1
  705. package/src/routers/api.js +0 -80
  706. package/src/routers/api.js.map +0 -1
  707. package/src/routers/app.d.ts +0 -33
  708. package/src/routers/app.d.ts.map +0 -1
  709. package/src/routers/app.js +0 -228
  710. package/src/routers/app.js.map +0 -1
  711. package/src/routers/base.d.ts +0 -9
  712. package/src/routers/base.d.ts.map +0 -1
  713. package/src/routers/base.js +0 -14
  714. package/src/routers/base.js.map +0 -1
  715. package/src/routers/index.d.ts.map +0 -1
  716. package/src/routers/index.js +0 -7
  717. package/src/routers/index.js.map +0 -1
  718. package/src/routers/router-config.d.ts +0 -18
  719. package/src/routers/router-config.d.ts.map +0 -1
  720. package/src/routers/router-config.js +0 -8
  721. package/src/routers/router-config.js.map +0 -1
  722. package/src/routing/index.d.ts +0 -2
  723. package/src/routing/index.d.ts.map +0 -1
  724. package/src/routing/index.js +0 -5
  725. package/src/routing/index.js.map +0 -1
  726. package/src/routing/route-builder.d.ts +0 -36
  727. package/src/routing/route-builder.d.ts.map +0 -1
  728. package/src/routing/route-builder.js +0 -86
  729. package/src/routing/route-builder.js.map +0 -1
  730. package/src/schemas/email-token.d.ts +0 -49
  731. package/src/schemas/email-token.d.ts.map +0 -1
  732. package/src/schemas/email-token.js +0 -55
  733. package/src/schemas/email-token.js.map +0 -1
  734. package/src/schemas/index.d.ts.map +0 -1
  735. package/src/schemas/index.js +0 -11
  736. package/src/schemas/index.js.map +0 -1
  737. package/src/schemas/mnemonic.d.ts +0 -27
  738. package/src/schemas/mnemonic.d.ts.map +0 -1
  739. package/src/schemas/mnemonic.js +0 -31
  740. package/src/schemas/mnemonic.js.map +0 -1
  741. package/src/schemas/role.d.ts +0 -42
  742. package/src/schemas/role.d.ts.map +0 -1
  743. package/src/schemas/role.js +0 -89
  744. package/src/schemas/role.js.map +0 -1
  745. package/src/schemas/schema.d.ts +0 -42
  746. package/src/schemas/schema.d.ts.map +0 -1
  747. package/src/schemas/schema.js +0 -70
  748. package/src/schemas/schema.js.map +0 -1
  749. package/src/schemas/used-direct-login-token.d.ts +0 -37
  750. package/src/schemas/used-direct-login-token.d.ts.map +0 -1
  751. package/src/schemas/used-direct-login-token.js +0 -24
  752. package/src/schemas/used-direct-login-token.js.map +0 -1
  753. package/src/schemas/user-role.d.ts +0 -39
  754. package/src/schemas/user-role.d.ts.map +0 -1
  755. package/src/schemas/user-role.js +0 -55
  756. package/src/schemas/user-role.js.map +0 -1
  757. package/src/schemas/user.d.ts +0 -24
  758. package/src/schemas/user.d.ts.map +0 -1
  759. package/src/schemas/user.js +0 -195
  760. package/src/schemas/user.js.map +0 -1
  761. package/src/services/backup-code.d.ts +0 -76
  762. package/src/services/backup-code.d.ts.map +0 -1
  763. package/src/services/backup-code.js +0 -185
  764. package/src/services/backup-code.js.map +0 -1
  765. package/src/services/base.d.ts +0 -11
  766. package/src/services/base.d.ts.map +0 -1
  767. package/src/services/base.js +0 -15
  768. package/src/services/base.js.map +0 -1
  769. package/src/services/checksum.d.ts +0 -69
  770. package/src/services/checksum.d.ts.map +0 -1
  771. package/src/services/checksum.js +0 -145
  772. package/src/services/checksum.js.map +0 -1
  773. package/src/services/database-initialization.d.ts +0 -111
  774. package/src/services/database-initialization.d.ts.map +0 -1
  775. package/src/services/database-initialization.js +0 -878
  776. package/src/services/database-initialization.js.map +0 -1
  777. package/src/services/db-init-cache.d.ts +0 -10
  778. package/src/services/db-init-cache.d.ts.map +0 -1
  779. package/src/services/db-init-cache.js +0 -3
  780. package/src/services/db-init-cache.js.map +0 -1
  781. package/src/services/direct-login-token.d.ts +0 -7
  782. package/src/services/direct-login-token.d.ts.map +0 -1
  783. package/src/services/direct-login-token.js +0 -41
  784. package/src/services/direct-login-token.js.map +0 -1
  785. package/src/services/dummy-email-service.d.ts +0 -11
  786. package/src/services/dummy-email-service.d.ts.map +0 -1
  787. package/src/services/dummy-email-service.js +0 -16
  788. package/src/services/dummy-email-service.js.map +0 -1
  789. package/src/services/fec-usage-example.d.ts +0 -38
  790. package/src/services/fec-usage-example.d.ts.map +0 -1
  791. package/src/services/fec-usage-example.js +0 -75
  792. package/src/services/fec-usage-example.js.map +0 -1
  793. package/src/services/fec.d.ts +0 -46
  794. package/src/services/fec.d.ts.map +0 -1
  795. package/src/services/fec.js +0 -214
  796. package/src/services/fec.js.map +0 -1
  797. package/src/services/index.d.ts.map +0 -1
  798. package/src/services/index.js +0 -22
  799. package/src/services/index.js.map +0 -1
  800. package/src/services/jwt.d.ts +0 -30
  801. package/src/services/jwt.d.ts.map +0 -1
  802. package/src/services/jwt.js +0 -90
  803. package/src/services/jwt.js.map +0 -1
  804. package/src/services/key-wrapping.d.ts +0 -61
  805. package/src/services/key-wrapping.d.ts.map +0 -1
  806. package/src/services/key-wrapping.js +0 -307
  807. package/src/services/key-wrapping.js.map +0 -1
  808. package/src/services/mnemonic.d.ts +0 -62
  809. package/src/services/mnemonic.d.ts.map +0 -1
  810. package/src/services/mnemonic.js +0 -114
  811. package/src/services/mnemonic.js.map +0 -1
  812. package/src/services/request-user.d.ts +0 -23
  813. package/src/services/request-user.d.ts.map +0 -1
  814. package/src/services/request-user.js +0 -68
  815. package/src/services/request-user.js.map +0 -1
  816. package/src/services/role.d.ts +0 -87
  817. package/src/services/role.d.ts.map +0 -1
  818. package/src/services/role.js +0 -279
  819. package/src/services/role.js.map +0 -1
  820. package/src/services/symmetric.d.ts +0 -42
  821. package/src/services/symmetric.d.ts.map +0 -1
  822. package/src/services/symmetric.js +0 -101
  823. package/src/services/symmetric.js.map +0 -1
  824. package/src/services/system-user.d.ts +0 -16
  825. package/src/services/system-user.d.ts.map +0 -1
  826. package/src/services/system-user.js +0 -46
  827. package/src/services/system-user.js.map +0 -1
  828. package/src/services/user.d.ts +0 -345
  829. package/src/services/user.d.ts.map +0 -1
  830. package/src/services/user.js +0 -1447
  831. package/src/services/user.js.map +0 -1
  832. package/src/services/xor.d.ts +0 -24
  833. package/src/services/xor.d.ts.map +0 -1
  834. package/src/services/xor.js +0 -37
  835. package/src/services/xor.js.map +0 -1
  836. package/src/testing.d.ts +0 -3
  837. package/src/testing.d.ts.map +0 -1
  838. package/src/testing.js +0 -7
  839. package/src/testing.js.map +0 -1
  840. package/src/transactions/index.d.ts.map +0 -1
  841. package/src/transactions/index.js +0 -5
  842. package/src/transactions/index.js.map +0 -1
  843. package/src/transactions/transaction-manager.d.ts +0 -12
  844. package/src/transactions/transaction-manager.d.ts.map +0 -1
  845. package/src/transactions/transaction-manager.js +0 -30
  846. package/src/transactions/transaction-manager.js.map +0 -1
  847. package/src/types/app-config.d.ts +0 -16
  848. package/src/types/app-config.d.ts.map +0 -1
  849. package/src/types/app-config.js +0 -3
  850. package/src/types/app-config.js.map +0 -1
  851. package/src/types/controller-config.d.ts +0 -14
  852. package/src/types/controller-config.d.ts.map +0 -1
  853. package/src/types/controller-config.js +0 -3
  854. package/src/types/controller-config.js.map +0 -1
  855. package/src/types/environment-variables.d.ts.map +0 -1
  856. package/src/types/environment-variables.js +0 -39
  857. package/src/types/environment-variables.js.map +0 -1
  858. package/src/types/index.d.ts.map +0 -1
  859. package/src/types/index.js +0 -6
  860. package/src/types/index.js.map +0 -1
  861. package/src/types/mongoose-helpers.d.ts.map +0 -1
  862. package/src/types/mongoose-helpers.js +0 -6
  863. package/src/types/mongoose-helpers.js.map +0 -1
  864. package/src/types.d.ts +0 -104
  865. package/src/types.d.ts.map +0 -1
  866. package/src/types.js +0 -14
  867. package/src/types.js.map +0 -1
  868. package/src/utils.d.ts +0 -211
  869. package/src/utils.d.ts.map +0 -1
  870. package/src/utils.js +0 -818
  871. package/src/utils.js.map +0 -1
  872. package/src/validation/index.d.ts.map +0 -1
  873. package/src/validation/index.js +0 -5
  874. package/src/validation/index.js.map +0 -1
  875. package/src/validation/validation-builder.d.ts +0 -32
  876. package/src/validation/validation-builder.d.ts.map +0 -1
  877. package/src/validation/validation-builder.js +0 -81
  878. package/src/validation/validation-builder.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"symmetric.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/symmetric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAMzF;;;;;;GAMG;AACH,qBAAa,gBAAgB;WACb,gBAAgB,CAC5B,cAAc,GAAE,eAAuB,GACtC,MAAM;WAIK,iBAAiB,CAC7B,cAAc,GAAE,eAAuB,GACtC,MAAM;IAIT;;;;;OAKG;WACW,aAAa,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,EACtB,cAAc,GAAE,eAAuB,GACtC,2BAA2B;IAmC9B;;;;;OAKG;WACW,aAAa,CACzB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,eAAuB,GACtC,MAAM;IAmBT;;;;;OAKG;WACW,WAAW,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,aAAa,CAAC,EAAE,MAAM,GACrB,2BAA2B;IAc9B;;;;;OAKG;WACW,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;CAKpE"}
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SymmetricService = void 0;
4
- const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
- const crypto_1 = require("crypto");
6
- const symmetric_error_type_1 = require("../enumerations/symmetric-error-type");
7
- const symmetric_1 = require("../errors/symmetric");
8
- function hasToJsonMethod(obj) {
9
- return typeof obj === 'object' && obj !== null && 'toJson' in obj;
10
- }
11
- /**
12
- * Service for handling symmetric encryption operations.
13
- * This service provides functionality for:
14
- * - AES encryption/decryption of buffers and JSON data
15
- * - Key and IV generation
16
- * - Secure cryptographic operations
17
- */
18
- class SymmetricService {
19
- static symmetricKeyBits(eciesConstants = ecies_lib_1.ECIES) {
20
- return eciesConstants.SYMMETRIC.KEY_BITS;
21
- }
22
- static symmetricKeyBytes(eciesConstants = ecies_lib_1.ECIES) {
23
- return eciesConstants.SYMMETRIC.KEY_SIZE;
24
- }
25
- /**
26
- * Encrypt data with AES
27
- * @param data The data to encrypt
28
- * @param encryptionKey Optional encryption key (will be randomly generated if not provided)
29
- * @returns Object containing encrypted data and key
30
- */
31
- static encryptBuffer(data, encryptionKey, eciesConstants = ecies_lib_1.ECIES) {
32
- if (encryptionKey &&
33
- encryptionKey.length != eciesConstants.SYMMETRIC.KEY_SIZE) {
34
- throw new symmetric_1.SymmetricError(symmetric_error_type_1.SymmetricErrorType.InvalidKeyLength);
35
- }
36
- // encrypt the document using AES-256 and the key
37
- // Initialization Vector
38
- const ivBuffer = (0, crypto_1.randomBytes)(eciesConstants.IV_SIZE);
39
- const key = encryptionKey ?? (0, crypto_1.randomBytes)(eciesConstants.SYMMETRIC.KEY_SIZE);
40
- const cipher = (0, crypto_1.createCipheriv)(eciesConstants.SYMMETRIC_ALGORITHM_CONFIGURATION, key, ivBuffer);
41
- const ciphertextBuffer = cipher.update(data);
42
- const finalBuffer = cipher.final();
43
- const authTag = cipher.getAuthTag();
44
- const encryptionIvPlusData = Buffer.concat([
45
- ivBuffer,
46
- ciphertextBuffer,
47
- finalBuffer,
48
- authTag,
49
- ]);
50
- return {
51
- encryptedData: encryptionIvPlusData,
52
- key: key,
53
- };
54
- }
55
- /**
56
- * Decrypt the given buffer with AES
57
- * @param encryptedData The encrypted data to decrypt
58
- * @param key The key to use for decryption
59
- * @returns Decrypted data as a Buffer
60
- */
61
- static decryptBuffer(encryptedData, key, eciesConstants = ecies_lib_1.ECIES) {
62
- const ivBuffer = encryptedData.subarray(0, eciesConstants.IV_SIZE);
63
- const authTagStart = encryptedData.length - eciesConstants.AUTH_TAG_SIZE;
64
- const ciphertextBuffer = encryptedData.subarray(eciesConstants.IV_SIZE, authTagStart);
65
- const authTag = encryptedData.subarray(authTagStart);
66
- const decipher = (0, crypto_1.createDecipheriv)(eciesConstants.SYMMETRIC_ALGORITHM_CONFIGURATION, key, ivBuffer);
67
- decipher.setAuthTag(authTag);
68
- return Buffer.concat([decipher.update(ciphertextBuffer), decipher.final()]);
69
- }
70
- /**
71
- * Encrypt JSON data with AES
72
- * @param data The data to encrypt
73
- * @param encryptionKey Optional encryption key (will be randomly generated if not provided)
74
- * @returns Object containing encrypted data and key
75
- */
76
- static encryptJson(data, encryptionKey) {
77
- if (data === null || data === undefined) {
78
- throw new symmetric_1.SymmetricError(symmetric_error_type_1.SymmetricErrorType.DataNullOrUndefined);
79
- }
80
- let dataBuffer;
81
- if (hasToJsonMethod(data)) {
82
- // amazonq-ignore-next-line false positive
83
- dataBuffer = Buffer.from(data.toJson(), 'utf8');
84
- }
85
- else {
86
- dataBuffer = Buffer.from(JSON.stringify(data), 'utf8');
87
- }
88
- return SymmetricService.encryptBuffer(dataBuffer, encryptionKey);
89
- }
90
- /**
91
- * Decrypt the given buffer with AES and parse as JSON
92
- * @param encryptedData The encrypted data to decrypt
93
- * @param key The key to use for decryption
94
- * @returns Decrypted data parsed as type T
95
- */
96
- static decryptJson(encryptedData, key) {
97
- return JSON.parse(SymmetricService.decryptBuffer(encryptedData, key).toString('utf8'));
98
- }
99
- }
100
- exports.SymmetricService = SymmetricService;
101
- //# sourceMappingURL=symmetric.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"symmetric.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/symmetric.ts"],"names":[],"mappings":";;;AAAA,0DAAoE;AACpE,mCAAuE;AACvE,+EAA0E;AAC1E,mDAAqD;AAGrD,SAAS,eAAe,CAAI,GAAM;IAChC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,QAAQ,IAAI,GAAG,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAa,gBAAgB;IACpB,MAAM,CAAC,gBAAgB,CAC5B,iBAAkC,iBAAK;QAEvC,OAAO,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAC7B,iBAAkC,iBAAK;QAEvC,OAAO,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CACzB,IAAY,EACZ,aAAsB,EACtB,iBAAkC,iBAAK;QAEvC,IACE,aAAa;YACb,aAAa,CAAC,MAAM,IAAI,cAAc,CAAC,SAAS,CAAC,QAAQ,EACzD,CAAC;YACD,MAAM,IAAI,0BAAc,CAAC,yCAAkB,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC;QAED,iDAAiD;QACjD,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,GAAG,GACP,aAAa,IAAI,IAAA,oBAAW,EAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAA,uBAAc,EAC3B,cAAc,CAAC,iCAAiC,EAChD,GAAG,EACH,QAAQ,CACT,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpC,MAAM,oBAAoB,GAAW,MAAM,CAAC,MAAM,CAAC;YACjD,QAAQ;YACR,gBAAgB;YAChB,WAAW;YACX,OAAO;SACR,CAAC,CAAC;QACH,OAAO;YACL,aAAa,EAAE,oBAAoB;YACnC,GAAG,EAAE,GAAG;SACT,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,aAAa,CACzB,aAAqB,EACrB,GAAW,EACX,iBAAkC,iBAAK;QAEvC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC;QACzE,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAC7C,cAAc,CAAC,OAAO,EACtB,YAAY,CACb,CAAC;QACF,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAC/B,cAAc,CAAC,iCAAiC,EAChD,GAAG,EACH,QAAQ,CACT,CAAC;QACF,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE7B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CACvB,IAAO,EACP,aAAsB;QAEtB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,0BAAc,CAAC,yCAAkB,CAAC,mBAAmB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,UAAkB,CAAC;QACvB,IAAI,eAAe,CAAI,IAAI,CAAC,EAAE,CAAC;YAC7B,0CAA0C;YAC1C,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,gBAAgB,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,WAAW,CAAI,aAAqB,EAAE,GAAW;QAC7D,OAAO,IAAI,CAAC,KAAK,CACf,gBAAgB,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC/D,CAAC;IACT,CAAC;CACF;AAzHD,4CAyHC"}
@@ -1,16 +0,0 @@
1
- import { Member as BackendMember, PlatformID } from '@digitaldefiance/node-ecies-lib';
2
- import { Environment } from '../environment';
3
- import { IConstants } from '../interfaces/constants';
4
- /**
5
- * Service to manage the system member's wallet.
6
- */
7
- export declare class SystemUserService {
8
- private static systemUser;
9
- /**
10
- * Initializes and returns the system member's Member instance.
11
- * The mnemonic should be stored securely in environment variables.
12
- */
13
- static getSystemUser<TID extends PlatformID = Buffer>(environment: Environment<TID>, constants: IConstants): BackendMember<TID>;
14
- static setSystemUser<TID extends PlatformID = Buffer>(user: BackendMember<TID>, constants: IConstants): void;
15
- }
16
- //# sourceMappingURL=system-user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/system-user.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,IAAI,aAAa,EAEvB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0C;IAEnE;;;OAGG;WACW,aAAa,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EACzD,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,SAAS,EAAE,UAAU,GACpB,aAAa,CAAC,GAAG,CAAC;WAqCP,aAAa,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EACzD,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,SAAS,EAAE,UAAU,GACpB,IAAI;CAQR"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemUserService = void 0;
4
- const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
- const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
6
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
7
- /**
8
- * Service to manage the system member's wallet.
9
- */
10
- class SystemUserService {
11
- static systemUser = null;
12
- /**
13
- * Initializes and returns the system member's Member instance.
14
- * The mnemonic should be stored securely in environment variables.
15
- */
16
- static getSystemUser(environment, constants) {
17
- if (!SystemUserService.systemUser) {
18
- if (!environment.systemMnemonic) {
19
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Admin_EnvNotSetTemplate, {
20
- NAME: 'SYSTEM_MNEMONIC',
21
- });
22
- }
23
- const mnemonic = environment.systemMnemonic;
24
- const eciesService = new node_ecies_lib_1.ECIESService(undefined, constants.ECIES);
25
- const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
26
- const keyPair = eciesService.walletToSimpleKeyPairBuffer(wallet);
27
- SystemUserService.systemUser = new node_ecies_lib_1.Member(eciesService, ecies_lib_1.MemberType.System, constants.SystemUser, new ecies_lib_1.EmailString(constants.SystemEmail), keyPair.publicKey, new ecies_lib_1.SecureBuffer(keyPair.privateKey), wallet);
28
- if (SystemUserService.systemUser.publicKey.toString('hex') !==
29
- environment.systemPublicKeyHex) {
30
- console.warn('System public key does not match environment variable', {
31
- derived: SystemUserService.systemUser.publicKey.toString('hex'),
32
- expected: environment.systemPublicKeyHex,
33
- });
34
- }
35
- }
36
- return SystemUserService.systemUser;
37
- }
38
- static setSystemUser(user, constants) {
39
- if (user.type !== ecies_lib_1.MemberType.System || user.name !== constants.SystemUser) {
40
- throw new Error('setSystemUser can only be called with a MemberType.System user');
41
- }
42
- SystemUserService.systemUser = user;
43
- }
44
- }
45
- exports.SystemUserService = SystemUserService;
46
- //# sourceMappingURL=system-user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/system-user.ts"],"names":[],"mappings":";;;AAAA,0DAKoC;AACpC,oEAIyC;AACzC,oEAGyC;AAIzC;;GAEG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAC,UAAU,GAAqC,IAAI,CAAC;IAEnE;;;OAGG;IACI,MAAM,CAAC,aAAa,CACzB,WAA6B,EAC7B,SAAqB;QAErB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBAChC,MAAM,IAAI,uCAAsB,CAC9B,mCAAkB,CAAC,uBAAuB,EAC1C;oBACE,IAAI,EAAE,iBAAiB;iBACxB,CACF,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,GAAiB,WAAW,CAAC,cAAc,CAAC;YAC1D,MAAM,YAAY,GAAG,IAAI,6BAAY,CAAM,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,YAAY,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAEjE,iBAAiB,CAAC,UAAU,GAAG,IAAI,uBAAa,CAC9C,YAAY,EACZ,sBAAU,CAAC,MAAM,EACjB,SAAS,CAAC,UAAU,EACpB,IAAI,uBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EACtC,OAAO,CAAC,SAAS,EACjB,IAAI,wBAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EACpC,MAAM,CACP,CAAC;YACF,IACE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACtD,WAAW,CAAC,kBAAkB,EAC9B,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACpE,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC/D,QAAQ,EAAE,WAAW,CAAC,kBAAkB;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,iBAAiB,CAAC,UAAgC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,aAAa,CACzB,IAAwB,EACxB,SAAqB;QAErB,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAU,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,UAAU,GAAG,IAA0B,CAAC;IAC5D,CAAC;;AAzDH,8CA0DC"}
@@ -1,345 +0,0 @@
1
- import { SecureBuffer, SecureString } from '@digitaldefiance/ecies-lib';
2
- import { ClientSession, ProjectionType } from '@digitaldefiance/mongoose-types';
3
- import { Member as BackendMember, ECIESService, PlatformID } from '@digitaldefiance/node-ecies-lib';
4
- import { EmailTokenType, IBackupCode, IRequestUserDTO, ITokenRole, IUserBase, IUserDTO } from '@digitaldefiance/suite-core-lib';
5
- import { Wallet } from '@ethereumjs/wallet';
6
- import { BackupCode } from '../backup-code';
7
- import { IBaseDocument } from '../documents';
8
- import { IEmailTokenDocument } from '../documents/email-token';
9
- import { IUserDocument } from '../documents/user';
10
- import { Environment } from '../environment';
11
- import { ICreateUserBasics } from '../interfaces';
12
- import { IApplication } from '../interfaces/application';
13
- import { IUserBackendObject } from '../interfaces/backend-objects/user';
14
- import { IConstants } from '../interfaces/constants';
15
- import { IEmailService } from '../interfaces/email-service';
16
- import { BackupCodeService } from './backup-code';
17
- import { BaseService } from './base';
18
- import { KeyWrappingService } from './key-wrapping';
19
- import { MnemonicService } from './mnemonic';
20
- import { RoleService } from './role';
21
- export declare class UserService<T, I extends PlatformID, D extends Date, S extends string, A extends string, _TEnvironment extends Environment<I> = Environment<I>, _TConstants extends IConstants = IConstants, _TBaseDocument extends IBaseDocument<T, I> = IBaseDocument<T, I>, TUser extends IUserBase<I, D, S, A> = IUserBase<I, D, S, A>, TTokenRole extends ITokenRole<I, D> = ITokenRole<I, D>, TApplication extends IApplication<I> = IApplication<I>> extends BaseService<I, TApplication> {
22
- protected readonly roleService: RoleService<I, D, TTokenRole>;
23
- protected readonly eciesService: ECIESService<I>;
24
- protected readonly keyWrappingService: KeyWrappingService;
25
- protected readonly mnemonicService: MnemonicService;
26
- protected readonly emailService: IEmailService;
27
- protected readonly backupCodeService: BackupCodeService<I, D, TTokenRole, TApplication>;
28
- protected readonly serverUrl: string;
29
- protected readonly disableEmailSend: boolean;
30
- constructor(application: TApplication, roleService: RoleService<I, D, TTokenRole>, emailService: IEmailService, keyWrappingService: KeyWrappingService, backupCodeService: BackupCodeService<I, D, TTokenRole, TApplication>);
31
- /**
32
- * Given a User Document, make a User DTO
33
- * @param user a User Document
34
- * @returns An IUserDTO
35
- */
36
- static userToUserDTO<S extends string, I extends PlatformID = Buffer>(user: IUserDocument<S, I> | Record<string, unknown>): IUserDTO;
37
- /**
38
- * Given a User DTO, reconstitute ids and dates
39
- * @param user a User DTO
40
- * @returns An IUserBackendObject
41
- */
42
- hydrateUserDTOToBackend(user: IUserDTO): IUserBackendObject<S, I>;
43
- /**
44
- * Create a new email token to send to the user for email verification
45
- * @param userDoc The user to create the email token for
46
- * @param type The type of email token to create
47
- * @param session The session to use for the query
48
- * @returns The email token document
49
- */
50
- createEmailToken(userDoc: IUserDocument<S, I>, type: EmailTokenType, session?: ClientSession): Promise<IEmailTokenDocument>;
51
- /**
52
- * Create and send an email token to the user for email verification
53
- * @param user The user to send the email token to
54
- * @param type The type of email token to send
55
- * @param session The session to use for the query
56
- * @returns The email token document
57
- */
58
- createAndSendEmailToken(user: IUserDocument<S, I> | (Pick<IUserDocument<S, I>, keyof IUserDocument<S, I>> & {
59
- _id: any;
60
- }), type?: EmailTokenType, session?: ClientSession, debug?: boolean): Promise<IEmailTokenDocument>;
61
- /**
62
- * Create and send an email token directly within an existing transaction
63
- * @param user The user to send the email token to
64
- * @param type The type of email token to send
65
- * @param session The session to use for the query (required)
66
- * @param debug Whether to enable debug logging
67
- * @returns The email token document
68
- */
69
- createAndSendEmailTokenDirect(user: IUserDocument<S, I>, type: EmailTokenType | undefined, session: ClientSession, debug?: boolean): Promise<IEmailTokenDocument>;
70
- /**
71
- * Send an email token to the user for email verification
72
- * @param emailToken The email token to send
73
- * @param session The session to use for the query
74
- * @returns void
75
- */
76
- sendEmailToken(emailToken: IEmailTokenDocument, session?: ClientSession, debug?: boolean): Promise<void>;
77
- /**
78
- * Find a user by email or username and enforce account status checks
79
- * @param email Optional email
80
- * @param username Optional username
81
- * @param session Optional mongoose session
82
- * @throws UsernameOrEmailRequiredError if neither provided
83
- * @throws InvalidCredentialsError if not found or deleted
84
- * @throws AccountLockedError | PendingEmailVerificationError | AccountStatusError per status
85
- */
86
- findUser(email?: string, username?: string, session?: ClientSession): Promise<IUserDocument<S, I>>;
87
- /**
88
- * Finds a user record by ID
89
- * @param userId The user ID
90
- * @param throwIfNotActive Whether to throw if the user is inactive
91
- * @param session The active session, if present
92
- * @returns The user document
93
- */
94
- findUserById(userId: I, throwIfNotActive: boolean, session?: ClientSession, select?: ProjectionType<IUserDocument<S, I>>): Promise<IUserDocument<S, I>>;
95
- /**
96
- * Ensure required fields are present in a projection for queries that rely on them.
97
- * Supports string and object-style projections. For inclusion projections, adds fields.
98
- * For exclusion projections, ensures required fields are not excluded.
99
- */
100
- private ensureRequiredFieldsInProjection;
101
- /**
102
- * Fill in the default values to a user object
103
- * @param newUser The user object to fill in
104
- * @param createdBy The user ID of the user creating the new user
105
- * @returns The filled in user
106
- */
107
- fillUserDefaults(newUser: ICreateUserBasics, createdBy: I, backupCodes: Array<IBackupCode>, encryptedMnemonic: string, userId?: I): IUserBackendObject<S, I>;
108
- /**
109
- * Create a new user document from an IUser and unhashed password
110
- * @param newUser The user object
111
- * @returns The new user document
112
- */
113
- makeUserDoc(newUser: TUser): Promise<IUserDocument<S, I>>;
114
- /**
115
- * Create a new user.
116
- * Do not set createdBy to a new (non-existing) ObjectId unless you also set newUserId to it.
117
- * If newUserId is not set, one will be generated.
118
- * @param systemUser The system user performing the operation
119
- * @param userData Username, email, password in a ICreateUserBasics object
120
- * @param createdBy The user id of the user creating the user
121
- * @param newUserId the user id of the new user object- usually the createdBy user id.
122
- * @param session The session to use for the query
123
- * @param debug Whether to log debug information
124
- * @param password The password to use for the new user (optional, if not provided, mnemonic will be used)
125
- * @returns The new user document
126
- */
127
- newUser(systemUser: BackendMember<I>, userData: ICreateUserBasics, createdBy?: I, newUserId?: I, session?: ClientSession, debug?: boolean, password?: string): Promise<{
128
- user: IUserDocument<S, I>;
129
- mnemonic: string;
130
- backupCodes: Array<string>;
131
- password?: string;
132
- }>;
133
- /**
134
- * Get the backup codes for a user.
135
- * Requires the user not be deleted or inactive
136
- */
137
- getEncryptedUserBackupCodes(userId: I, session?: ClientSession): Promise<Array<IBackupCode>>;
138
- /**
139
- * Resets the given user's backup codes
140
- * @param backupUser The user to generate codes for
141
- * @param session The current session, if any
142
- * @returns A promise of an array of backup codes
143
- */
144
- resetUserBackupCodes(backupUser: BackendMember<I>, systemUser: BackendMember<I>, session?: ClientSession): Promise<Array<BackupCode>>;
145
- /**
146
- * Recover a user's mnemonic from an encrypted mnemonic
147
- * @param user The user whose mnemonic to recover
148
- * @param encryptedMnemonic The encrypted mnemonic
149
- * @returns The recovered mnemonic
150
- */
151
- recoverMnemonic(user: BackendMember<any>, encryptedMnemonic: string): SecureString;
152
- /**
153
- * Make a Member from a user document and optional private key
154
- * @param userDoc The user document
155
- * @param privateKey Optional private key to load the wallet
156
- * @param publicKey Optional public key to override the userDoc public key
157
- * @param session The current session, if any
158
- * @returns A promise containing the created Member
159
- */
160
- makeUserFromUserDoc(userDoc: IUserDocument<S, I>, privateKey?: SecureBuffer, publicKey?: Buffer, mnemonic?: SecureString, wallet?: Wallet, session?: ClientSession): Promise<BackendMember<I>>;
161
- /**
162
- * Challenges a given userDoc with a given mnemonic, returns a system and user Member
163
- * @param userDoc The userDoc in question
164
- * @param mnemonic The mnemonic to challenge against
165
- * @returns A promise containing the user and system Members
166
- * @throws InvalidCredentialsError if the challenge fails
167
- * @throws AccountLockedError if the account is locked
168
- * @throws PendingEmailVerificationError if the email is not verified
169
- * @throws AccountStatusError if the account status is invalid
170
- */
171
- challengeUserWithMnemonic(userDoc: IUserDocument<S, I>, mnemonic: SecureString, session?: ClientSession): Promise<{
172
- userMember: BackendMember<I>;
173
- adminMember: BackendMember<I>;
174
- }>;
175
- /**
176
- * Validates a login challenge response
177
- * @param challengeResponse The challenge response bytes in hex
178
- * @param email The email address of the user
179
- * @param username The username of the user
180
- * @param session The mongo session for the query
181
- * @returns A promise that resolves to the user document, user member, and system member
182
- */
183
- loginWithChallengeResponse(challengeResponse: string, email?: string, username?: string, session?: ClientSession): Promise<{
184
- userDoc: IUserDocument<S, I>;
185
- userMember: BackendMember<I>;
186
- adminMember: BackendMember<I>;
187
- }>;
188
- /**
189
- * Authenticate a user with client-verified challenge (skips server-side challenge)
190
- * @returns The authenticated user document.
191
- */
192
- loginWithClientVerifiedChallenge(usernameOrEmail: string, mnemonic: SecureString, session?: ClientSession): Promise<{
193
- userDoc: IUserDocument<S, I>;
194
- userMember: BackendMember<I>;
195
- adminMember: BackendMember<I>;
196
- }>;
197
- /**
198
- * Authenticate a user with their mnemonic.
199
- * @returns The authenticated user document.
200
- */
201
- loginWithMnemonic(usernameOrEmail: string, mnemonic: SecureString, session?: ClientSession): Promise<{
202
- userDoc: IUserDocument<S, I>;
203
- userMember: BackendMember<I>;
204
- adminMember: BackendMember<I>;
205
- }>;
206
- /**
207
- * Authenticate a user with their password (for key-wrapped accounts).
208
- * @returns The authenticated user document.
209
- */
210
- loginWithPassword(usernameOrEmail: string, password: string, session?: ClientSession): Promise<{
211
- userDoc: IUserDocument<S, I>;
212
- userMember: BackendMember<I>;
213
- adminMember: BackendMember<I>;
214
- }>;
215
- /**
216
- * Re-send a previously sent email token
217
- * @param userId The user id
218
- * @param session The session to use for the query
219
- * @returns void
220
- * @throws EmailTokenUsedOrInvalidError
221
- */
222
- resendEmailToken(userId: string, type: EmailTokenType, session?: ClientSession, debug?: boolean): Promise<void>;
223
- /**
224
- * Verify the email token and update the user's account status
225
- * @param emailToken The email token to verify
226
- * @param session The session to use for the query
227
- * @returns void
228
- * @throws EmailTokenUsedOrInvalidError
229
- * @throws EmailTokenExpiredError
230
- * @throws EmailVerifiedError
231
- * @throws UserNotFoundError
232
- */
233
- verifyAccountTokenAndComplete(emailToken: string, session?: ClientSession): Promise<void>;
234
- /**
235
- * Validate the email token
236
- * @param token The token to validate
237
- * @param restrictType The type of email token to validate (or throw)
238
- * @param session The session to use for the query
239
- * @returns void
240
- * @throws EmailTokenUsedOrInvalidError
241
- */
242
- validateEmailToken(token: string, restrictType?: EmailTokenType, session?: ClientSession): Promise<void>;
243
- /**
244
- * Updates the user's language
245
- * @param userId - The ID of the user
246
- * @param newLanguage - The new language
247
- * @param session - The session to use for the query
248
- * @returns The updated user
249
- */
250
- updateSiteLanguage(userId: string, newLanguage: string, session?: ClientSession): Promise<IRequestUserDTO>;
251
- /**
252
- * Updates the user's Dark Mode preference
253
- * @param userId - The ID of the user
254
- * @param newDarkMode - The new Dark Mode preference
255
- * @param session - The session to use for the query
256
- * @returns The updated user
257
- */
258
- updateDarkMode(userId: string, newDarkMode: boolean, session?: ClientSession): Promise<IRequestUserDTO>;
259
- /**
260
- * Updates multiple user settings at once
261
- * @param userId - The ID of the user
262
- * @param settings - Object containing settings to update
263
- * @param session - The session to use for the query
264
- * @returns The updated user
265
- */
266
- updateUserSettings(userId: string, settings: {
267
- email?: string;
268
- timezone?: string;
269
- siteLanguage?: string;
270
- currency?: string;
271
- darkMode?: boolean;
272
- directChallenge?: boolean;
273
- }, session?: ClientSession): Promise<IRequestUserDTO>;
274
- /**
275
- * Changes the user's password by re-wrapping their master key
276
- * @param userId - The ID of the user
277
- * @param currentPassword - The current password
278
- * @param newPassword - The new password
279
- * @param session - The session to use for the query
280
- * @returns void
281
- */
282
- changePassword(userId: string, currentPassword: string, newPassword: string, session?: ClientSession): Promise<void>;
283
- /**
284
- * Retrieve an email token by its token string and type
285
- * @param token - The token string
286
- * @param type - The type of the email token
287
- * @param session - The session to use for the query
288
- * @returns The email token document or null if not found
289
- */
290
- findEmailToken(token: string, type?: EmailTokenType, session?: ClientSession): Promise<IEmailTokenDocument | null>;
291
- /**
292
- * Verify email token is valid
293
- * @param token - The email token
294
- * @param session - The session to use for the query
295
- * @returns void
296
- */
297
- verifyEmailToken(token: string, type: EmailTokenType, session?: ClientSession): Promise<void>;
298
- /**
299
- * Reset password using email token
300
- * @param token - The email token
301
- * @param newPassword - The new password
302
- * @param session - The session to use for the query
303
- * @returns void
304
- */
305
- resetPasswordWithToken(token: string, newPassword: string, credential?: string, // either mnemonic or current password; required
306
- session?: ClientSession): Promise<void>;
307
- /**
308
- * Generate a login challenge for the client to sign
309
- * @returns The login challenge in hex
310
- */
311
- generateDirectLoginChallenge(): string;
312
- /**
313
- * Verifies a direct login challenge response
314
- * @param serverSignedRequest The login challenge response in hex
315
- * @param session The mongoose session, if provided
316
- * @returns A promise with the user document and user member object
317
- */
318
- verifyDirectLoginChallenge(serverSignedRequest: string, signature: string, username?: string, email?: string, session?: ClientSession): Promise<{
319
- userDoc: IUserDocument<S, I>;
320
- userMember: BackendMember<I>;
321
- }>;
322
- /**
323
- * Request a login link via email
324
- * @param email Email address
325
- * @param username Username
326
- * @param session Existing session, if any
327
- * @returns void
328
- */
329
- requestEmailLogin(email?: string, username?: string, session?: ClientSession): Promise<void>;
330
- /**
331
- * Validate an email login token challenge
332
- * @param token The token to challenge
333
- * @param signature The signature of the token by the user's private key
334
- * @param session The session to use for the query
335
- * @returns The user document if the challenge is valid
336
- */
337
- validateEmailLoginTokenChallenge(token: string, signature: string, session?: ClientSession): Promise<IUserDocument<S, I>>;
338
- /**
339
- * Updates the user's last login time atomically
340
- * @param userId - The ID of the user
341
- * @returns void
342
- */
343
- updateLastLogin(userId: I): Promise<void>;
344
- }
345
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,aAAa,EAEb,cAAc,EACf,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,MAAM,IAAI,aAAa,EACvB,YAAY,EAEZ,UAAU,EAEX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EASL,cAAc,EAId,WAAW,EAKX,eAAe,EACf,UAAU,EACV,SAAS,EACT,QAAQ,EAYT,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAKrC,qBAAa,WAAW,CACtB,CAAC,EACD,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,IAAI,EACd,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,aAAa,SAAS,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,EACrD,WAAW,SAAS,UAAU,GAAG,UAAU,EAC3C,cAAc,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAChE,KAAK,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3D,UAAU,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtD,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CACtD,SAAQ,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CACrD,CAAC,EACD,CAAC,EACD,UAAU,EACV,YAAY,CACb,CAAC;IACF,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;gBAG3C,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAC1C,YAAY,EAAE,aAAa,EAC3B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC;IA+BtE;;;;OAIG;WACW,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,UAAU,GAAG,MAAM,EACzE,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClD,QAAQ;IA4CX;;;;OAIG;IACI,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAsBxE;;;;;;OAMG;IACU,gBAAgB,CAC3B,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,mBAAmB,CAAC;IA8F/B;;;;;;OAMG;IACU,uBAAuB,CAClC,IAAI,EACA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,GAAG,CAAA;KAAE,CAAC,EACzE,IAAI,GAAE,cAAmD,EACzD,OAAO,CAAC,EAAE,aAAa,EACvB,KAAK,UAAQ,GACZ,OAAO,CAAC,mBAAmB,CAAC;IAU/B;;;;;;;OAOG;IACU,6BAA6B,CACxC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,IAAI,EAAE,cAAc,YAAqC,EACzD,OAAO,EAAE,aAAa,EACtB,KAAK,UAAQ,GACZ,OAAO,CAAC,mBAAmB,CAAC;IAoD/B;;;;;OAKG;IACU,cAAc,CACzB,UAAU,EAAE,mBAAmB,EAC/B,OAAO,CAAC,EAAE,aAAa,EACvB,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IA2EhB;;;;;;;;OAQG;IACU,QAAQ,CACnB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAgD/B;;;;;;OAMG;IACU,YAAY,CACvB,MAAM,EAAE,CAAC,EACT,gBAAgB,EAAE,OAAO,EACzB,OAAO,CAAC,EAAE,aAAa,EACvB,MAAM,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAgC/B;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IA0CxC;;;;;OAKG;IACI,gBAAgB,CACrB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,EAC/B,iBAAiB,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,CAAC,GACT,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAuB3B;;;;OAIG;IACU,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAetE;;;;;;;;;;;;OAYG;IACU,OAAO,CAClB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,CAAC,EAAE,CAAC,EACb,SAAS,CAAC,EAAE,CAAC,EACb,OAAO,CAAC,EAAE,aAAa,EACvB,KAAK,UAAQ,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAgKF;;;OAGG;IACU,2BAA2B,CACtC,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAK9B;;;;;OAKG;IACU,oBAAoB,CAC/B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IA2B7B;;;;;OAKG;IACI,eAAe,CACpB,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,iBAAiB,EAAE,MAAM,GACxB,YAAY;IAiBf;;;;;;;OAOG;IACU,mBAAmB,CAC9B,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,UAAU,CAAC,EAAE,YAAY,EACzB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,YAAY,EACvB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IA2B5B;;;;;;;;;OASG;IACU,yBAAyB,CACpC,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC;IAuFF;;;;;;;OAOG;IACU,0BAA0B,CACrC,iBAAiB,EAAE,MAAM,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC;IAuDF;;;OAGG;IACU,gCAAgC,CAC3C,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC;IAgGF;;;OAGG;IACU,iBAAiB,CAC5B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC;IAuCF;;;OAGG;IACU,iBAAiB,CAC5B,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QACT,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC;IA8EF;;;;;;OAMG;IACU,gBAAgB,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,aAAa,EACvB,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;;OASG;IACU,6BAA6B,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IAqFhB;;;;;;;OAOG;IACU,kBAAkB,CAC7B,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,cAAc,EAC7B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;OAMG;IACU,kBAAkB,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,eAAe,CAAC;IA4B3B;;;;;;OAMG;IACU,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,eAAe,CAAC;IA4B3B;;;;;;OAMG;IACU,kBAAkB,CAC7B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,EACD,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,eAAe,CAAC;IA6D3B;;;;;;;OAOG;IACU,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;;;;OAMG;IACU,cAAc,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAYtC;;;;;OAKG;IACU,gBAAgB,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;OAMG;IACU,sBAAsB,CACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EAAE,gDAAgD;IACrE,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IAgHhB;;;OAGG;IACI,4BAA4B,IAAI,MAAM;IAY7C;;;;;OAKG;IACU,0BAA0B,CACrC,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IA0G1E;;;;;;OAMG;IACU,iBAAiB,CAC5B,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;OAMG;IACU,gCAAgC,CAC3C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAyC/B;;;;OAIG;IACU,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAuCvD"}