@digitaldefiance/node-express-suite 3.6.7 → 3.6.9

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 (859) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +14 -10
  3. package/src/__tests__/fixtures/index.ts +1 -0
  4. package/src/__tests__/fixtures/model-mocks.mock.ts +122 -0
  5. package/src/__tests__/helpers/application.mock.ts +90 -0
  6. package/src/__tests__/helpers/{index.d.ts → index.ts} +1 -2
  7. package/src/__tests__/helpers/setup-test-env.ts +163 -0
  8. package/src/__tests__/index.ts +2 -0
  9. package/src/application-base.ts +520 -0
  10. package/src/application-concrete.ts +32 -0
  11. package/src/application.ts +321 -0
  12. package/src/backup-code.ts +348 -0
  13. package/src/builders/application-builder.ts +94 -0
  14. package/src/builders/{index.d.ts → index.ts} +0 -1
  15. package/src/constants.ts +83 -0
  16. package/src/container/{index.d.ts → index.ts} +0 -1
  17. package/src/container/service-container.ts +39 -0
  18. package/src/container/service-definitions.ts +11 -0
  19. package/src/controllers/base.ts +496 -0
  20. package/src/controllers/{index.d.ts → index.ts} +0 -1
  21. package/src/controllers/user.ts +1687 -0
  22. package/src/database/{database-initializer.d.ts → database-initializer.ts} +3 -3
  23. package/src/database/{index.d.ts → index.ts} +0 -1
  24. package/src/decorators/base-controller.ts +77 -0
  25. package/src/decorators/controller.ts +140 -0
  26. package/src/decorators/{index.d.ts → index.ts} +0 -1
  27. package/src/decorators/zod-validation.ts +57 -0
  28. package/src/defaults.ts +249 -0
  29. package/src/documents/base.ts +10 -0
  30. package/src/documents/{email-token.d.ts → email-token.ts} +9 -3
  31. package/src/documents/{index.d.ts → index.ts} +0 -1
  32. package/src/documents/{mnemonic.d.ts → mnemonic.ts} +5 -2
  33. package/src/documents/{role.d.ts → role.ts} +5 -2
  34. package/src/documents/{used-direct-login-token.d.ts → used-direct-login-token.ts} +5 -2
  35. package/src/documents/{user-role.d.ts → user-role.ts} +5 -2
  36. package/src/documents/{user.d.ts → user.ts} +5 -2
  37. package/src/enumerations/base-model-name.ts +41 -0
  38. package/src/enumerations/{index.d.ts → index.ts} +0 -1
  39. package/src/enumerations/length-encoding-type.ts +6 -0
  40. package/src/enumerations/schema-collection.ts +33 -0
  41. package/src/enumerations/symmetric-error-type.ts +4 -0
  42. package/src/environment.ts +836 -0
  43. package/src/errors/express-validation.ts +21 -0
  44. package/src/errors/{index.d.ts → index.ts} +0 -1
  45. package/src/errors/invalid-backup-code-version.ts +15 -0
  46. package/src/errors/invalid-jwt-token.ts +11 -0
  47. package/src/errors/invalid-model.ts +11 -0
  48. package/src/errors/invalid-new-password.ts +18 -0
  49. package/src/errors/invalid-password.ts +13 -0
  50. package/src/errors/missing-validated-data.ts +36 -0
  51. package/src/errors/mnemonic-or-password-required.ts +13 -0
  52. package/src/errors/model-not-registered.ts +11 -0
  53. package/src/errors/mongoose-validation.ts +36 -0
  54. package/src/errors/symmetric.ts +38 -0
  55. package/src/errors/token-expired.ts +11 -0
  56. package/src/get-language.ts +53 -0
  57. package/src/get-timezone.ts +61 -0
  58. package/src/{index.d.ts → index.ts} +3 -2
  59. package/src/interfaces/{api-error-response.d.ts → api-error-response.ts} +2 -2
  60. package/src/interfaces/api-express-validation-error-response.ts +8 -0
  61. package/src/interfaces/api-message-response.ts +3 -0
  62. package/src/interfaces/{api-mongo-validation-error-response.d.ts → api-mongo-validation-error-response.ts} +2 -2
  63. package/src/interfaces/api-responses/{backup-codes-response.d.ts → backup-codes-response.ts} +2 -2
  64. package/src/interfaces/api-responses/{challenge-response.d.ts → challenge-response.ts} +3 -3
  65. package/src/interfaces/api-responses/{code-count-response.d.ts → code-count-response.ts} +2 -2
  66. package/src/interfaces/api-responses/{index.d.ts → index.ts} +1 -2
  67. package/src/interfaces/api-responses/{login-response.d.ts → login-response.ts} +4 -4
  68. package/src/interfaces/api-responses/{mnemonic-response.d.ts → mnemonic-response.ts} +2 -2
  69. package/src/interfaces/api-responses/{registration-response.d.ts → registration-response.ts} +3 -3
  70. package/src/interfaces/api-responses/{request-user-response.d.ts → request-user-response.ts} +2 -2
  71. package/src/interfaces/api-responses/user-settings-response.ts +12 -0
  72. package/src/interfaces/application.ts +16 -0
  73. package/src/interfaces/backend-objects/email-token.ts +11 -0
  74. package/src/interfaces/backend-objects/{index.d.ts → index.ts} +0 -1
  75. package/src/interfaces/backend-objects/request-user.ts +8 -0
  76. package/src/interfaces/backend-objects/{role.d.ts → role.ts} +1 -1
  77. package/src/interfaces/backend-objects/user.ts +7 -0
  78. package/src/interfaces/checksum-config.ts +4 -0
  79. package/src/interfaces/checksum-consts.ts +13 -0
  80. package/src/interfaces/constants.ts +103 -0
  81. package/src/interfaces/controller-config.ts +27 -0
  82. package/src/interfaces/create-user-basics.ts +17 -0
  83. package/src/interfaces/csp-config.ts +16 -0
  84. package/src/interfaces/csp-definition.ts +53 -0
  85. package/src/interfaces/{db-init-result.d.ts → db-init-result.ts} +3 -3
  86. package/src/interfaces/deep-partial.ts +3 -0
  87. package/src/interfaces/{discriminator-collections.d.ts → discriminator-collections.ts} +3 -3
  88. package/src/interfaces/email-service.ts +8 -0
  89. package/src/interfaces/environment-mongo.ts +76 -0
  90. package/src/interfaces/environment.ts +185 -0
  91. package/src/interfaces/failable-result.ts +6 -0
  92. package/src/interfaces/fec-consts.ts +4 -0
  93. package/src/interfaces/flexible-csp.ts +18 -0
  94. package/src/interfaces/handleable-error-options.ts +6 -0
  95. package/src/interfaces/{index.d.ts → index.ts} +0 -1
  96. package/src/interfaces/jwt-consts.ts +23 -0
  97. package/src/interfaces/jwt-sign-response.ts +19 -0
  98. package/src/interfaces/models/{email-token.d.ts → email-token.ts} +1 -1
  99. package/src/interfaces/models/{index.d.ts → index.ts} +0 -1
  100. package/src/interfaces/models/{mnemonic.d.ts → mnemonic.ts} +1 -1
  101. package/src/interfaces/models/{role.d.ts → role.ts} +1 -1
  102. package/src/interfaces/models/{token-role.d.ts → token-role.ts} +1 -1
  103. package/src/interfaces/models/{used-direct-login-token.d.ts → used-direct-login-token.ts} +3 -2
  104. package/src/interfaces/models/{user-role.d.ts → user-role.ts} +1 -1
  105. package/src/interfaces/models/{user.d.ts → user.ts} +11 -3
  106. package/src/interfaces/mongo-errors.ts +5 -0
  107. package/src/interfaces/request-user.ts +66 -0
  108. package/src/interfaces/required-string-keys.ts +26 -0
  109. package/src/interfaces/schema.ts +31 -0
  110. package/src/interfaces/server-init-result.ts +38 -0
  111. package/src/interfaces/status-code-response.ts +7 -0
  112. package/src/interfaces/symmetric-encryption-results.d.ts +3 -3
  113. package/src/interfaces/symmetric-encryption-results.d.ts.map +1 -1
  114. package/src/interfaces/symmetric-encryption-results.js.map +1 -1
  115. package/src/interfaces/symmetric-encryption-results.ts +4 -0
  116. package/src/interfaces/{test-environment.d.ts → test-environment.ts} +6 -6
  117. package/src/interfaces/{token-response.d.ts → token-response.ts} +2 -2
  118. package/src/middlewares/authenticate-crypto.ts +216 -0
  119. package/src/middlewares/authenticate-token.ts +150 -0
  120. package/src/middlewares/cleanup-crypto.ts +37 -0
  121. package/src/middlewares/{index.d.ts → index.ts} +0 -1
  122. package/src/middlewares/set-global-context-language.ts +24 -0
  123. package/src/middlewares.ts +105 -0
  124. package/src/model-registry.ts +75 -0
  125. package/src/models/email-token.d.ts +11 -35
  126. package/src/models/email-token.ts +16 -0
  127. package/src/models/{index.d.ts → index.ts} +0 -1
  128. package/src/models/mnemonic.d.ts +11 -35
  129. package/src/models/mnemonic.ts +16 -0
  130. package/src/models/role.d.ts +11 -35
  131. package/src/models/role.ts +16 -0
  132. package/src/models/used-direct-login-token.d.ts +11 -35
  133. package/src/models/used-direct-login-token.ts +16 -0
  134. package/src/models/user-role.d.ts +10 -3
  135. package/src/models/user-role.ts +14 -0
  136. package/src/models/user.d.ts +16 -3
  137. package/src/models/user.ts +16 -0
  138. package/src/pipeline/{index.d.ts → index.ts} +0 -1
  139. package/src/pipeline/pipeline-builder.ts +18 -0
  140. package/src/plugins/{index.d.ts → index.ts} +0 -1
  141. package/src/plugins/plugin-interface.ts +8 -0
  142. package/src/plugins/plugin-manager.ts +40 -0
  143. package/src/registry/email-service-registry.ts +53 -0
  144. package/src/registry/{index.d.ts → index.ts} +0 -1
  145. package/src/responses/{index.d.ts → index.ts} +0 -1
  146. package/src/responses/response-builder.ts +86 -0
  147. package/src/routers/api.ts +168 -0
  148. package/src/routers/app.ts +340 -0
  149. package/src/routers/base.ts +17 -0
  150. package/src/routers/{index.d.ts → index.ts} +0 -1
  151. package/src/routers/router-config.ts +16 -0
  152. package/src/routing/index.ts +1 -0
  153. package/src/routing/route-builder.ts +126 -0
  154. package/src/schemas/email-token.d.ts +13 -47
  155. package/src/schemas/email-token.ts +97 -0
  156. package/src/schemas/{index.d.ts → index.ts} +0 -1
  157. package/src/schemas/mnemonic.d.ts +10 -26
  158. package/src/schemas/mnemonic.ts +39 -0
  159. package/src/schemas/role.d.ts +13 -40
  160. package/src/schemas/role.ts +132 -0
  161. package/src/schemas/schema.ts +150 -0
  162. package/src/schemas/used-direct-login-token.d.ts +12 -35
  163. package/src/schemas/used-direct-login-token.ts +44 -0
  164. package/src/schemas/user-role.d.ts +12 -37
  165. package/src/schemas/user-role.ts +81 -0
  166. package/src/schemas/user.d.ts +18 -23
  167. package/src/schemas/user.ts +224 -0
  168. package/src/services/backup-code.ts +321 -0
  169. package/src/services/base.ts +35 -0
  170. package/src/services/checksum.ts +167 -0
  171. package/src/services/crc.ts +213 -0
  172. package/src/services/database-initialization.ts +1564 -0
  173. package/src/services/{db-init-cache.d.ts → db-init-cache.ts} +11 -5
  174. package/src/services/direct-login-token.ts +62 -0
  175. package/src/services/dummy-email-service.ts +20 -0
  176. package/src/services/fec-usage-example.ts +102 -0
  177. package/src/services/fec.ts +355 -0
  178. package/src/services/{index.d.ts → index.ts} +0 -1
  179. package/src/services/jwt.ts +133 -0
  180. package/src/services/key-wrapping.ts +449 -0
  181. package/src/services/mnemonic.ts +166 -0
  182. package/src/services/request-user.ts +99 -0
  183. package/src/services/role.ts +410 -0
  184. package/src/services/symmetric.ts +139 -0
  185. package/src/services/system-user.ts +79 -0
  186. package/src/services/user.ts +2279 -0
  187. package/src/services/xor.ts +34 -0
  188. package/src/testing.ts +3 -0
  189. package/src/transactions/{index.d.ts → index.ts} +0 -1
  190. package/src/transactions/transaction-manager.ts +37 -0
  191. package/src/types/{app-config.d.ts → app-config.ts} +10 -9
  192. package/src/types/{controller-config.d.ts → controller-config.ts} +8 -7
  193. package/src/types/{environment-variables.d.ts → environment-variables.ts} +26 -5
  194. package/src/types/id-converters.ts +53 -0
  195. package/src/types/{index.d.ts → index.ts} +0 -1
  196. package/src/types/{mongoose-helpers.d.ts → mongoose-helpers.ts} +2 -2
  197. package/src/types/mongoose-override.d.ts +1 -0
  198. package/src/types/mongoose.d.ts +1 -0
  199. package/src/types.d.ts +40 -68
  200. package/src/types.ts +130 -0
  201. package/src/utils.ts +1081 -0
  202. package/src/validation/{index.d.ts → index.ts} +0 -1
  203. package/src/validation/validation-builder.ts +94 -0
  204. package/src/__tests__/fixtures/index.d.ts +0 -2
  205. package/src/__tests__/fixtures/index.d.ts.map +0 -1
  206. package/src/__tests__/fixtures/index.js +0 -5
  207. package/src/__tests__/fixtures/index.js.map +0 -1
  208. package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -6
  209. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
  210. package/src/__tests__/fixtures/model-mocks.mock.js +0 -94
  211. package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
  212. package/src/__tests__/helpers/application.mock.d.ts +0 -8
  213. package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
  214. package/src/__tests__/helpers/application.mock.js +0 -77
  215. package/src/__tests__/helpers/application.mock.js.map +0 -1
  216. package/src/__tests__/helpers/index.d.ts.map +0 -1
  217. package/src/__tests__/helpers/index.js +0 -7
  218. package/src/__tests__/helpers/index.js.map +0 -1
  219. package/src/__tests__/helpers/setup-test-env.d.ts +0 -12
  220. package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
  221. package/src/__tests__/helpers/setup-test-env.js +0 -119
  222. package/src/__tests__/helpers/setup-test-env.js.map +0 -1
  223. package/src/__tests__/index.d.ts +0 -3
  224. package/src/__tests__/index.d.ts.map +0 -1
  225. package/src/__tests__/index.js +0 -6
  226. package/src/__tests__/index.js.map +0 -1
  227. package/src/application-base.d.ts +0 -122
  228. package/src/application-base.d.ts.map +0 -1
  229. package/src/application-base.js +0 -355
  230. package/src/application-base.js.map +0 -1
  231. package/src/application-concrete.d.ts +0 -12
  232. package/src/application-concrete.d.ts.map +0 -1
  233. package/src/application-concrete.js +0 -21
  234. package/src/application-concrete.js.map +0 -1
  235. package/src/application.d.ts +0 -28
  236. package/src/application.d.ts.map +0 -1
  237. package/src/application.js +0 -167
  238. package/src/application.js.map +0 -1
  239. package/src/backup-code.d.ts +0 -68
  240. package/src/backup-code.d.ts.map +0 -1
  241. package/src/backup-code.js +0 -238
  242. package/src/backup-code.js.map +0 -1
  243. package/src/builders/application-builder.d.ts +0 -34
  244. package/src/builders/application-builder.d.ts.map +0 -1
  245. package/src/builders/application-builder.js +0 -64
  246. package/src/builders/application-builder.js.map +0 -1
  247. package/src/builders/index.d.ts.map +0 -1
  248. package/src/builders/index.js +0 -5
  249. package/src/builders/index.js.map +0 -1
  250. package/src/constants.d.ts +0 -16
  251. package/src/constants.d.ts.map +0 -1
  252. package/src/constants.js +0 -58
  253. package/src/constants.js.map +0 -1
  254. package/src/container/index.d.ts.map +0 -1
  255. package/src/container/index.js +0 -6
  256. package/src/container/index.js.map +0 -1
  257. package/src/container/service-container.d.ts +0 -11
  258. package/src/container/service-container.d.ts.map +0 -1
  259. package/src/container/service-container.js +0 -38
  260. package/src/container/service-container.js.map +0 -1
  261. package/src/container/service-definitions.d.ts +0 -11
  262. package/src/container/service-definitions.d.ts.map +0 -1
  263. package/src/container/service-definitions.js +0 -13
  264. package/src/container/service-definitions.js.map +0 -1
  265. package/src/controllers/base.d.ts +0 -66
  266. package/src/controllers/base.d.ts.map +0 -1
  267. package/src/controllers/base.js +0 -305
  268. package/src/controllers/base.js.map +0 -1
  269. package/src/controllers/index.d.ts.map +0 -1
  270. package/src/controllers/index.js +0 -6
  271. package/src/controllers/index.js.map +0 -1
  272. package/src/controllers/user.d.ts +0 -46
  273. package/src/controllers/user.d.ts.map +0 -1
  274. package/src/controllers/user.js +0 -918
  275. package/src/controllers/user.js.map +0 -1
  276. package/src/database/database-initializer.d.ts.map +0 -1
  277. package/src/database/database-initializer.js +0 -3
  278. package/src/database/database-initializer.js.map +0 -1
  279. package/src/database/index.d.ts.map +0 -1
  280. package/src/database/index.js +0 -5
  281. package/src/database/index.js.map +0 -1
  282. package/src/decorators/base-controller.d.ts +0 -10
  283. package/src/decorators/base-controller.d.ts.map +0 -1
  284. package/src/decorators/base-controller.js +0 -60
  285. package/src/decorators/base-controller.js.map +0 -1
  286. package/src/decorators/controller.d.ts +0 -38
  287. package/src/decorators/controller.d.ts.map +0 -1
  288. package/src/decorators/controller.js +0 -67
  289. package/src/decorators/controller.js.map +0 -1
  290. package/src/decorators/index.d.ts.map +0 -1
  291. package/src/decorators/index.js +0 -7
  292. package/src/decorators/index.js.map +0 -1
  293. package/src/decorators/zod-validation.d.ts +0 -5
  294. package/src/decorators/zod-validation.d.ts.map +0 -1
  295. package/src/decorators/zod-validation.js +0 -47
  296. package/src/decorators/zod-validation.js.map +0 -1
  297. package/src/defaults.d.ts +0 -7
  298. package/src/defaults.d.ts.map +0 -1
  299. package/src/defaults.js +0 -202
  300. package/src/defaults.js.map +0 -1
  301. package/src/documents/base.d.ts +0 -4
  302. package/src/documents/base.d.ts.map +0 -1
  303. package/src/documents/base.js +0 -3
  304. package/src/documents/base.js.map +0 -1
  305. package/src/documents/email-token.d.ts.map +0 -1
  306. package/src/documents/email-token.js +0 -3
  307. package/src/documents/email-token.js.map +0 -1
  308. package/src/documents/index.d.ts.map +0 -1
  309. package/src/documents/index.js +0 -3
  310. package/src/documents/index.js.map +0 -1
  311. package/src/documents/mnemonic.d.ts.map +0 -1
  312. package/src/documents/mnemonic.js +0 -3
  313. package/src/documents/mnemonic.js.map +0 -1
  314. package/src/documents/role.d.ts.map +0 -1
  315. package/src/documents/role.js +0 -3
  316. package/src/documents/role.js.map +0 -1
  317. package/src/documents/used-direct-login-token.d.ts.map +0 -1
  318. package/src/documents/used-direct-login-token.js +0 -3
  319. package/src/documents/used-direct-login-token.js.map +0 -1
  320. package/src/documents/user-role.d.ts.map +0 -1
  321. package/src/documents/user-role.js +0 -3
  322. package/src/documents/user-role.js.map +0 -1
  323. package/src/documents/user.d.ts.map +0 -1
  324. package/src/documents/user.js +0 -3
  325. package/src/documents/user.js.map +0 -1
  326. package/src/enumerations/base-model-name.d.ts +0 -38
  327. package/src/enumerations/base-model-name.d.ts.map +0 -1
  328. package/src/enumerations/base-model-name.js +0 -34
  329. package/src/enumerations/base-model-name.js.map +0 -1
  330. package/src/enumerations/index.d.ts.map +0 -1
  331. package/src/enumerations/index.js +0 -8
  332. package/src/enumerations/index.js.map +0 -1
  333. package/src/enumerations/length-encoding-type.d.ts +0 -7
  334. package/src/enumerations/length-encoding-type.d.ts.map +0 -1
  335. package/src/enumerations/length-encoding-type.js +0 -11
  336. package/src/enumerations/length-encoding-type.js.map +0 -1
  337. package/src/enumerations/schema-collection.d.ts +0 -34
  338. package/src/enumerations/schema-collection.d.ts.map +0 -1
  339. package/src/enumerations/schema-collection.js +0 -38
  340. package/src/enumerations/schema-collection.js.map +0 -1
  341. package/src/enumerations/symmetric-error-type.d.ts +0 -5
  342. package/src/enumerations/symmetric-error-type.d.ts.map +0 -1
  343. package/src/enumerations/symmetric-error-type.js +0 -9
  344. package/src/enumerations/symmetric-error-type.js.map +0 -1
  345. package/src/environment.d.ts +0 -190
  346. package/src/environment.d.ts.map +0 -1
  347. package/src/environment.js +0 -646
  348. package/src/environment.js.map +0 -1
  349. package/src/errors/express-validation.d.ts +0 -9
  350. package/src/errors/express-validation.d.ts.map +0 -1
  351. package/src/errors/express-validation.js +0 -18
  352. package/src/errors/express-validation.js.map +0 -1
  353. package/src/errors/index.d.ts.map +0 -1
  354. package/src/errors/index.js +0 -16
  355. package/src/errors/index.js.map +0 -1
  356. package/src/errors/invalid-backup-code-version.d.ts +0 -6
  357. package/src/errors/invalid-backup-code-version.d.ts.map +0 -1
  358. package/src/errors/invalid-backup-code-version.js +0 -16
  359. package/src/errors/invalid-backup-code-version.js.map +0 -1
  360. package/src/errors/invalid-jwt-token.d.ts +0 -5
  361. package/src/errors/invalid-jwt-token.d.ts.map +0 -1
  362. package/src/errors/invalid-jwt-token.js +0 -12
  363. package/src/errors/invalid-jwt-token.js.map +0 -1
  364. package/src/errors/invalid-model.d.ts +0 -6
  365. package/src/errors/invalid-model.d.ts.map +0 -1
  366. package/src/errors/invalid-model.js +0 -14
  367. package/src/errors/invalid-model.js.map +0 -1
  368. package/src/errors/invalid-new-password.d.ts +0 -5
  369. package/src/errors/invalid-new-password.d.ts.map +0 -1
  370. package/src/errors/invalid-new-password.js +0 -14
  371. package/src/errors/invalid-new-password.js.map +0 -1
  372. package/src/errors/invalid-password.d.ts +0 -5
  373. package/src/errors/invalid-password.d.ts.map +0 -1
  374. package/src/errors/invalid-password.js +0 -14
  375. package/src/errors/invalid-password.js.map +0 -1
  376. package/src/errors/missing-validated-data.d.ts +0 -7
  377. package/src/errors/missing-validated-data.d.ts.map +0 -1
  378. package/src/errors/missing-validated-data.js +0 -36
  379. package/src/errors/missing-validated-data.js.map +0 -1
  380. package/src/errors/mnemonic-or-password-required.d.ts +0 -5
  381. package/src/errors/mnemonic-or-password-required.d.ts.map +0 -1
  382. package/src/errors/mnemonic-or-password-required.js +0 -14
  383. package/src/errors/mnemonic-or-password-required.js.map +0 -1
  384. package/src/errors/model-not-registered.d.ts +0 -6
  385. package/src/errors/model-not-registered.d.ts.map +0 -1
  386. package/src/errors/model-not-registered.js +0 -14
  387. package/src/errors/model-not-registered.js.map +0 -1
  388. package/src/errors/mongoose-validation.d.ts +0 -12
  389. package/src/errors/mongoose-validation.d.ts.map +0 -1
  390. package/src/errors/mongoose-validation.js +0 -17
  391. package/src/errors/mongoose-validation.js.map +0 -1
  392. package/src/errors/symmetric.d.ts +0 -8
  393. package/src/errors/symmetric.d.ts.map +0 -1
  394. package/src/errors/symmetric.js +0 -22
  395. package/src/errors/symmetric.js.map +0 -1
  396. package/src/errors/token-expired.d.ts +0 -5
  397. package/src/errors/token-expired.d.ts.map +0 -1
  398. package/src/errors/token-expired.js +0 -12
  399. package/src/errors/token-expired.js.map +0 -1
  400. package/src/get-language.d.ts +0 -2
  401. package/src/get-language.d.ts.map +0 -1
  402. package/src/get-language.js +0 -30
  403. package/src/get-language.js.map +0 -1
  404. package/src/get-timezone.d.ts +0 -2
  405. package/src/get-timezone.d.ts.map +0 -1
  406. package/src/get-timezone.js +0 -39
  407. package/src/get-timezone.js.map +0 -1
  408. package/src/index.d.ts.map +0 -1
  409. package/src/index.js +0 -43
  410. package/src/index.js.map +0 -1
  411. package/src/interfaces/api-error-response.d.ts.map +0 -1
  412. package/src/interfaces/api-error-response.js +0 -3
  413. package/src/interfaces/api-error-response.js.map +0 -1
  414. package/src/interfaces/api-express-validation-error-response.d.ts +0 -7
  415. package/src/interfaces/api-express-validation-error-response.d.ts.map +0 -1
  416. package/src/interfaces/api-express-validation-error-response.js +0 -3
  417. package/src/interfaces/api-express-validation-error-response.js.map +0 -1
  418. package/src/interfaces/api-message-response.d.ts +0 -4
  419. package/src/interfaces/api-message-response.d.ts.map +0 -1
  420. package/src/interfaces/api-message-response.js +0 -3
  421. package/src/interfaces/api-message-response.js.map +0 -1
  422. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
  423. package/src/interfaces/api-mongo-validation-error-response.js +0 -3
  424. package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
  425. package/src/interfaces/api-responses/backup-codes-response.d.ts.map +0 -1
  426. package/src/interfaces/api-responses/backup-codes-response.js +0 -3
  427. package/src/interfaces/api-responses/backup-codes-response.js.map +0 -1
  428. package/src/interfaces/api-responses/challenge-response.d.ts.map +0 -1
  429. package/src/interfaces/api-responses/challenge-response.js +0 -3
  430. package/src/interfaces/api-responses/challenge-response.js.map +0 -1
  431. package/src/interfaces/api-responses/code-count-response.d.ts.map +0 -1
  432. package/src/interfaces/api-responses/code-count-response.js +0 -3
  433. package/src/interfaces/api-responses/code-count-response.js.map +0 -1
  434. package/src/interfaces/api-responses/index.d.ts.map +0 -1
  435. package/src/interfaces/api-responses/index.js +0 -12
  436. package/src/interfaces/api-responses/index.js.map +0 -1
  437. package/src/interfaces/api-responses/login-response.d.ts.map +0 -1
  438. package/src/interfaces/api-responses/login-response.js +0 -3
  439. package/src/interfaces/api-responses/login-response.js.map +0 -1
  440. package/src/interfaces/api-responses/mnemonic-response.d.ts.map +0 -1
  441. package/src/interfaces/api-responses/mnemonic-response.js +0 -3
  442. package/src/interfaces/api-responses/mnemonic-response.js.map +0 -1
  443. package/src/interfaces/api-responses/registration-response.d.ts.map +0 -1
  444. package/src/interfaces/api-responses/registration-response.js +0 -3
  445. package/src/interfaces/api-responses/registration-response.js.map +0 -1
  446. package/src/interfaces/api-responses/request-user-response.d.ts.map +0 -1
  447. package/src/interfaces/api-responses/request-user-response.js +0 -3
  448. package/src/interfaces/api-responses/request-user-response.js.map +0 -1
  449. package/src/interfaces/api-responses/user-settings-response.d.ts +0 -12
  450. package/src/interfaces/api-responses/user-settings-response.d.ts.map +0 -1
  451. package/src/interfaces/api-responses/user-settings-response.js +0 -3
  452. package/src/interfaces/api-responses/user-settings-response.js.map +0 -1
  453. package/src/interfaces/application.d.ts +0 -16
  454. package/src/interfaces/application.d.ts.map +0 -1
  455. package/src/interfaces/application.js +0 -3
  456. package/src/interfaces/application.js.map +0 -1
  457. package/src/interfaces/backend-objects/email-token.d.ts +0 -4
  458. package/src/interfaces/backend-objects/email-token.d.ts.map +0 -1
  459. package/src/interfaces/backend-objects/email-token.js +0 -3
  460. package/src/interfaces/backend-objects/email-token.js.map +0 -1
  461. package/src/interfaces/backend-objects/index.d.ts.map +0 -1
  462. package/src/interfaces/backend-objects/index.js +0 -8
  463. package/src/interfaces/backend-objects/index.js.map +0 -1
  464. package/src/interfaces/backend-objects/request-user.d.ts +0 -5
  465. package/src/interfaces/backend-objects/request-user.d.ts.map +0 -1
  466. package/src/interfaces/backend-objects/request-user.js +0 -3
  467. package/src/interfaces/backend-objects/request-user.js.map +0 -1
  468. package/src/interfaces/backend-objects/role.d.ts.map +0 -1
  469. package/src/interfaces/backend-objects/role.js +0 -3
  470. package/src/interfaces/backend-objects/role.js.map +0 -1
  471. package/src/interfaces/backend-objects/user.d.ts +0 -4
  472. package/src/interfaces/backend-objects/user.d.ts.map +0 -1
  473. package/src/interfaces/backend-objects/user.js +0 -3
  474. package/src/interfaces/backend-objects/user.js.map +0 -1
  475. package/src/interfaces/checksum-config.d.ts +0 -5
  476. package/src/interfaces/checksum-config.d.ts.map +0 -1
  477. package/src/interfaces/checksum-config.js +0 -3
  478. package/src/interfaces/checksum-config.js.map +0 -1
  479. package/src/interfaces/checksum-consts.d.ts +0 -11
  480. package/src/interfaces/checksum-consts.d.ts.map +0 -1
  481. package/src/interfaces/checksum-consts.js +0 -3
  482. package/src/interfaces/checksum-consts.js.map +0 -1
  483. package/src/interfaces/constants.d.ts +0 -98
  484. package/src/interfaces/constants.d.ts.map +0 -1
  485. package/src/interfaces/constants.js +0 -3
  486. package/src/interfaces/constants.js.map +0 -1
  487. package/src/interfaces/controller-config.d.ts +0 -21
  488. package/src/interfaces/controller-config.d.ts.map +0 -1
  489. package/src/interfaces/controller-config.js +0 -3
  490. package/src/interfaces/controller-config.js.map +0 -1
  491. package/src/interfaces/create-user-basics.d.ts +0 -18
  492. package/src/interfaces/create-user-basics.d.ts.map +0 -1
  493. package/src/interfaces/create-user-basics.js +0 -3
  494. package/src/interfaces/create-user-basics.js.map +0 -1
  495. package/src/interfaces/csp-config.d.ts +0 -7
  496. package/src/interfaces/csp-config.d.ts.map +0 -1
  497. package/src/interfaces/csp-config.js +0 -13
  498. package/src/interfaces/csp-config.js.map +0 -1
  499. package/src/interfaces/csp-definition.d.ts +0 -13
  500. package/src/interfaces/csp-definition.d.ts.map +0 -1
  501. package/src/interfaces/csp-definition.js +0 -23
  502. package/src/interfaces/csp-definition.js.map +0 -1
  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.map +0 -1
  511. package/src/interfaces/discriminator-collections.js +0 -3
  512. package/src/interfaces/discriminator-collections.js.map +0 -1
  513. package/src/interfaces/email-service.d.ts +0 -4
  514. package/src/interfaces/email-service.d.ts.map +0 -1
  515. package/src/interfaces/email-service.js +0 -3
  516. package/src/interfaces/email-service.js.map +0 -1
  517. package/src/interfaces/environment-mongo.d.ts +0 -76
  518. package/src/interfaces/environment-mongo.d.ts.map +0 -1
  519. package/src/interfaces/environment-mongo.js +0 -3
  520. package/src/interfaces/environment-mongo.js.map +0 -1
  521. package/src/interfaces/environment.d.ts +0 -184
  522. package/src/interfaces/environment.d.ts.map +0 -1
  523. package/src/interfaces/environment.js +0 -3
  524. package/src/interfaces/environment.js.map +0 -1
  525. package/src/interfaces/failable-result.d.ts +0 -7
  526. package/src/interfaces/failable-result.d.ts.map +0 -1
  527. package/src/interfaces/failable-result.js +0 -3
  528. package/src/interfaces/failable-result.js.map +0 -1
  529. package/src/interfaces/fec-consts.d.ts +0 -5
  530. package/src/interfaces/fec-consts.d.ts.map +0 -1
  531. package/src/interfaces/fec-consts.js +0 -3
  532. package/src/interfaces/fec-consts.js.map +0 -1
  533. package/src/interfaces/flexible-csp.d.ts +0 -8
  534. package/src/interfaces/flexible-csp.d.ts.map +0 -1
  535. package/src/interfaces/flexible-csp.js +0 -14
  536. package/src/interfaces/flexible-csp.js.map +0 -1
  537. package/src/interfaces/handleable-error-options.d.ts +0 -7
  538. package/src/interfaces/handleable-error-options.d.ts.map +0 -1
  539. package/src/interfaces/handleable-error-options.js +0 -3
  540. package/src/interfaces/handleable-error-options.js.map +0 -1
  541. package/src/interfaces/index.d.ts.map +0 -1
  542. package/src/interfaces/index.js +0 -38
  543. package/src/interfaces/index.js.map +0 -1
  544. package/src/interfaces/jwt-consts.d.ts +0 -11
  545. package/src/interfaces/jwt-consts.d.ts.map +0 -1
  546. package/src/interfaces/jwt-consts.js +0 -3
  547. package/src/interfaces/jwt-consts.js.map +0 -1
  548. package/src/interfaces/jwt-sign-response.d.ts +0 -11
  549. package/src/interfaces/jwt-sign-response.d.ts.map +0 -1
  550. package/src/interfaces/jwt-sign-response.js +0 -3
  551. package/src/interfaces/jwt-sign-response.js.map +0 -1
  552. package/src/interfaces/models/email-token.d.ts.map +0 -1
  553. package/src/interfaces/models/email-token.js +0 -3
  554. package/src/interfaces/models/email-token.js.map +0 -1
  555. package/src/interfaces/models/index.d.ts.map +0 -1
  556. package/src/interfaces/models/index.js +0 -11
  557. package/src/interfaces/models/index.js.map +0 -1
  558. package/src/interfaces/models/mnemonic.d.ts.map +0 -1
  559. package/src/interfaces/models/mnemonic.js +0 -3
  560. package/src/interfaces/models/mnemonic.js.map +0 -1
  561. package/src/interfaces/models/role.d.ts.map +0 -1
  562. package/src/interfaces/models/role.js +0 -3
  563. package/src/interfaces/models/role.js.map +0 -1
  564. package/src/interfaces/models/token-role.d.ts.map +0 -1
  565. package/src/interfaces/models/token-role.js +0 -3
  566. package/src/interfaces/models/token-role.js.map +0 -1
  567. package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
  568. package/src/interfaces/models/used-direct-login-token.js +0 -3
  569. package/src/interfaces/models/used-direct-login-token.js.map +0 -1
  570. package/src/interfaces/models/user-role.d.ts.map +0 -1
  571. package/src/interfaces/models/user-role.js +0 -3
  572. package/src/interfaces/models/user-role.js.map +0 -1
  573. package/src/interfaces/models/user.d.ts.map +0 -1
  574. package/src/interfaces/models/user.js +0 -3
  575. package/src/interfaces/models/user.js.map +0 -1
  576. package/src/interfaces/mongo-errors.d.ts +0 -5
  577. package/src/interfaces/mongo-errors.d.ts.map +0 -1
  578. package/src/interfaces/mongo-errors.js +0 -3
  579. package/src/interfaces/mongo-errors.js.map +0 -1
  580. package/src/interfaces/request-user.d.ts +0 -58
  581. package/src/interfaces/request-user.d.ts.map +0 -1
  582. package/src/interfaces/request-user.js +0 -3
  583. package/src/interfaces/request-user.js.map +0 -1
  584. package/src/interfaces/required-string-keys.d.ts +0 -22
  585. package/src/interfaces/required-string-keys.d.ts.map +0 -1
  586. package/src/interfaces/required-string-keys.js +0 -3
  587. package/src/interfaces/required-string-keys.js.map +0 -1
  588. package/src/interfaces/schema.d.ts +0 -29
  589. package/src/interfaces/schema.d.ts.map +0 -1
  590. package/src/interfaces/schema.js +0 -3
  591. package/src/interfaces/schema.js.map +0 -1
  592. package/src/interfaces/server-init-result.d.ts +0 -36
  593. package/src/interfaces/server-init-result.d.ts.map +0 -1
  594. package/src/interfaces/server-init-result.js +0 -3
  595. package/src/interfaces/server-init-result.js.map +0 -1
  596. package/src/interfaces/status-code-response.d.ts +0 -7
  597. package/src/interfaces/status-code-response.d.ts.map +0 -1
  598. package/src/interfaces/status-code-response.js +0 -3
  599. package/src/interfaces/status-code-response.js.map +0 -1
  600. package/src/interfaces/test-environment.d.ts.map +0 -1
  601. package/src/interfaces/test-environment.js +0 -3
  602. package/src/interfaces/test-environment.js.map +0 -1
  603. package/src/interfaces/token-response.d.ts.map +0 -1
  604. package/src/interfaces/token-response.js +0 -3
  605. package/src/interfaces/token-response.js.map +0 -1
  606. package/src/middlewares/authenticate-crypto.d.ts +0 -10
  607. package/src/middlewares/authenticate-crypto.d.ts.map +0 -1
  608. package/src/middlewares/authenticate-crypto.js +0 -126
  609. package/src/middlewares/authenticate-crypto.js.map +0 -1
  610. package/src/middlewares/authenticate-token.d.ts +0 -21
  611. package/src/middlewares/authenticate-token.d.ts.map +0 -1
  612. package/src/middlewares/authenticate-token.js +0 -104
  613. package/src/middlewares/authenticate-token.js.map +0 -1
  614. package/src/middlewares/cleanup-crypto.d.ts +0 -7
  615. package/src/middlewares/cleanup-crypto.d.ts.map +0 -1
  616. package/src/middlewares/cleanup-crypto.js +0 -32
  617. package/src/middlewares/cleanup-crypto.js.map +0 -1
  618. package/src/middlewares/index.d.ts.map +0 -1
  619. package/src/middlewares/index.js +0 -8
  620. package/src/middlewares/index.js.map +0 -1
  621. package/src/middlewares/set-global-context-language.d.ts +0 -3
  622. package/src/middlewares/set-global-context-language.d.ts.map +0 -1
  623. package/src/middlewares/set-global-context-language.js +0 -14
  624. package/src/middlewares/set-global-context-language.js.map +0 -1
  625. package/src/middlewares.d.ts +0 -8
  626. package/src/middlewares.d.ts.map +0 -1
  627. package/src/middlewares.js +0 -89
  628. package/src/middlewares.js.map +0 -1
  629. package/src/model-registry.d.ts +0 -23
  630. package/src/model-registry.d.ts.map +0 -1
  631. package/src/model-registry.js +0 -47
  632. package/src/model-registry.js.map +0 -1
  633. package/src/models/email-token.d.ts.map +0 -1
  634. package/src/models/email-token.js +0 -11
  635. package/src/models/email-token.js.map +0 -1
  636. package/src/models/index.d.ts.map +0 -1
  637. package/src/models/index.js +0 -10
  638. package/src/models/index.js.map +0 -1
  639. package/src/models/mnemonic.d.ts.map +0 -1
  640. package/src/models/mnemonic.js +0 -11
  641. package/src/models/mnemonic.js.map +0 -1
  642. package/src/models/role.d.ts.map +0 -1
  643. package/src/models/role.js +0 -11
  644. package/src/models/role.js.map +0 -1
  645. package/src/models/used-direct-login-token.d.ts.map +0 -1
  646. package/src/models/used-direct-login-token.js +0 -11
  647. package/src/models/used-direct-login-token.js.map +0 -1
  648. package/src/models/user-role.d.ts.map +0 -1
  649. package/src/models/user-role.js +0 -10
  650. package/src/models/user-role.js.map +0 -1
  651. package/src/models/user.d.ts.map +0 -1
  652. package/src/models/user.js +0 -11
  653. package/src/models/user.js.map +0 -1
  654. package/src/pipeline/index.d.ts.map +0 -1
  655. package/src/pipeline/index.js +0 -5
  656. package/src/pipeline/index.js.map +0 -1
  657. package/src/pipeline/pipeline-builder.d.ts +0 -8
  658. package/src/pipeline/pipeline-builder.d.ts.map +0 -1
  659. package/src/pipeline/pipeline-builder.js +0 -18
  660. package/src/pipeline/pipeline-builder.js.map +0 -1
  661. package/src/plugins/index.d.ts.map +0 -1
  662. package/src/plugins/index.js +0 -6
  663. package/src/plugins/index.js.map +0 -1
  664. package/src/plugins/plugin-interface.d.ts +0 -8
  665. package/src/plugins/plugin-interface.d.ts.map +0 -1
  666. package/src/plugins/plugin-interface.js +0 -3
  667. package/src/plugins/plugin-interface.js.map +0 -1
  668. package/src/plugins/plugin-manager.d.ts +0 -12
  669. package/src/plugins/plugin-manager.d.ts.map +0 -1
  670. package/src/plugins/plugin-manager.js +0 -37
  671. package/src/plugins/plugin-manager.js.map +0 -1
  672. package/src/registry/email-service-registry.d.ts +0 -27
  673. package/src/registry/email-service-registry.d.ts.map +0 -1
  674. package/src/registry/email-service-registry.js +0 -42
  675. package/src/registry/email-service-registry.js.map +0 -1
  676. package/src/registry/index.d.ts.map +0 -1
  677. package/src/registry/index.js +0 -6
  678. package/src/registry/index.js.map +0 -1
  679. package/src/responses/index.d.ts.map +0 -1
  680. package/src/responses/index.js +0 -5
  681. package/src/responses/index.js.map +0 -1
  682. package/src/responses/response-builder.d.ts +0 -24
  683. package/src/responses/response-builder.d.ts.map +0 -1
  684. package/src/responses/response-builder.js +0 -63
  685. package/src/responses/response-builder.js.map +0 -1
  686. package/src/routers/api.d.ts +0 -28
  687. package/src/routers/api.d.ts.map +0 -1
  688. package/src/routers/api.js +0 -80
  689. package/src/routers/api.js.map +0 -1
  690. package/src/routers/app.d.ts +0 -32
  691. package/src/routers/app.d.ts.map +0 -1
  692. package/src/routers/app.js +0 -228
  693. package/src/routers/app.js.map +0 -1
  694. package/src/routers/base.d.ts +0 -8
  695. package/src/routers/base.d.ts.map +0 -1
  696. package/src/routers/base.js +0 -14
  697. package/src/routers/base.js.map +0 -1
  698. package/src/routers/index.d.ts.map +0 -1
  699. package/src/routers/index.js +0 -7
  700. package/src/routers/index.js.map +0 -1
  701. package/src/routers/router-config.d.ts +0 -18
  702. package/src/routers/router-config.d.ts.map +0 -1
  703. package/src/routers/router-config.js +0 -8
  704. package/src/routers/router-config.js.map +0 -1
  705. package/src/routing/index.d.ts +0 -2
  706. package/src/routing/index.d.ts.map +0 -1
  707. package/src/routing/index.js +0 -5
  708. package/src/routing/index.js.map +0 -1
  709. package/src/routing/route-builder.d.ts +0 -36
  710. package/src/routing/route-builder.d.ts.map +0 -1
  711. package/src/routing/route-builder.js +0 -86
  712. package/src/routing/route-builder.js.map +0 -1
  713. package/src/schemas/email-token.d.ts.map +0 -1
  714. package/src/schemas/email-token.js +0 -55
  715. package/src/schemas/email-token.js.map +0 -1
  716. package/src/schemas/index.d.ts.map +0 -1
  717. package/src/schemas/index.js +0 -11
  718. package/src/schemas/index.js.map +0 -1
  719. package/src/schemas/mnemonic.d.ts.map +0 -1
  720. package/src/schemas/mnemonic.js +0 -31
  721. package/src/schemas/mnemonic.js.map +0 -1
  722. package/src/schemas/role.d.ts.map +0 -1
  723. package/src/schemas/role.js +0 -88
  724. package/src/schemas/role.js.map +0 -1
  725. package/src/schemas/schema.d.ts +0 -42
  726. package/src/schemas/schema.d.ts.map +0 -1
  727. package/src/schemas/schema.js +0 -70
  728. package/src/schemas/schema.js.map +0 -1
  729. package/src/schemas/used-direct-login-token.d.ts.map +0 -1
  730. package/src/schemas/used-direct-login-token.js +0 -24
  731. package/src/schemas/used-direct-login-token.js.map +0 -1
  732. package/src/schemas/user-role.d.ts.map +0 -1
  733. package/src/schemas/user-role.js +0 -55
  734. package/src/schemas/user-role.js.map +0 -1
  735. package/src/schemas/user.d.ts.map +0 -1
  736. package/src/schemas/user.js +0 -194
  737. package/src/schemas/user.js.map +0 -1
  738. package/src/services/backup-code.d.ts +0 -76
  739. package/src/services/backup-code.d.ts.map +0 -1
  740. package/src/services/backup-code.js +0 -185
  741. package/src/services/backup-code.js.map +0 -1
  742. package/src/services/base.d.ts +0 -10
  743. package/src/services/base.d.ts.map +0 -1
  744. package/src/services/base.js +0 -15
  745. package/src/services/base.js.map +0 -1
  746. package/src/services/checksum.d.ts +0 -69
  747. package/src/services/checksum.d.ts.map +0 -1
  748. package/src/services/checksum.js +0 -145
  749. package/src/services/checksum.js.map +0 -1
  750. package/src/services/crc.d.ts +0 -87
  751. package/src/services/crc.d.ts.map +0 -1
  752. package/src/services/crc.js +0 -198
  753. package/src/services/crc.js.map +0 -1
  754. package/src/services/database-initialization.d.ts +0 -103
  755. package/src/services/database-initialization.d.ts.map +0 -1
  756. package/src/services/database-initialization.js +0 -817
  757. package/src/services/database-initialization.js.map +0 -1
  758. package/src/services/db-init-cache.d.ts.map +0 -1
  759. package/src/services/db-init-cache.js +0 -3
  760. package/src/services/db-init-cache.js.map +0 -1
  761. package/src/services/direct-login-token.d.ts +0 -6
  762. package/src/services/direct-login-token.d.ts.map +0 -1
  763. package/src/services/direct-login-token.js +0 -41
  764. package/src/services/direct-login-token.js.map +0 -1
  765. package/src/services/dummy-email-service.d.ts +0 -10
  766. package/src/services/dummy-email-service.d.ts.map +0 -1
  767. package/src/services/dummy-email-service.js +0 -16
  768. package/src/services/dummy-email-service.js.map +0 -1
  769. package/src/services/fec-usage-example.d.ts +0 -38
  770. package/src/services/fec-usage-example.d.ts.map +0 -1
  771. package/src/services/fec-usage-example.js +0 -75
  772. package/src/services/fec-usage-example.js.map +0 -1
  773. package/src/services/fec.d.ts +0 -46
  774. package/src/services/fec.d.ts.map +0 -1
  775. package/src/services/fec.js +0 -214
  776. package/src/services/fec.js.map +0 -1
  777. package/src/services/index.d.ts.map +0 -1
  778. package/src/services/index.js +0 -23
  779. package/src/services/index.js.map +0 -1
  780. package/src/services/jwt.d.ts +0 -30
  781. package/src/services/jwt.d.ts.map +0 -1
  782. package/src/services/jwt.js +0 -90
  783. package/src/services/jwt.js.map +0 -1
  784. package/src/services/key-wrapping.d.ts +0 -61
  785. package/src/services/key-wrapping.d.ts.map +0 -1
  786. package/src/services/key-wrapping.js +0 -310
  787. package/src/services/key-wrapping.js.map +0 -1
  788. package/src/services/mnemonic.d.ts +0 -61
  789. package/src/services/mnemonic.d.ts.map +0 -1
  790. package/src/services/mnemonic.js +0 -114
  791. package/src/services/mnemonic.js.map +0 -1
  792. package/src/services/request-user.d.ts +0 -23
  793. package/src/services/request-user.d.ts.map +0 -1
  794. package/src/services/request-user.js +0 -66
  795. package/src/services/request-user.js.map +0 -1
  796. package/src/services/role.d.ts +0 -86
  797. package/src/services/role.d.ts.map +0 -1
  798. package/src/services/role.js +0 -285
  799. package/src/services/role.js.map +0 -1
  800. package/src/services/symmetric.d.ts +0 -42
  801. package/src/services/symmetric.d.ts.map +0 -1
  802. package/src/services/symmetric.js +0 -101
  803. package/src/services/symmetric.js.map +0 -1
  804. package/src/services/system-user.d.ts +0 -17
  805. package/src/services/system-user.d.ts.map +0 -1
  806. package/src/services/system-user.js +0 -46
  807. package/src/services/system-user.js.map +0 -1
  808. package/src/services/user.d.ts +0 -349
  809. package/src/services/user.d.ts.map +0 -1
  810. package/src/services/user.js +0 -1452
  811. package/src/services/user.js.map +0 -1
  812. package/src/services/xor.d.ts +0 -24
  813. package/src/services/xor.d.ts.map +0 -1
  814. package/src/services/xor.js +0 -37
  815. package/src/services/xor.js.map +0 -1
  816. package/src/testing.d.ts +0 -3
  817. package/src/testing.d.ts.map +0 -1
  818. package/src/testing.js +0 -7
  819. package/src/testing.js.map +0 -1
  820. package/src/transactions/index.d.ts.map +0 -1
  821. package/src/transactions/index.js +0 -5
  822. package/src/transactions/index.js.map +0 -1
  823. package/src/transactions/transaction-manager.d.ts +0 -12
  824. package/src/transactions/transaction-manager.d.ts.map +0 -1
  825. package/src/transactions/transaction-manager.js +0 -30
  826. package/src/transactions/transaction-manager.js.map +0 -1
  827. package/src/types/app-config.d.ts.map +0 -1
  828. package/src/types/app-config.js +0 -3
  829. package/src/types/app-config.js.map +0 -1
  830. package/src/types/controller-config.d.ts.map +0 -1
  831. package/src/types/controller-config.js +0 -3
  832. package/src/types/controller-config.js.map +0 -1
  833. package/src/types/environment-variables.d.ts.map +0 -1
  834. package/src/types/environment-variables.js +0 -39
  835. package/src/types/environment-variables.js.map +0 -1
  836. package/src/types/id-converters.d.ts +0 -28
  837. package/src/types/id-converters.d.ts.map +0 -1
  838. package/src/types/id-converters.js +0 -45
  839. package/src/types/id-converters.js.map +0 -1
  840. package/src/types/index.d.ts.map +0 -1
  841. package/src/types/index.js +0 -6
  842. package/src/types/index.js.map +0 -1
  843. package/src/types/mongoose-helpers.d.ts.map +0 -1
  844. package/src/types/mongoose-helpers.js +0 -6
  845. package/src/types/mongoose-helpers.js.map +0 -1
  846. package/src/types.d.ts.map +0 -1
  847. package/src/types.js +0 -14
  848. package/src/types.js.map +0 -1
  849. package/src/utils.d.ts +0 -210
  850. package/src/utils.d.ts.map +0 -1
  851. package/src/utils.js +0 -819
  852. package/src/utils.js.map +0 -1
  853. package/src/validation/index.d.ts.map +0 -1
  854. package/src/validation/index.js +0 -5
  855. package/src/validation/index.js.map +0 -1
  856. package/src/validation/validation-builder.d.ts +0 -32
  857. package/src/validation/validation-builder.d.ts.map +0 -1
  858. package/src/validation/validation-builder.js +0 -81
  859. package/src/validation/validation-builder.js.map +0 -1
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MnemonicService = void 0;
4
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
5
- const crypto_1 = require("crypto");
6
- /**
7
- * Encrypts and stores mnemonics securely, using an HMAC to check for
8
- * uniqueness without exposing the mnemonic itself.
9
- */
10
- class MnemonicService {
11
- hmacSecret;
12
- MnemonicModel;
13
- constants;
14
- constructor(mnemonicModel, hmacSecret, constants) {
15
- this.MnemonicModel = mnemonicModel;
16
- // Immediately wrap secrets in secure containers
17
- this.hmacSecret = hmacSecret;
18
- this.constants = constants;
19
- }
20
- /**
21
- * Disposes of the secure secrets held by this service.
22
- */
23
- dispose() {
24
- this.hmacSecret.dispose();
25
- }
26
- /**
27
- * Creates a non-reversible HMAC of the mnemonic for fast, indexed lookups.
28
- * @param mnemonic The mnemonic to hash, wrapped in a SecureString.
29
- */
30
- getMnemonicHmac(mnemonic) {
31
- // Use the raw secret buffer for the HMAC
32
- return (0, crypto_1.createHmac)('sha256', this.hmacSecret.value)
33
- .update(mnemonic.valueAsUint8Array) // Use the raw buffer for consistency
34
- .digest('hex');
35
- }
36
- /**
37
- * Checks if a mnemonic already exists in the database using its HMAC.
38
- * @param mnemonic The mnemonic to check, wrapped in a SecureString.
39
- * @param session Optional Mongoose session for transaction support.
40
- */
41
- async mnemonicExists(mnemonic, session) {
42
- const hmac = this.getMnemonicHmac(mnemonic);
43
- const count = await this.MnemonicModel.countDocuments({ hmac }).session(session ?? null);
44
- return count > 0;
45
- }
46
- /**
47
- * Adds a new, unique mnemonic to the database with password-based key wrapping.
48
- * @param mnemonic The mnemonic to add, wrapped in a SecureString.
49
- * @param password User's password for key wrapping.
50
- * @param session Optional Mongoose session for transaction support.
51
- */
52
- async addMnemonicWithPassword(mnemonic, _password, session) {
53
- if (!mnemonic.value || !this.constants.MnemonicRegex.test(mnemonic.value)) {
54
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicRegex);
55
- }
56
- if (await this.mnemonicExists(mnemonic, session)) {
57
- return { document: null };
58
- }
59
- try {
60
- const hmac = this.getMnemonicHmac(mnemonic);
61
- const [newDoc] = await this.MnemonicModel.create([
62
- {
63
- hmac: hmac,
64
- },
65
- ], { session });
66
- return { document: newDoc };
67
- }
68
- finally {
69
- // nothing to dispose
70
- }
71
- }
72
- /**
73
- * Adds a new, unique mnemonic to the database.
74
- * @param mnemonic The mnemonic to add, wrapped in a SecureString.
75
- * @param session Optional Mongoose session for transaction support.
76
- */
77
- async addMnemonic(mnemonic, session) {
78
- if (!mnemonic.value || !this.constants.MnemonicRegex.test(mnemonic.value)) {
79
- throw new suite_core_lib_1.TranslatableSuiteError(suite_core_lib_1.SuiteCoreStringKey.Validation_MnemonicRegex);
80
- }
81
- if (await this.mnemonicExists(mnemonic, session)) {
82
- return null;
83
- }
84
- const hmac = this.getMnemonicHmac(mnemonic);
85
- const [newDoc] = await this.MnemonicModel.create([
86
- {
87
- hmac: hmac,
88
- },
89
- ], { session });
90
- return newDoc;
91
- }
92
- /**
93
- * Retrieves a mnemonic document by ID.
94
- * @param mnemonicId The ID of the mnemonic document.
95
- * @param session Optional Mongoose session for transaction support.
96
- */
97
- async getMnemonicDocument(mnemonicId, session) {
98
- return await this.MnemonicModel.findById(mnemonicId).session(session ?? null);
99
- }
100
- /**
101
- * Decrypts a mnemonic from a document using the service's master encryption key.
102
- * @param doc The mnemonic document.
103
- */
104
- /**
105
- * Deletes a mnemonic document by ID.
106
- * @param mnemonicId The ID of the mnemonic document.
107
- * @param session Optional Mongoose session for transaction support.
108
- */
109
- async deleteMnemonicDocument(mnemonicId, session) {
110
- await this.MnemonicModel.findByIdAndDelete(mnemonicId).session(session ?? null);
111
- }
112
- }
113
- exports.MnemonicService = MnemonicService;
114
- //# sourceMappingURL=mnemonic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mnemonic.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import { IRequestUserDTO, ITokenRole } from '@digitaldefiance/suite-core-lib';
2
- import { Types } from '@digitaldefiance/mongoose-types';
3
- import { IUserDocument } from '../documents';
4
- import { IRequestUserBackendObject } from '../interfaces/backend-objects/request-user';
5
- export declare class RequestUserService<I extends string | Types.ObjectId, TTokenRole extends ITokenRole<I>> {
6
- /**
7
- * Given a user document and an array of role documents, create the IRequestUser
8
- * @param userDoc
9
- * @returns
10
- */
11
- static makeRequestUserDTO<I extends string | Types.ObjectId, S extends string, TTokenRole extends ITokenRole<I>, TRequestUserDTO extends IRequestUserDTO>(userDoc: IUserDocument<S, I> | (Pick<IUserDocument<S, I>, keyof IUserDocument<S, I>> & {
12
- _id: any;
13
- }), roles: TTokenRole[]): TRequestUserDTO;
14
- /**
15
- * Given a request user, reconstitute dates, objectids, and enums
16
- * @param requestUser a RequestUser DTO
17
- * @returns An IRequestUserBackendObject
18
- */
19
- static hydrateRequestUser<I extends string | Types.ObjectId, S extends string, TRequestUserDTO extends IRequestUserDTO & {
20
- siteLanguage: S;
21
- }>(requestUser: TRequestUserDTO, idConverter?: (id: string) => I): IRequestUserBackendObject<S, I>;
22
- }
23
- //# sourceMappingURL=request-user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-user.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/request-user.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAIvF,qBAAa,kBAAkB,CAC7B,CAAC,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,EACjC,UAAU,SAAS,UAAU,CAAC,CAAC,CAAC;IAEhC;;;;OAIG;WACW,kBAAkB,CAC9B,CAAC,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,EACjC,CAAC,SAAS,MAAM,EAChB,UAAU,SAAS,UAAU,CAAC,CAAC,CAAC,EAChC,eAAe,SAAS,eAAe,EAEvC,OAAO,EACH,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,KAAK,EAAE,UAAU,EAAE,GAClB,eAAe;IA6BlB;;;;OAIG;WACW,kBAAkB,CAC9B,CAAC,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,EACjC,CAAC,SAAS,MAAM,EAChB,eAAe,SAAS,eAAe,GAAG;QAAE,YAAY,EAAE,CAAC,CAAA;KAAE,EAE7D,WAAW,EAAE,eAAe,EAC5B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAC9B,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC;CA2BnC"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RequestUserService = void 0;
4
- const id_converters_1 = require("../types/id-converters");
5
- const role_1 = require("./role");
6
- class RequestUserService {
7
- /**
8
- * Given a user document and an array of role documents, create the IRequestUser
9
- * @param userDoc
10
- * @returns
11
- */
12
- static makeRequestUserDTO(userDoc, roles) {
13
- if (!userDoc._id) {
14
- throw new Error('User document is missing _id');
15
- }
16
- // Calculate combined role privileges across all roles
17
- const rolePrivileges = {
18
- admin: roles.some((r) => r.admin),
19
- member: roles.some((r) => r.member),
20
- child: roles.some((r) => r.child),
21
- system: roles.some((r) => r.system),
22
- };
23
- return {
24
- id: userDoc._id.toString(),
25
- email: userDoc.email,
26
- roles: roles.map((r) => role_1.RoleService.roleToRoleDTO(r)),
27
- rolePrivileges,
28
- username: userDoc.username,
29
- timezone: userDoc.timezone,
30
- currency: userDoc.currency,
31
- directChallenge: userDoc.directChallenge,
32
- emailVerified: userDoc.emailVerified,
33
- darkMode: userDoc.darkMode,
34
- siteLanguage: userDoc.siteLanguage,
35
- ...(userDoc.lastLogin && { lastLogin: userDoc.lastLogin.toString() }),
36
- };
37
- }
38
- /**
39
- * Given a request user, reconstitute dates, objectids, and enums
40
- * @param requestUser a RequestUser DTO
41
- * @returns An IRequestUserBackendObject
42
- */
43
- static hydrateRequestUser(requestUser, idConverter) {
44
- const convert = idConverter ?? ((id) => (0, id_converters_1.convertStringToGenericId)(id));
45
- const hydratedRoles = requestUser.roles.map((role) => role_1.RoleService.hydrateRoleDTOToBackend(role, convert));
46
- const hydratedUser = {
47
- id: convert(requestUser.id),
48
- email: requestUser.email,
49
- roles: hydratedRoles,
50
- rolePrivileges: requestUser.rolePrivileges,
51
- username: requestUser.username,
52
- timezone: requestUser.timezone,
53
- currency: requestUser.currency,
54
- directChallenge: requestUser.directChallenge,
55
- emailVerified: requestUser.emailVerified,
56
- darkMode: requestUser.darkMode,
57
- siteLanguage: requestUser.siteLanguage,
58
- };
59
- if (requestUser.lastLogin) {
60
- hydratedUser.lastLogin = new Date(requestUser.lastLogin);
61
- }
62
- return hydratedUser;
63
- }
64
- }
65
- exports.RequestUserService = RequestUserService;
66
- //# sourceMappingURL=request-user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-user.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/request-user.ts"],"names":[],"mappings":";;;AAQA,0DAAkE;AAClE,iCAAqC;AAErC,MAAa,kBAAkB;IAI7B;;;;OAIG;IACI,MAAM,CAAC,kBAAkB,CAM9B,OAEyE,EACzE,KAAmB;QAEnB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,sDAAsD;QACtD,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACnC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpC,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACrD,cAAc;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAsB;YAC5C,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;SACnD,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,kBAAkB,CAK9B,WAA4B,EAC5B,WAA+B;QAE/B,MAAM,OAAO,GACX,WAAW,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAA,wCAAwB,EAAI,EAAE,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,CAC7D,kBAAW,CAAC,uBAAuB,CAAI,IAAI,EAAE,OAAO,CAAC,CACtD,CAAC;QAEF,MAAM,YAAY,GAAoC;YACpD,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,aAAa;YACpB,cAAc,EAAE,WAAW,CAAC,cAAc;YAC1C,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;SACvC,CAAC;QAEF,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;YAC1B,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAvFD,gDAuFC"}
@@ -1,86 +0,0 @@
1
- import { MemberType } from '@digitaldefiance/ecies-lib';
2
- import { IRoleBase, ITokenRole, ITokenRoleDTO, Role } from '@digitaldefiance/suite-core-lib';
3
- import { ClientSession, Types } from '@digitaldefiance/mongoose-types';
4
- import { IUserDocument } from '../documents';
5
- import { IRoleDocument } from '../documents/role';
6
- import { IUserRoleDocument } from '../documents/user-role';
7
- import { IApplication } from '../interfaces/application';
8
- import { IRoleBackendObject } from '../interfaces/backend-objects/role';
9
- import { BaseService } from './base';
10
- /**
11
- * Service for managing roles
12
- */
13
- export declare class RoleService<I extends string | Types.ObjectId = Types.ObjectId, D extends Date = Date, TTokenRole extends ITokenRole<I, D> = ITokenRole<I, D>> extends BaseService {
14
- /**
15
- * Constructor for the role service
16
- * @param application The application object
17
- */
18
- constructor(application: IApplication);
19
- static roleToRoleDTO<I extends string | Types.ObjectId = Types.ObjectId, D extends Date = Date>(role: ITokenRole<I, D> | IRoleDocument<I> | Partial<IRoleBase<I>>): ITokenRoleDTO;
20
- /**
21
- * Given a Role DTO, reconstitute ids and dates
22
- * @param role The Role DTO
23
- * @returns An IRoleBackendObject
24
- */
25
- static hydrateRoleDTOToBackend<I extends string | Types.ObjectId = Types.ObjectId>(role: ITokenRoleDTO, idConverter?: (id: string) => I): IRoleBackendObject<I>;
26
- /**
27
- * Gets the role ID by name
28
- * @param roleName The name of the role
29
- * @returns The role ID or null if not found
30
- */
31
- getRoleIdByName(roleName: Role, session?: ClientSession): Promise<I | null>;
32
- /**
33
- * Creates a new role
34
- * @param roleData The role data
35
- * @param session Optional mongoose session
36
- * @returns The created role document
37
- */
38
- createRole(roleData: IRoleBase<I, D, Role>, session?: ClientSession | null): Promise<IRoleDocument<I>>;
39
- /**
40
- * Adds a user to a role
41
- * @param roleId - The role id
42
- * @param userId - The user id
43
- * @param createdBy - The user creating the relationship
44
- * @param session Optional mongoose session
45
- */
46
- addUserToRole(roleId: I, userId: I, createdBy: I, session?: ClientSession, overrideId?: I): Promise<IUserRoleDocument<I>>;
47
- /**
48
- * Removes a user from a role
49
- * @param roleId - The role id
50
- * @param userId - The user id
51
- * @param deletedBy - The user removing the relationship
52
- * @param session Optional mongoose session
53
- * @throws LastAdminError if attempting to remove the last admin
54
- */
55
- removeUserFromRole(roleId: I, userId: I, deletedBy: I, session?: ClientSession): Promise<void>;
56
- /**
57
- * Deletes a role by ID
58
- * @param roleId The role ID
59
- * @param deleter The ID of the user deleting the role
60
- * @param hardDelete Whether to hard delete the role
61
- * @param session Optional mongoose session
62
- */
63
- deleteRole(roleId: I, deleter: I, hardDelete: boolean, session?: ClientSession): Promise<void>;
64
- /**
65
- * Gets all roles for a user
66
- * @param userId The user ID
67
- * @param session Optional mongoose session
68
- * @returns The roles the user is a member of
69
- */
70
- getUserRoles(userId: I, session?: ClientSession): Promise<IRoleDocument<I>[]>;
71
- /**
72
- * Gets all users for a role
73
- * @param roleId The role ID
74
- * @param session Optional mongoose session
75
- * @returns The user IDs that are members of the role
76
- */
77
- getRoleUsers(roleId: I, session?: ClientSession): Promise<I[]>;
78
- /** Convert roles to translated TokenRoles */
79
- rolesToTokenRoles(roles: Array<IRoleBackendObject<I>>, overrideLanguage?: string): Array<TTokenRole>;
80
- isUserAdmin(userDoc: IUserDocument<string, I>, session?: ClientSession, providedRoles?: Array<IRoleDocument<I>>): Promise<boolean>;
81
- isUserMember(userDoc: IUserDocument<string, I>, session?: ClientSession, providedRoles?: Array<IRoleDocument<I>>): Promise<boolean>;
82
- isUserChild(userDoc: IUserDocument<string, I>, session?: ClientSession, providedRoles?: Array<IRoleDocument<I>>): Promise<boolean>;
83
- isSystemUser(userDoc: IUserDocument<string, I>, session?: ClientSession, providedRoles?: Array<IRoleDocument<I>>): Promise<boolean>;
84
- getMemberType(userDoc: IUserDocument<string, I>, session?: ClientSession, providedRoles?: Array<IRoleDocument<I>>): Promise<MemberType>;
85
- }
86
- //# sourceMappingURL=role.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/role.ts"],"names":[],"mappings":"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"}
@@ -1,285 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RoleService = void 0;
4
- const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
- const i18n_lib_1 = require("@digitaldefiance/i18n-lib");
6
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
7
- const mongoose_types_1 = require("@digitaldefiance/mongoose-types");
8
- const base_model_name_1 = require("../enumerations/base-model-name");
9
- const model_registry_1 = require("../model-registry");
10
- const id_converters_1 = require("../types/id-converters");
11
- const utils_1 = require("../utils");
12
- const base_1 = require("./base");
13
- /**
14
- * Service for managing roles
15
- */
16
- class RoleService extends base_1.BaseService {
17
- /**
18
- * Constructor for the role service
19
- * @param application The application object
20
- */
21
- constructor(application) {
22
- super(application);
23
- }
24
- static roleToRoleDTO(role) {
25
- const roleObj = role instanceof mongoose_types_1.Document ? role.toObject() : role;
26
- return {
27
- _id: (role._id instanceof mongoose_types_1.Types.ObjectId
28
- ? role._id.toString()
29
- : role._id),
30
- name: roleObj.name,
31
- admin: roleObj.admin ?? false,
32
- member: roleObj.member ?? false,
33
- child: roleObj.child ?? false,
34
- system: roleObj.system ?? false,
35
- translatedName: 'translatedName' in role ? role.translatedName : role.name,
36
- createdAt: (roleObj.createdAt instanceof Date
37
- ? roleObj.createdAt.toISOString()
38
- : roleObj.createdAt),
39
- createdBy: (role.createdBy instanceof mongoose_types_1.Types.ObjectId
40
- ? role.createdBy.toString()
41
- : role.createdBy),
42
- updatedAt: (roleObj.updatedAt instanceof Date
43
- ? roleObj.updatedAt.toISOString()
44
- : roleObj.updatedAt),
45
- updatedBy: (role.updatedBy instanceof mongoose_types_1.Types.ObjectId
46
- ? role.updatedBy.toString()
47
- : role.updatedBy),
48
- ...(roleObj.deletedAt
49
- ? {
50
- deletedAt: (roleObj.deletedAt instanceof Date
51
- ? roleObj.deletedAt.toISOString()
52
- : roleObj.deletedAt),
53
- }
54
- : {}),
55
- ...(role.deletedBy
56
- ? {
57
- deletedBy: (role.deletedBy instanceof mongoose_types_1.Types.ObjectId
58
- ? role.deletedBy.toString()
59
- : role.deletedBy),
60
- }
61
- : {}),
62
- };
63
- }
64
- /**
65
- * Given a Role DTO, reconstitute ids and dates
66
- * @param role The Role DTO
67
- * @returns An IRoleBackendObject
68
- */
69
- static hydrateRoleDTOToBackend(role, idConverter) {
70
- const convert = idConverter ?? ((id) => (0, id_converters_1.convertStringToGenericId)(id));
71
- return {
72
- ...(0, utils_1.omit)(role, [
73
- 'translatedName',
74
- ]),
75
- _id: convert(role._id),
76
- name: role.name,
77
- createdAt: new Date(role.createdAt),
78
- createdBy: convert(role.createdBy),
79
- updatedAt: new Date(role.updatedAt),
80
- updatedBy: convert(role.updatedBy),
81
- ...(role.deletedAt ? { deletedAt: new Date(role.deletedAt) } : {}),
82
- ...(role.deletedBy
83
- ? {
84
- deletedBy: convert(role.deletedBy),
85
- }
86
- : {}),
87
- };
88
- }
89
- /**
90
- * Gets the role ID by name
91
- * @param roleName The name of the role
92
- * @returns The role ID or null if not found
93
- */
94
- async getRoleIdByName(roleName, session) {
95
- const RoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.Role).model;
96
- const role = await RoleModel.findOne({ name: roleName }, undefined, {
97
- session,
98
- }).select('_id');
99
- if (!role) {
100
- return null;
101
- }
102
- return role._id;
103
- }
104
- /**
105
- * Creates a new role
106
- * @param roleData The role data
107
- * @param session Optional mongoose session
108
- * @returns The created role document
109
- */
110
- async createRole(roleData, session) {
111
- const RoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.Role).model;
112
- const role = new RoleModel(roleData);
113
- const savedRole = await role.save(session ? { session } : {});
114
- return savedRole;
115
- }
116
- /**
117
- * Adds a user to a role
118
- * @param roleId - The role id
119
- * @param userId - The user id
120
- * @param createdBy - The user creating the relationship
121
- * @param session Optional mongoose session
122
- */
123
- async addUserToRole(roleId, userId, createdBy, session, overrideId) {
124
- const UserRoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.UserRole).model;
125
- // Check if the user-role relationship already exists (and is not deleted)
126
- const existingUserRole = await UserRoleModel.findOne({
127
- userId,
128
- roleId,
129
- deletedAt: { $exists: false },
130
- }).session(session ?? null);
131
- if (existingUserRole) {
132
- // Relationship already exists, no need to create it again
133
- return existingUserRole;
134
- }
135
- const userRole = new UserRoleModel({
136
- ...(overrideId ? { _id: overrideId } : {}),
137
- userId,
138
- roleId,
139
- createdBy,
140
- updatedBy: createdBy,
141
- });
142
- const result = await userRole.save({ session });
143
- return result;
144
- }
145
- /**
146
- * Removes a user from a role
147
- * @param roleId - The role id
148
- * @param userId - The user id
149
- * @param deletedBy - The user removing the relationship
150
- * @param session Optional mongoose session
151
- * @throws LastAdminError if attempting to remove the last admin
152
- */
153
- async removeUserFromRole(roleId, userId, deletedBy, session) {
154
- const RoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.Role).model;
155
- const UserRoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.UserRole).model;
156
- const role = await RoleModel.findById(roleId).session(session ?? null);
157
- if (role?.admin) {
158
- const adminCount = await UserRoleModel.countDocuments({
159
- roleId,
160
- deletedAt: { $exists: false },
161
- }).session(session ?? null);
162
- if (adminCount <= 1) {
163
- throw new suite_core_lib_1.LastAdminError();
164
- }
165
- }
166
- await UserRoleModel.findOneAndUpdate({ userId, roleId, deletedAt: { $exists: false } }, { deletedAt: new Date(), deletedBy }, { session });
167
- }
168
- /**
169
- * Deletes a role by ID
170
- * @param roleId The role ID
171
- * @param deleter The ID of the user deleting the role
172
- * @param hardDelete Whether to hard delete the role
173
- * @param session Optional mongoose session
174
- */
175
- async deleteRole(roleId, deleter, hardDelete, session) {
176
- const RoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.Role).model;
177
- if (hardDelete) {
178
- await RoleModel.findByIdAndDelete(roleId).session(session ?? null);
179
- }
180
- else {
181
- await RoleModel.findByIdAndUpdate(roleId, {
182
- deletedAt: new Date(),
183
- deletedBy: deleter,
184
- }).session(session ?? null);
185
- }
186
- }
187
- /**
188
- * Gets all roles for a user
189
- * @param userId The user ID
190
- * @param session Optional mongoose session
191
- * @returns The roles the user is a member of
192
- */
193
- async getUserRoles(userId, session) {
194
- const UserRoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.UserRole).model;
195
- const RoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.Role).model;
196
- if (!UserRoleModel || !RoleModel)
197
- throw new Error('Model not registered');
198
- // Return full documents
199
- const userRoles = await UserRoleModel.find({
200
- userId,
201
- deletedAt: { $exists: false },
202
- })
203
- .select('roleId')
204
- .session(session ?? null);
205
- const roleIds = userRoles.map((ur) => ur.roleId);
206
- return (await RoleModel.find({
207
- _id: { $in: roleIds },
208
- deletedAt: { $exists: false },
209
- }).session(session ?? null));
210
- }
211
- /**
212
- * Gets all users for a role
213
- * @param roleId The role ID
214
- * @param session Optional mongoose session
215
- * @returns The user IDs that are members of the role
216
- */
217
- async getRoleUsers(roleId, session) {
218
- const UserRoleModel = model_registry_1.ModelRegistry.instance.get(base_model_name_1.BaseModelName.UserRole).model;
219
- // Return full documents
220
- const userRoles = await UserRoleModel.find({
221
- roleId,
222
- deletedAt: { $exists: false },
223
- })
224
- .select('userId')
225
- .session(session ?? null);
226
- return userRoles.map((ur) => ur.userId);
227
- }
228
- /** Convert roles to translated TokenRoles */
229
- rolesToTokenRoles(roles, overrideLanguage) {
230
- return roles.map((role) => {
231
- const engine = i18n_lib_1.I18nEngine.getInstance('default');
232
- const userLang = i18n_lib_1.GlobalActiveContext.getInstance().userLanguage;
233
- const lang = (overrideLanguage || userLang || 'en-US');
234
- const roleTranslation = engine.translateEnum(suite_core_lib_1.Role, role.name, lang);
235
- // Convert Mongoose document to plain object if needed
236
- const roleObj = role instanceof mongoose_types_1.Document ? role.toObject() : role;
237
- return {
238
- ...roleObj,
239
- translatedName: roleTranslation,
240
- };
241
- });
242
- }
243
- async isUserAdmin(userDoc, session, providedRoles) {
244
- const roles = providedRoles ?? (await this.getUserRoles(userDoc._id, session));
245
- if (roles.filter((r) => r.admin).length > 0) {
246
- return true;
247
- }
248
- return false;
249
- }
250
- async isUserMember(userDoc, session, providedRoles) {
251
- const roles = providedRoles ?? (await this.getUserRoles(userDoc._id, session));
252
- if (roles.filter((r) => r.member).length > 0) {
253
- return true;
254
- }
255
- return false;
256
- }
257
- async isUserChild(userDoc, session, providedRoles) {
258
- const roles = providedRoles ?? (await this.getUserRoles(userDoc._id, session));
259
- if (roles.filter((r) => r.child).length > 0) {
260
- return true;
261
- }
262
- return false;
263
- }
264
- async isSystemUser(userDoc, session, providedRoles) {
265
- const roles = providedRoles ?? (await this.getUserRoles(userDoc._id, session));
266
- return roles.some((r) => r.system);
267
- }
268
- async getMemberType(userDoc, session, providedRoles) {
269
- const roles = providedRoles ?? (await this.getUserRoles(userDoc._id, session));
270
- if (await this.isSystemUser(userDoc, session, roles)) {
271
- return ecies_lib_1.MemberType.System;
272
- }
273
- else if (await this.isUserAdmin(userDoc, session, roles)) {
274
- return ecies_lib_1.MemberType.Admin;
275
- }
276
- else if (await this.isUserMember(userDoc, session, roles)) {
277
- return ecies_lib_1.MemberType.User;
278
- }
279
- else {
280
- return ecies_lib_1.MemberType.Anonymous;
281
- }
282
- }
283
- }
284
- exports.RoleService = RoleService;
285
- //# sourceMappingURL=role.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/role.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { IECIESConstants } from '@digitaldefiance/ecies-lib';
2
- import { ISymmetricEncryptionResults } from '../interfaces/symmetric-encryption-results';
3
- /**
4
- * Service for handling symmetric encryption operations.
5
- * This service provides functionality for:
6
- * - AES encryption/decryption of buffers and JSON data
7
- * - Key and IV generation
8
- * - Secure cryptographic operations
9
- */
10
- export declare class SymmetricService {
11
- static symmetricKeyBits(eciesConstants?: IECIESConstants): number;
12
- static symmetricKeyBytes(eciesConstants?: IECIESConstants): number;
13
- /**
14
- * Encrypt data with AES
15
- * @param data The data to encrypt
16
- * @param encryptionKey Optional encryption key (will be randomly generated if not provided)
17
- * @returns Object containing encrypted data and key
18
- */
19
- static encryptBuffer(data: Buffer, encryptionKey?: Buffer, eciesConstants?: IECIESConstants): ISymmetricEncryptionResults;
20
- /**
21
- * Decrypt the given buffer with AES
22
- * @param encryptedData The encrypted data to decrypt
23
- * @param key The key to use for decryption
24
- * @returns Decrypted data as a Buffer
25
- */
26
- static decryptBuffer(encryptedData: Buffer, key: Buffer, eciesConstants?: IECIESConstants): Buffer;
27
- /**
28
- * Encrypt JSON data with AES
29
- * @param data The data to encrypt
30
- * @param encryptionKey Optional encryption key (will be randomly generated if not provided)
31
- * @returns Object containing encrypted data and key
32
- */
33
- static encryptJson<T>(data: T, encryptionKey?: Buffer): ISymmetricEncryptionResults;
34
- /**
35
- * Decrypt the given buffer with AES and parse as JSON
36
- * @param encryptedData The encrypted data to decrypt
37
- * @param key The key to use for decryption
38
- * @returns Decrypted data parsed as type T
39
- */
40
- static decryptJson<T>(encryptedData: Buffer, key: Buffer): T;
41
- }
42
- //# sourceMappingURL=symmetric.d.ts.map