@digitaldefiance/node-express-suite 4.22.2 → 4.23.1

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 (441) hide show
  1. package/README.md +173 -407
  2. package/package.json +1 -5
  3. package/src/__tests__/fixtures/index.d.ts +1 -1
  4. package/src/__tests__/fixtures/index.d.ts.map +1 -1
  5. package/src/__tests__/fixtures/index.js +1 -2
  6. package/src/__tests__/fixtures/index.js.map +1 -1
  7. package/src/__tests__/helpers/index.d.ts +1 -3
  8. package/src/__tests__/helpers/index.d.ts.map +1 -1
  9. package/src/__tests__/helpers/index.js +1 -4
  10. package/src/__tests__/helpers/index.js.map +1 -1
  11. package/src/__tests__/index.d.ts.map +1 -1
  12. package/src/__tests__/index.js +1 -0
  13. package/src/__tests__/index.js.map +1 -1
  14. package/src/application.d.ts +8 -11
  15. package/src/application.d.ts.map +1 -1
  16. package/src/application.js +8 -17
  17. package/src/application.js.map +1 -1
  18. package/src/branded-responses/branded-api-responses.d.ts +10 -2
  19. package/src/branded-responses/branded-api-responses.d.ts.map +1 -1
  20. package/src/branded-responses/branded-api-responses.js +5 -0
  21. package/src/branded-responses/branded-api-responses.js.map +1 -1
  22. package/src/branded-responses/serializers.d.ts +4 -1
  23. package/src/branded-responses/serializers.d.ts.map +1 -1
  24. package/src/builders/index.d.ts +1 -1
  25. package/src/builders/index.d.ts.map +1 -1
  26. package/src/builders/index.js +1 -2
  27. package/src/builders/index.js.map +1 -1
  28. package/src/controllers/base.d.ts +5 -18
  29. package/src/controllers/base.d.ts.map +1 -1
  30. package/src/controllers/base.js +7 -62
  31. package/src/controllers/base.js.map +1 -1
  32. package/src/controllers/index.d.ts +1 -1
  33. package/src/controllers/index.d.ts.map +1 -1
  34. package/src/controllers/index.js +2 -1
  35. package/src/controllers/index.js.map +1 -1
  36. package/src/controllers/openapi.d.ts +3 -3
  37. package/src/controllers/openapi.d.ts.map +1 -1
  38. package/src/controllers/openapi.js.map +1 -1
  39. package/src/enumerations/index.d.ts +0 -2
  40. package/src/enumerations/index.d.ts.map +1 -1
  41. package/src/enumerations/index.js +0 -2
  42. package/src/enumerations/index.js.map +1 -1
  43. package/src/environment.d.ts +4 -3
  44. package/src/environment.d.ts.map +1 -1
  45. package/src/environment.js +3 -1
  46. package/src/environment.js.map +1 -1
  47. package/src/errors/index.d.ts +0 -3
  48. package/src/errors/index.d.ts.map +1 -1
  49. package/src/errors/index.js +0 -3
  50. package/src/errors/index.js.map +1 -1
  51. package/src/index.d.ts +1 -8
  52. package/src/index.d.ts.map +1 -1
  53. package/src/index.js +1 -11
  54. package/src/index.js.map +1 -1
  55. package/src/interfaces/controller-config.d.ts +1 -2
  56. package/src/interfaces/controller-config.d.ts.map +1 -1
  57. package/src/interfaces/document-store.d.ts +3 -2
  58. package/src/interfaces/document-store.d.ts.map +1 -1
  59. package/src/interfaces/document-store.js +3 -3
  60. package/src/interfaces/document-store.js.map +1 -1
  61. package/src/interfaces/documents/base.d.ts +24 -0
  62. package/src/interfaces/documents/base.d.ts.map +1 -0
  63. package/src/interfaces/documents/base.js +13 -0
  64. package/src/interfaces/documents/base.js.map +1 -0
  65. package/src/interfaces/documents/email-token.d.ts +15 -0
  66. package/src/interfaces/documents/email-token.d.ts.map +1 -0
  67. package/src/interfaces/documents/email-token.js +7 -0
  68. package/src/interfaces/{models → documents}/email-token.js.map +1 -1
  69. package/src/interfaces/documents/index.d.ts +25 -0
  70. package/src/interfaces/documents/index.d.ts.map +1 -0
  71. package/src/interfaces/documents/index.js +20 -0
  72. package/src/interfaces/documents/index.js.map +1 -0
  73. package/src/interfaces/documents/mnemonic.d.ts +15 -0
  74. package/src/interfaces/documents/mnemonic.d.ts.map +1 -0
  75. package/src/interfaces/documents/mnemonic.js +7 -0
  76. package/src/interfaces/{models → documents}/mnemonic.js.map +1 -1
  77. package/src/interfaces/documents/role.d.ts +15 -0
  78. package/src/interfaces/documents/role.d.ts.map +1 -0
  79. package/src/interfaces/documents/role.js +7 -0
  80. package/src/interfaces/{models → documents}/role.js.map +1 -1
  81. package/src/interfaces/documents/used-direct-login-token.d.ts +15 -0
  82. package/src/interfaces/documents/used-direct-login-token.d.ts.map +1 -0
  83. package/src/interfaces/documents/used-direct-login-token.js +7 -0
  84. package/src/interfaces/{models → documents}/used-direct-login-token.js.map +1 -1
  85. package/src/interfaces/documents/user-role.d.ts +15 -0
  86. package/src/interfaces/documents/user-role.d.ts.map +1 -0
  87. package/src/interfaces/documents/user-role.js +7 -0
  88. package/src/interfaces/{models → documents}/user-role.js.map +1 -1
  89. package/src/interfaces/documents/user.d.ts +16 -0
  90. package/src/interfaces/documents/user.d.ts.map +1 -0
  91. package/src/interfaces/documents/user.js +7 -0
  92. package/src/interfaces/{models → documents}/user.js.map +1 -1
  93. package/src/interfaces/environment.d.ts +3 -2
  94. package/src/interfaces/environment.d.ts.map +1 -1
  95. package/src/interfaces/index.d.ts +3 -10
  96. package/src/interfaces/index.d.ts.map +1 -1
  97. package/src/interfaces/index.js +3 -10
  98. package/src/interfaces/index.js.map +1 -1
  99. package/src/interfaces/jwt-service.d.ts +27 -0
  100. package/src/interfaces/jwt-service.d.ts.map +1 -0
  101. package/src/interfaces/jwt-service.js +10 -0
  102. package/src/interfaces/jwt-service.js.map +1 -0
  103. package/src/interfaces/role-service.d.ts +55 -0
  104. package/src/interfaces/role-service.d.ts.map +1 -0
  105. package/src/interfaces/role-service.js +10 -0
  106. package/src/interfaces/role-service.js.map +1 -0
  107. package/src/interfaces/server-init-result.d.ts +10 -18
  108. package/src/interfaces/server-init-result.d.ts.map +1 -1
  109. package/src/interfaces/server-init-result.js +4 -2
  110. package/src/interfaces/server-init-result.js.map +1 -1
  111. package/src/plugins/database-plugin.d.ts +12 -0
  112. package/src/plugins/database-plugin.d.ts.map +1 -1
  113. package/src/plugins/index.d.ts +0 -1
  114. package/src/plugins/index.d.ts.map +1 -1
  115. package/src/plugins/index.js +0 -1
  116. package/src/plugins/index.js.map +1 -1
  117. package/src/routers/index.d.ts +0 -1
  118. package/src/routers/index.d.ts.map +1 -1
  119. package/src/routers/index.js +0 -1
  120. package/src/routers/index.js.map +1 -1
  121. package/src/services/abstract-jwt-service.d.ts +34 -0
  122. package/src/services/abstract-jwt-service.d.ts.map +1 -0
  123. package/src/services/abstract-jwt-service.js +68 -0
  124. package/src/services/abstract-jwt-service.js.map +1 -0
  125. package/src/services/abstract-role-service.d.ts +61 -0
  126. package/src/services/abstract-role-service.d.ts.map +1 -0
  127. package/src/services/abstract-role-service.js +69 -0
  128. package/src/services/abstract-role-service.js.map +1 -0
  129. package/src/services/base.d.ts +10 -13
  130. package/src/services/base.d.ts.map +1 -1
  131. package/src/services/base.js +7 -21
  132. package/src/services/base.js.map +1 -1
  133. package/src/services/index.d.ts +2 -15
  134. package/src/services/index.d.ts.map +1 -1
  135. package/src/services/index.js +2 -15
  136. package/src/services/index.js.map +1 -1
  137. package/src/testing.d.ts +1 -1
  138. package/src/testing.d.ts.map +1 -1
  139. package/src/testing.js +1 -1
  140. package/src/testing.js.map +1 -1
  141. package/src/types.d.ts +6 -17
  142. package/src/types.d.ts.map +1 -1
  143. package/src/types.js.map +1 -1
  144. package/src/utils.d.ts +5 -34
  145. package/src/utils.d.ts.map +1 -1
  146. package/src/utils.js +24 -165
  147. package/src/utils.js.map +1 -1
  148. package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -12
  149. package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
  150. package/src/__tests__/fixtures/model-mocks.mock.js +0 -102
  151. package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
  152. package/src/__tests__/helpers/application.mock.d.ts +0 -8
  153. package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
  154. package/src/__tests__/helpers/application.mock.js +0 -85
  155. package/src/__tests__/helpers/application.mock.js.map +0 -1
  156. package/src/__tests__/helpers/setup-test-env.d.ts +0 -13
  157. package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
  158. package/src/__tests__/helpers/setup-test-env.js +0 -133
  159. package/src/__tests__/helpers/setup-test-env.js.map +0 -1
  160. package/src/builders/application-builder.d.ts +0 -53
  161. package/src/builders/application-builder.d.ts.map +0 -1
  162. package/src/builders/application-builder.js +0 -91
  163. package/src/builders/application-builder.js.map +0 -1
  164. package/src/controllers/user.d.ts +0 -66
  165. package/src/controllers/user.d.ts.map +0 -1
  166. package/src/controllers/user.js +0 -949
  167. package/src/controllers/user.js.map +0 -1
  168. package/src/documents/base.d.ts +0 -15
  169. package/src/documents/base.d.ts.map +0 -1
  170. package/src/documents/base.js +0 -8
  171. package/src/documents/base.js.map +0 -1
  172. package/src/documents/email-token.d.ts +0 -15
  173. package/src/documents/email-token.d.ts.map +0 -1
  174. package/src/documents/email-token.js +0 -8
  175. package/src/documents/email-token.js.map +0 -1
  176. package/src/documents/index.d.ts +0 -8
  177. package/src/documents/index.d.ts.map +0 -1
  178. package/src/documents/index.js +0 -3
  179. package/src/documents/index.js.map +0 -1
  180. package/src/documents/mnemonic.d.ts +0 -16
  181. package/src/documents/mnemonic.d.ts.map +0 -1
  182. package/src/documents/mnemonic.js +0 -8
  183. package/src/documents/mnemonic.js.map +0 -1
  184. package/src/documents/role.d.ts +0 -15
  185. package/src/documents/role.d.ts.map +0 -1
  186. package/src/documents/role.js +0 -8
  187. package/src/documents/role.js.map +0 -1
  188. package/src/documents/used-direct-login-token.d.ts +0 -16
  189. package/src/documents/used-direct-login-token.d.ts.map +0 -1
  190. package/src/documents/used-direct-login-token.js +0 -8
  191. package/src/documents/used-direct-login-token.js.map +0 -1
  192. package/src/documents/user-role.d.ts +0 -16
  193. package/src/documents/user-role.d.ts.map +0 -1
  194. package/src/documents/user-role.js +0 -8
  195. package/src/documents/user-role.js.map +0 -1
  196. package/src/documents/user.d.ts +0 -16
  197. package/src/documents/user.d.ts.map +0 -1
  198. package/src/documents/user.js +0 -8
  199. package/src/documents/user.js.map +0 -1
  200. package/src/enumerations/base-model-name.d.ts +0 -43
  201. package/src/enumerations/base-model-name.d.ts.map +0 -1
  202. package/src/enumerations/base-model-name.js +0 -39
  203. package/src/enumerations/base-model-name.js.map +0 -1
  204. package/src/enumerations/schema-collection.d.ts +0 -39
  205. package/src/enumerations/schema-collection.d.ts.map +0 -1
  206. package/src/enumerations/schema-collection.js +0 -43
  207. package/src/enumerations/schema-collection.js.map +0 -1
  208. package/src/errors/invalid-model.d.ts +0 -18
  209. package/src/errors/invalid-model.d.ts.map +0 -1
  210. package/src/errors/invalid-model.js +0 -26
  211. package/src/errors/invalid-model.js.map +0 -1
  212. package/src/errors/model-not-registered.d.ts +0 -18
  213. package/src/errors/model-not-registered.d.ts.map +0 -1
  214. package/src/errors/model-not-registered.js +0 -26
  215. package/src/errors/model-not-registered.js.map +0 -1
  216. package/src/errors/mongoose-validation.d.ts +0 -28
  217. package/src/errors/mongoose-validation.d.ts.map +0 -1
  218. package/src/errors/mongoose-validation.js +0 -33
  219. package/src/errors/mongoose-validation.js.map +0 -1
  220. package/src/interfaces/api-mongo-validation-error-response.d.ts +0 -16
  221. package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
  222. package/src/interfaces/api-mongo-validation-error-response.js +0 -8
  223. package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
  224. package/src/interfaces/database-init-result-tx.d.ts +0 -27
  225. package/src/interfaces/database-init-result-tx.d.ts.map +0 -1
  226. package/src/interfaces/database-init-result-tx.js +0 -3
  227. package/src/interfaces/database-init-result-tx.js.map +0 -1
  228. package/src/interfaces/db-init-result.d.ts +0 -16
  229. package/src/interfaces/db-init-result.d.ts.map +0 -1
  230. package/src/interfaces/db-init-result.js +0 -8
  231. package/src/interfaces/db-init-result.js.map +0 -1
  232. package/src/interfaces/discriminator-collections.d.ts +0 -17
  233. package/src/interfaces/discriminator-collections.d.ts.map +0 -1
  234. package/src/interfaces/discriminator-collections.js +0 -8
  235. package/src/interfaces/discriminator-collections.js.map +0 -1
  236. package/src/interfaces/environment-mongo.d.ts +0 -86
  237. package/src/interfaces/environment-mongo.d.ts.map +0 -1
  238. package/src/interfaces/environment-mongo.js +0 -8
  239. package/src/interfaces/environment-mongo.js.map +0 -1
  240. package/src/interfaces/models/email-token.d.ts +0 -12
  241. package/src/interfaces/models/email-token.d.ts.map +0 -1
  242. package/src/interfaces/models/email-token.js +0 -8
  243. package/src/interfaces/models/index.d.ts +0 -8
  244. package/src/interfaces/models/index.d.ts.map +0 -1
  245. package/src/interfaces/models/index.js +0 -11
  246. package/src/interfaces/models/index.js.map +0 -1
  247. package/src/interfaces/models/mnemonic.d.ts +0 -13
  248. package/src/interfaces/models/mnemonic.d.ts.map +0 -1
  249. package/src/interfaces/models/mnemonic.js +0 -8
  250. package/src/interfaces/models/role.d.ts +0 -12
  251. package/src/interfaces/models/role.d.ts.map +0 -1
  252. package/src/interfaces/models/role.js +0 -8
  253. package/src/interfaces/models/token-role.d.ts +0 -19
  254. package/src/interfaces/models/token-role.d.ts.map +0 -1
  255. package/src/interfaces/models/token-role.js +0 -8
  256. package/src/interfaces/models/token-role.js.map +0 -1
  257. package/src/interfaces/models/used-direct-login-token.d.ts +0 -19
  258. package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
  259. package/src/interfaces/models/used-direct-login-token.js +0 -8
  260. package/src/interfaces/models/user-role.d.ts +0 -19
  261. package/src/interfaces/models/user-role.d.ts.map +0 -1
  262. package/src/interfaces/models/user-role.js +0 -8
  263. package/src/interfaces/models/user.d.ts +0 -21
  264. package/src/interfaces/models/user.d.ts.map +0 -1
  265. package/src/interfaces/models/user.js +0 -8
  266. package/src/interfaces/mongo-application.d.ts +0 -35
  267. package/src/interfaces/mongo-application.d.ts.map +0 -1
  268. package/src/interfaces/mongo-application.js +0 -10
  269. package/src/interfaces/mongo-application.js.map +0 -1
  270. package/src/interfaces/mongo-errors.d.ts +0 -13
  271. package/src/interfaces/mongo-errors.d.ts.map +0 -1
  272. package/src/interfaces/mongo-errors.js +0 -8
  273. package/src/interfaces/mongo-errors.js.map +0 -1
  274. package/src/interfaces/mongoose-document-store.d.ts +0 -42
  275. package/src/interfaces/mongoose-document-store.d.ts.map +0 -1
  276. package/src/interfaces/mongoose-document-store.js +0 -10
  277. package/src/interfaces/mongoose-document-store.js.map +0 -1
  278. package/src/interfaces/schema.d.ts +0 -37
  279. package/src/interfaces/schema.d.ts.map +0 -1
  280. package/src/interfaces/schema.js +0 -8
  281. package/src/interfaces/schema.js.map +0 -1
  282. package/src/interfaces/test-environment.d.ts +0 -22
  283. package/src/interfaces/test-environment.d.ts.map +0 -1
  284. package/src/interfaces/test-environment.js +0 -8
  285. package/src/interfaces/test-environment.js.map +0 -1
  286. package/src/model-registry.d.ts +0 -79
  287. package/src/model-registry.d.ts.map +0 -1
  288. package/src/model-registry.js +0 -97
  289. package/src/model-registry.js.map +0 -1
  290. package/src/models/email-token.d.ts +0 -24
  291. package/src/models/email-token.d.ts.map +0 -1
  292. package/src/models/email-token.js +0 -16
  293. package/src/models/email-token.js.map +0 -1
  294. package/src/models/index.d.ts +0 -7
  295. package/src/models/index.d.ts.map +0 -1
  296. package/src/models/index.js +0 -10
  297. package/src/models/index.js.map +0 -1
  298. package/src/models/mnemonic.d.ts +0 -24
  299. package/src/models/mnemonic.d.ts.map +0 -1
  300. package/src/models/mnemonic.js +0 -27
  301. package/src/models/mnemonic.js.map +0 -1
  302. package/src/models/role.d.ts +0 -24
  303. package/src/models/role.d.ts.map +0 -1
  304. package/src/models/role.js +0 -27
  305. package/src/models/role.js.map +0 -1
  306. package/src/models/used-direct-login-token.d.ts +0 -24
  307. package/src/models/used-direct-login-token.d.ts.map +0 -1
  308. package/src/models/used-direct-login-token.js +0 -16
  309. package/src/models/used-direct-login-token.js.map +0 -1
  310. package/src/models/user-role.d.ts +0 -23
  311. package/src/models/user-role.d.ts.map +0 -1
  312. package/src/models/user-role.js +0 -26
  313. package/src/models/user-role.js.map +0 -1
  314. package/src/models/user.d.ts +0 -24
  315. package/src/models/user.d.ts.map +0 -1
  316. package/src/models/user.js +0 -27
  317. package/src/models/user.js.map +0 -1
  318. package/src/mongo-application-concrete.d.ts +0 -32
  319. package/src/mongo-application-concrete.d.ts.map +0 -1
  320. package/src/mongo-application-concrete.js +0 -49
  321. package/src/mongo-application-concrete.js.map +0 -1
  322. package/src/plugins/mongo-database-plugin.d.ts +0 -115
  323. package/src/plugins/mongo-database-plugin.d.ts.map +0 -1
  324. package/src/plugins/mongo-database-plugin.js +0 -234
  325. package/src/plugins/mongo-database-plugin.js.map +0 -1
  326. package/src/routers/api.d.ts +0 -60
  327. package/src/routers/api.d.ts.map +0 -1
  328. package/src/routers/api.js +0 -116
  329. package/src/routers/api.js.map +0 -1
  330. package/src/schemas/email-token.d.ts +0 -65
  331. package/src/schemas/email-token.d.ts.map +0 -1
  332. package/src/schemas/email-token.js +0 -68
  333. package/src/schemas/email-token.js.map +0 -1
  334. package/src/schemas/index.d.ts +0 -8
  335. package/src/schemas/index.d.ts.map +0 -1
  336. package/src/schemas/index.js +0 -11
  337. package/src/schemas/index.js.map +0 -1
  338. package/src/schemas/mnemonic.d.ts +0 -37
  339. package/src/schemas/mnemonic.d.ts.map +0 -1
  340. package/src/schemas/mnemonic.js +0 -41
  341. package/src/schemas/mnemonic.js.map +0 -1
  342. package/src/schemas/role.d.ts +0 -57
  343. package/src/schemas/role.d.ts.map +0 -1
  344. package/src/schemas/role.js +0 -102
  345. package/src/schemas/role.js.map +0 -1
  346. package/src/schemas/schema.d.ts +0 -62
  347. package/src/schemas/schema.d.ts.map +0 -1
  348. package/src/schemas/schema.js +0 -81
  349. package/src/schemas/schema.js.map +0 -1
  350. package/src/schemas/used-direct-login-token.d.ts +0 -49
  351. package/src/schemas/used-direct-login-token.d.ts.map +0 -1
  352. package/src/schemas/used-direct-login-token.js +0 -35
  353. package/src/schemas/used-direct-login-token.js.map +0 -1
  354. package/src/schemas/user-role.d.ts +0 -52
  355. package/src/schemas/user-role.d.ts.map +0 -1
  356. package/src/schemas/user-role.js +0 -67
  357. package/src/schemas/user-role.js.map +0 -1
  358. package/src/schemas/user.d.ts +0 -43
  359. package/src/schemas/user.d.ts.map +0 -1
  360. package/src/schemas/user.js +0 -214
  361. package/src/schemas/user.js.map +0 -1
  362. package/src/services/backup-code.d.ts +0 -120
  363. package/src/services/backup-code.d.ts.map +0 -1
  364. package/src/services/backup-code.js +0 -323
  365. package/src/services/backup-code.js.map +0 -1
  366. package/src/services/database-initialization.d.ts +0 -138
  367. package/src/services/database-initialization.d.ts.map +0 -1
  368. package/src/services/database-initialization.js +0 -913
  369. package/src/services/database-initialization.js.map +0 -1
  370. package/src/services/db-init-cache.d.ts +0 -18
  371. package/src/services/db-init-cache.d.ts.map +0 -1
  372. package/src/services/db-init-cache.js +0 -7
  373. package/src/services/db-init-cache.js.map +0 -1
  374. package/src/services/direct-login-token.d.ts +0 -28
  375. package/src/services/direct-login-token.d.ts.map +0 -1
  376. package/src/services/direct-login-token.js +0 -62
  377. package/src/services/direct-login-token.js.map +0 -1
  378. package/src/services/jwt.d.ts +0 -45
  379. package/src/services/jwt.d.ts.map +0 -1
  380. package/src/services/jwt.js +0 -105
  381. package/src/services/jwt.js.map +0 -1
  382. package/src/services/mnemonic.d.ts +0 -68
  383. package/src/services/mnemonic.d.ts.map +0 -1
  384. package/src/services/mnemonic.js +0 -120
  385. package/src/services/mnemonic.js.map +0 -1
  386. package/src/services/mongo-authentication-provider.d.ts +0 -27
  387. package/src/services/mongo-authentication-provider.d.ts.map +0 -1
  388. package/src/services/mongo-authentication-provider.js +0 -84
  389. package/src/services/mongo-authentication-provider.js.map +0 -1
  390. package/src/services/mongo-backup-code-store.d.ts +0 -40
  391. package/src/services/mongo-backup-code-store.d.ts.map +0 -1
  392. package/src/services/mongo-backup-code-store.js +0 -104
  393. package/src/services/mongo-backup-code-store.js.map +0 -1
  394. package/src/services/mongo-base.d.ts +0 -24
  395. package/src/services/mongo-base.d.ts.map +0 -1
  396. package/src/services/mongo-base.js +0 -28
  397. package/src/services/mongo-base.js.map +0 -1
  398. package/src/services/mongoose-collection.d.ts +0 -52
  399. package/src/services/mongoose-collection.d.ts.map +0 -1
  400. package/src/services/mongoose-collection.js +0 -326
  401. package/src/services/mongoose-collection.js.map +0 -1
  402. package/src/services/mongoose-database.d.ts +0 -64
  403. package/src/services/mongoose-database.d.ts.map +0 -1
  404. package/src/services/mongoose-database.js +0 -121
  405. package/src/services/mongoose-database.js.map +0 -1
  406. package/src/services/mongoose-document-store.d.ts +0 -109
  407. package/src/services/mongoose-document-store.d.ts.map +0 -1
  408. package/src/services/mongoose-document-store.js +0 -264
  409. package/src/services/mongoose-document-store.js.map +0 -1
  410. package/src/services/mongoose-session-adapter.d.ts +0 -39
  411. package/src/services/mongoose-session-adapter.d.ts.map +0 -1
  412. package/src/services/mongoose-session-adapter.js +0 -63
  413. package/src/services/mongoose-session-adapter.js.map +0 -1
  414. package/src/services/request-user.d.ts +0 -45
  415. package/src/services/request-user.d.ts.map +0 -1
  416. package/src/services/request-user.js +0 -90
  417. package/src/services/request-user.js.map +0 -1
  418. package/src/services/role.d.ts +0 -97
  419. package/src/services/role.d.ts.map +0 -1
  420. package/src/services/role.js +0 -289
  421. package/src/services/role.js.map +0 -1
  422. package/src/services/user.d.ts +0 -368
  423. package/src/services/user.d.ts.map +0 -1
  424. package/src/services/user.js +0 -1495
  425. package/src/services/user.js.map +0 -1
  426. package/src/transactions/index.d.ts +0 -2
  427. package/src/transactions/index.d.ts.map +0 -1
  428. package/src/transactions/index.js +0 -5
  429. package/src/transactions/index.js.map +0 -1
  430. package/src/transactions/transaction-manager.d.ts +0 -37
  431. package/src/transactions/transaction-manager.d.ts.map +0 -1
  432. package/src/transactions/transaction-manager.js +0 -50
  433. package/src/transactions/transaction-manager.js.map +0 -1
  434. package/src/types/mongoose-helpers.d.ts +0 -16
  435. package/src/types/mongoose-helpers.d.ts.map +0 -1
  436. package/src/types/mongoose-helpers.js +0 -8
  437. package/src/types/mongoose-helpers.js.map +0 -1
  438. package/src/utils/default-mongo-uri-validator.d.ts +0 -15
  439. package/src/utils/default-mongo-uri-validator.d.ts.map +0 -1
  440. package/src/utils/default-mongo-uri-validator.js +0 -46
  441. package/src/utils/default-mongo-uri-validator.js.map +0 -1
@@ -1,4 +1,3 @@
1
- export * from './api';
2
1
  export * from './app';
3
2
  export * from './base';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./api"), exports);
5
4
  tslib_1.__exportStar(require("./app"), exports);
6
5
  tslib_1.__exportStar(require("./base"), exports);
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,gDAAsB;AACtB,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/routers/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,iDAAuB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @fileoverview Abstract JWT service base class.
3
+ * Provides storage-agnostic token verification logic.
4
+ * Concrete implementations (Mongo, BrightDb, etc.) extend this
5
+ * and provide signToken with their storage-specific role lookup.
6
+ * @module services/abstract-jwt-service
7
+ */
8
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
9
+ import type { ITokenUser } from '@digitaldefiance/suite-core-lib';
10
+ import type { IApplication } from '../interfaces/application';
11
+ import type { IJwtService } from '../interfaces/jwt-service';
12
+ import { BaseService } from './base';
13
+ /**
14
+ * Abstract base class for JWT token operations.
15
+ *
16
+ * Provides a complete, storage-agnostic `verifyToken` implementation.
17
+ * Subclasses must implement `signToken` using their backend-specific
18
+ * role service to look up user roles and produce signed tokens.
19
+ *
20
+ * @template TID - Platform ID type (defaults to Buffer)
21
+ * @template TTokenUser - Token user type (defaults to ITokenUser)
22
+ * @template TApplication - Application interface type
23
+ */
24
+ export declare abstract class AbstractJwtService<TID extends PlatformID = Buffer, TTokenUser extends ITokenUser = ITokenUser, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseService<TID, TApplication> implements IJwtService<TTokenUser> {
25
+ constructor(application: TApplication);
26
+ /**
27
+ * Verify a JWT token and return the decoded user payload.
28
+ *
29
+ * This implementation is storage-agnostic — it only depends on
30
+ * `application.environment.jwtSecret` and `application.constants.JWT`.
31
+ */
32
+ verifyToken(token: string): Promise<TTokenUser | null>;
33
+ }
34
+ //# sourceMappingURL=abstract-jwt-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-jwt-service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/abstract-jwt-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAEV,UAAU,EACX,MAAM,iCAAiC,CAAC;AAWzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AASrC;;;;;;;;;;GAUG;AACH,8BAAsB,kBAAkB,CACtC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAE1D,SAAQ,WAAW,CAAC,GAAG,EAAE,YAAY,CACrC,YAAW,WAAW,CAAC,UAAU,CAAC;gBAEtB,WAAW,EAAE,YAAY;IAIrC;;;;;OAKG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAgCpE"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Abstract JWT service base class.
4
+ * Provides storage-agnostic token verification logic.
5
+ * Concrete implementations (Mongo, BrightDb, etc.) extend this
6
+ * and provide signToken with their storage-specific role lookup.
7
+ * @module services/abstract-jwt-service
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AbstractJwtService = void 0;
11
+ const jsonwebtoken_1 = require("jsonwebtoken");
12
+ const util_1 = require("util");
13
+ const invalid_jwt_token_1 = require("../errors/invalid-jwt-token");
14
+ const token_expired_1 = require("../errors/token-expired");
15
+ const base_1 = require("./base");
16
+ const verifyAsync = (0, util_1.promisify)(jsonwebtoken_1.verify);
17
+ /**
18
+ * Abstract base class for JWT token operations.
19
+ *
20
+ * Provides a complete, storage-agnostic `verifyToken` implementation.
21
+ * Subclasses must implement `signToken` using their backend-specific
22
+ * role service to look up user roles and produce signed tokens.
23
+ *
24
+ * @template TID - Platform ID type (defaults to Buffer)
25
+ * @template TTokenUser - Token user type (defaults to ITokenUser)
26
+ * @template TApplication - Application interface type
27
+ */
28
+ class AbstractJwtService extends base_1.BaseService {
29
+ constructor(application) {
30
+ super(application);
31
+ }
32
+ /**
33
+ * Verify a JWT token and return the decoded user payload.
34
+ *
35
+ * This implementation is storage-agnostic — it only depends on
36
+ * `application.environment.jwtSecret` and `application.constants.JWT`.
37
+ */
38
+ async verifyToken(token) {
39
+ try {
40
+ const decoded = (await verifyAsync(token, this.application.environment.jwtSecret, {
41
+ algorithms: [this.application.constants.JWT.ALGORITHM],
42
+ }));
43
+ if (typeof decoded === 'object' &&
44
+ decoded !== null &&
45
+ 'userId' in decoded &&
46
+ 'roles' in decoded) {
47
+ return {
48
+ userId: decoded['userId'],
49
+ roles: decoded['roles'],
50
+ };
51
+ }
52
+ else {
53
+ return null;
54
+ }
55
+ }
56
+ catch (err) {
57
+ if (err instanceof jsonwebtoken_1.TokenExpiredError) {
58
+ throw new token_expired_1.TokenExpiredError();
59
+ }
60
+ else if (err instanceof jsonwebtoken_1.JsonWebTokenError) {
61
+ throw err;
62
+ }
63
+ throw new invalid_jwt_token_1.InvalidJwtTokenError();
64
+ }
65
+ }
66
+ }
67
+ exports.AbstractJwtService = AbstractJwtService;
68
+ //# sourceMappingURL=abstract-jwt-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-jwt-service.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/abstract-jwt-service.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAOH,+CAMsB;AACtB,+BAAiC;AACjC,mEAAmE;AACnE,2DAA4D;AAG5D,iCAAqC;AAErC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAK3B,qBAAM,CAAC,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAsB,kBAKpB,SAAQ,kBAA8B;IAGtC,YAAY,WAAyB;QACnC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,WAAW,CAChC,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,EACtC;gBACE,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;aACvD,CACF,CAAe,CAAC;YAEjB,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,KAAK,IAAI;gBAChB,QAAQ,IAAI,OAAO;gBACnB,OAAO,IAAI,OAAO,EAClB,CAAC;gBACD,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAW;oBACnC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAoB;iBAC7B,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gCAAoB,EAAE,CAAC;gBACxC,MAAM,IAAI,iCAAiB,EAAE,CAAC;YAChC,CAAC;iBAAM,IAAI,GAAG,YAAY,gCAAiB,EAAE,CAAC;gBAC5C,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,wCAAoB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAlDD,gDAkDC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @fileoverview Abstract role service base class.
3
+ * Provides storage-agnostic role-checking logic (getMemberType, isUserAdmin, etc.).
4
+ * Concrete implementations (Mongo, BrightDb, etc.) extend this and provide
5
+ * the storage-specific methods: getUserRoles, getRoleIdByName, rolesToTokenRoles.
6
+ * @module services/abstract-role-service
7
+ */
8
+ import { MemberType } from '@digitaldefiance/ecies-lib';
9
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
10
+ import type { IRoleBase, ITokenRole } from '@digitaldefiance/suite-core-lib';
11
+ import type { IApplication } from '../interfaces/application';
12
+ import type { IRoleService } from '../interfaces/role-service';
13
+ import { BaseService } from './base';
14
+ /**
15
+ * Abstract base class for role service operations.
16
+ *
17
+ * Provides default implementations for role-checking methods
18
+ * (`isUserAdmin`, `isUserMember`, `getMemberType`) that delegate
19
+ * to `getUserRoles`. Subclasses must implement the storage-specific
20
+ * methods: `getUserRoles`, `getRoleIdByName`, `rolesToTokenRoles`.
21
+ *
22
+ * @template TID - Platform ID type (defaults to Buffer)
23
+ * @template TDate - Date type (defaults to Date)
24
+ * @template TTokenRole - Token role type (defaults to ITokenRole<TID, TDate>)
25
+ * @template TRole - Raw role type returned by getUserRoles (defaults to IRoleBase<TID>)
26
+ * @template TApplication - Application interface type
27
+ */
28
+ export declare abstract class AbstractRoleService<TID extends PlatformID = Buffer, TDate extends Date = Date, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>, TRole extends IRoleBase<TID> = IRoleBase<TID>, TApplication extends IApplication<TID> = IApplication<TID>> extends BaseService<TID, TApplication> implements IRoleService<TID, TDate, TTokenRole, TRole> {
29
+ constructor(application: TApplication);
30
+ /**
31
+ * Get the role ID for a given role name.
32
+ * Must be implemented by storage-specific subclasses.
33
+ */
34
+ abstract getRoleIdByName(roleName: string): Promise<TID | null | undefined>;
35
+ /**
36
+ * Get all roles assigned to a user.
37
+ * Must be implemented by storage-specific subclasses.
38
+ */
39
+ abstract getUserRoles(userId: TID): Promise<TRole[]>;
40
+ /**
41
+ * Convert role objects to token role representations.
42
+ * Must be implemented by storage-specific subclasses.
43
+ */
44
+ abstract rolesToTokenRoles(roles: TRole[], overrideLanguage?: string): TTokenRole[];
45
+ /**
46
+ * Check if a user has the admin role.
47
+ * Default implementation delegates to getUserRoles.
48
+ */
49
+ isUserAdmin(userId: TID): Promise<boolean>;
50
+ /**
51
+ * Check if a user has the member role.
52
+ * Default implementation delegates to getUserRoles.
53
+ */
54
+ isUserMember(userId: TID): Promise<boolean>;
55
+ /**
56
+ * Get the MemberType for a user based on their roles.
57
+ * Default implementation: system > admin > member > anonymous.
58
+ */
59
+ getMemberType(userId: TID): Promise<MemberType>;
60
+ }
61
+ //# sourceMappingURL=abstract-role-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-role-service.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/abstract-role-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,8BAAsB,mBAAmB,CACvC,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,KAAK,SAAS,IAAI,GAAG,IAAI,EACzB,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,EAClE,KAAK,SAAS,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAC7C,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAE1D,SAAQ,WAAW,CAAC,GAAG,EAAE,YAAY,CACrC,YAAW,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;gBAE1C,WAAW,EAAE,YAAY;IAMrC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;IAE3E;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAEpD;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CACxB,KAAK,EAAE,KAAK,EAAE,EACd,gBAAgB,CAAC,EAAE,MAAM,GACxB,UAAU,EAAE;IAIf;;;OAGG;IACU,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD;;;OAGG;IACU,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD;;;OAGG;IACU,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;CAY7D"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Abstract role service base class.
4
+ * Provides storage-agnostic role-checking logic (getMemberType, isUserAdmin, etc.).
5
+ * Concrete implementations (Mongo, BrightDb, etc.) extend this and provide
6
+ * the storage-specific methods: getUserRoles, getRoleIdByName, rolesToTokenRoles.
7
+ * @module services/abstract-role-service
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AbstractRoleService = void 0;
11
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
12
+ const base_1 = require("./base");
13
+ /**
14
+ * Abstract base class for role service operations.
15
+ *
16
+ * Provides default implementations for role-checking methods
17
+ * (`isUserAdmin`, `isUserMember`, `getMemberType`) that delegate
18
+ * to `getUserRoles`. Subclasses must implement the storage-specific
19
+ * methods: `getUserRoles`, `getRoleIdByName`, `rolesToTokenRoles`.
20
+ *
21
+ * @template TID - Platform ID type (defaults to Buffer)
22
+ * @template TDate - Date type (defaults to Date)
23
+ * @template TTokenRole - Token role type (defaults to ITokenRole<TID, TDate>)
24
+ * @template TRole - Raw role type returned by getUserRoles (defaults to IRoleBase<TID>)
25
+ * @template TApplication - Application interface type
26
+ */
27
+ class AbstractRoleService extends base_1.BaseService {
28
+ constructor(application) {
29
+ super(application);
30
+ }
31
+ // ── Default implementations (storage-agnostic) ────────────────────
32
+ /**
33
+ * Check if a user has the admin role.
34
+ * Default implementation delegates to getUserRoles.
35
+ */
36
+ async isUserAdmin(userId) {
37
+ const roles = await this.getUserRoles(userId);
38
+ return roles.some((r) => r.admin);
39
+ }
40
+ /**
41
+ * Check if a user has the member role.
42
+ * Default implementation delegates to getUserRoles.
43
+ */
44
+ async isUserMember(userId) {
45
+ const roles = await this.getUserRoles(userId);
46
+ return roles.some((r) => r.member);
47
+ }
48
+ /**
49
+ * Get the MemberType for a user based on their roles.
50
+ * Default implementation: system > admin > member > anonymous.
51
+ */
52
+ async getMemberType(userId) {
53
+ const roles = await this.getUserRoles(userId);
54
+ if (roles.some((r) => r.system)) {
55
+ return ecies_lib_1.MemberType.System;
56
+ }
57
+ else if (roles.some((r) => r.admin)) {
58
+ return ecies_lib_1.MemberType.Admin;
59
+ }
60
+ else if (roles.some((r) => r.member)) {
61
+ return ecies_lib_1.MemberType.User;
62
+ }
63
+ else {
64
+ return ecies_lib_1.MemberType.Anonymous;
65
+ }
66
+ }
67
+ }
68
+ exports.AbstractRoleService = AbstractRoleService;
69
+ //# sourceMappingURL=abstract-role-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-role-service.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/abstract-role-service.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,0DAAwD;AAKxD,iCAAqC;AAErC;;;;;;;;;;;;;GAaG;AACH,MAAsB,mBAOpB,SAAQ,kBAA8B;IAGtC,YAAY,WAAyB;QACnC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;IAyBD,qEAAqE;IAErE;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,MAAW;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,MAAW;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,MAAW;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO,sBAAU,CAAC,MAAM,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,sBAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,sBAAU,CAAC,IAAI,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,sBAAU,CAAC,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAzED,kDAyEC"}
@@ -3,17 +3,14 @@
3
3
  * Includes transaction management utilities.
4
4
  * @module services/base
5
5
  */
6
- import { ClientSession } from '@digitaldefiance/mongoose-types';
7
6
  import { IApplication } from '../interfaces/application';
8
7
  import { TransactionCallback } from '../types';
9
- import { TransactionOptions } from '../utils';
10
8
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
11
9
  /**
12
10
  * Base service class providing common functionality for all services.
13
- * Uses IApplication (database-agnostic). When the application is a
14
- * IMongoApplication, withTransaction delegates to the Mongoose transaction
15
- * utilities. When only an IDatabase is available, it delegates to
16
- * IDatabase.withTransaction instead.
11
+ * Database-agnostic: when an IDatabase is available, withTransaction
12
+ * delegates to IDatabase.withTransaction. Otherwise, the callback
13
+ * runs directly without a transaction.
17
14
  *
18
15
  * @template TID - Platform ID type (defaults to Buffer)
19
16
  * @template TApplication - Application interface type (defaults to IApplication)
@@ -24,14 +21,14 @@ export declare class BaseService<TID extends PlatformID = Buffer, TApplication e
24
21
  /**
25
22
  * Run a callback within a database transaction.
26
23
  *
27
- * When the application is a IMongoApplication (has .db), delegates to the
28
- * Mongoose-aware utils.withTransaction with full retry/timeout support.
24
+ * When IDatabase is available (e.g. BrightChainDb, Mongoose via plugin),
25
+ * delegates to IDatabase.withTransaction.
29
26
  *
30
- * When only IDatabase is available (e.g. BrightChainDb), delegates to
31
- * IDatabase.withTransaction.
32
- *
33
- * When neither is available, runs the callback without a transaction.
27
+ * When no database is available, runs the callback directly without a
28
+ * transaction.
34
29
  */
35
- withTransaction<T>(callback: TransactionCallback<T>, session?: ClientSession, options?: TransactionOptions<TID>, ...args: unknown[]): Promise<T>;
30
+ withTransaction<T>(callback: TransactionCallback<T>, session?: unknown, options?: {
31
+ timeoutMs?: number;
32
+ }, ...args: unknown[]): Promise<T>;
36
33
  }
37
34
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAEnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAWlE;;;;;;;;;GASG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;gBAEjC,WAAW,EAAE,YAAY;IAIrC;;;;;;;;;;OAUG;IACU,eAAe,CAAC,CAAC,EAC5B,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,EACjC,GAAG,IAAI,EAAE,OAAO,EAAE;CAyBrB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;GAQG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAE1D,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;gBAEjC,WAAW,EAAE,YAAY;IAIrC;;;;;;;;OAQG;IACU,eAAe,CAAC,CAAC,EAC5B,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAChC,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,CAAC,CAAC;CAYd"}
@@ -6,19 +6,11 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.BaseService = void 0;
9
- const utils_1 = require("../utils");
10
- /**
11
- * Type guard: does the application expose a Mongoose connection?
12
- */
13
- function isMongoApplication(app) {
14
- return 'db' in app && app.db !== undefined;
15
- }
16
9
  /**
17
10
  * Base service class providing common functionality for all services.
18
- * Uses IApplication (database-agnostic). When the application is a
19
- * IMongoApplication, withTransaction delegates to the Mongoose transaction
20
- * utilities. When only an IDatabase is available, it delegates to
21
- * IDatabase.withTransaction instead.
11
+ * Database-agnostic: when an IDatabase is available, withTransaction
12
+ * delegates to IDatabase.withTransaction. Otherwise, the callback
13
+ * runs directly without a transaction.
22
14
  *
23
15
  * @template TID - Platform ID type (defaults to Buffer)
24
16
  * @template TApplication - Application interface type (defaults to IApplication)
@@ -31,19 +23,13 @@ class BaseService {
31
23
  /**
32
24
  * Run a callback within a database transaction.
33
25
  *
34
- * When the application is a IMongoApplication (has .db), delegates to the
35
- * Mongoose-aware utils.withTransaction with full retry/timeout support.
26
+ * When IDatabase is available (e.g. BrightChainDb, Mongoose via plugin),
27
+ * delegates to IDatabase.withTransaction.
36
28
  *
37
- * When only IDatabase is available (e.g. BrightChainDb), delegates to
38
- * IDatabase.withTransaction.
39
- *
40
- * When neither is available, runs the callback without a transaction.
29
+ * When no database is available, runs the callback directly without a
30
+ * transaction.
41
31
  */
42
32
  async withTransaction(callback, session, options, ...args) {
43
- // Mongoose path — full retry/timeout support
44
- if (isMongoApplication(this.application)) {
45
- return await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, session, callback, options ?? {}, ...args);
46
- }
47
33
  // IDatabase path — delegate to IDatabase.withTransaction
48
34
  const db = this.application.database;
49
35
  if (db) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/base.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAMH,oCAGkB;AAGlB;;GAEG;AACH,SAAS,kBAAkB,CACzB,GAAsB;IAEtB,OAAO,IAAI,IAAI,GAAG,IAAK,GAA8B,CAAC,EAAE,KAAK,SAAS,CAAC;AACzE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAa,WAAW;IAIH,WAAW,CAAe;IAE7C,YAAY,WAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,eAAe,CAC1B,QAAgC,EAChC,OAAuB,EACvB,OAAiC,EACjC,GAAG,IAAe;QAElB,6CAA6C;QAC7C,IAAI,kBAAkB,CAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,MAAM,IAAA,uBAAoB,EAC/B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAC9B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAClD,OAAO,EACP,QAAQ,EACR,OAAO,IAAI,EAAE,EACb,GAAG,IAAI,CACR,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACrC,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,MAAM,EAAE,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;gBACzC,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AAlDD,kCAkDC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/base.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAMH;;;;;;;;GAQG;AACH,MAAa,WAAW;IAIH,WAAW,CAAe;IAE7C,YAAY,WAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,eAAe,CAC1B,QAAgC,EAChC,OAAiB,EACjB,OAAgC,EAChC,GAAG,IAAe;QAElB,yDAAyD;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;QACrC,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,MAAM,EAAE,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;gBACzC,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF;AApCD,kCAoCC"}
@@ -1,28 +1,15 @@
1
- export * from './backup-code';
1
+ export * from './abstract-jwt-service';
2
+ export * from './abstract-role-service';
2
3
  export * from './base';
3
- export * from './mongo-base';
4
- export * from './mongo-authentication-provider';
5
4
  export * from './checksum';
6
- export * from './database-initialization';
7
- export * from './db-init-cache';
8
- export * from './direct-login-token';
9
5
  export * from './dummy-email-service';
10
6
  export * from './fec';
11
7
  export * from './fec-usage-example';
12
- export * from './jwt';
13
8
  export * from './key-wrapping';
14
- export * from './mnemonic';
15
- export * from './request-user';
16
- export * from './role';
17
9
  export * from './symmetric';
18
10
  export * from './system-user';
19
- export * from './user';
20
11
  export * from './xor';
21
12
  export * from './upnp';
22
13
  export * from './upnp-config';
23
14
  export * from './upnp-manager';
24
- export * from './mongoose-document-store';
25
- export * from './mongoose-session-adapter';
26
- export * from './mongoose-collection';
27
- export * from './mongoose-database';
28
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,iCAAiC,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AACtB,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AACtB,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -1,31 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./backup-code"), exports);
4
+ tslib_1.__exportStar(require("./abstract-jwt-service"), exports);
5
+ tslib_1.__exportStar(require("./abstract-role-service"), exports);
5
6
  tslib_1.__exportStar(require("./base"), exports);
6
- tslib_1.__exportStar(require("./mongo-base"), exports);
7
- tslib_1.__exportStar(require("./mongo-authentication-provider"), exports);
8
7
  tslib_1.__exportStar(require("./checksum"), exports);
9
- tslib_1.__exportStar(require("./database-initialization"), exports);
10
- tslib_1.__exportStar(require("./db-init-cache"), exports);
11
- tslib_1.__exportStar(require("./direct-login-token"), exports);
12
8
  tslib_1.__exportStar(require("./dummy-email-service"), exports);
13
9
  tslib_1.__exportStar(require("./fec"), exports);
14
10
  tslib_1.__exportStar(require("./fec-usage-example"), exports);
15
- tslib_1.__exportStar(require("./jwt"), exports);
16
11
  tslib_1.__exportStar(require("./key-wrapping"), exports);
17
- tslib_1.__exportStar(require("./mnemonic"), exports);
18
- tslib_1.__exportStar(require("./request-user"), exports);
19
- tslib_1.__exportStar(require("./role"), exports);
20
12
  tslib_1.__exportStar(require("./symmetric"), exports);
21
13
  tslib_1.__exportStar(require("./system-user"), exports);
22
- tslib_1.__exportStar(require("./user"), exports);
23
14
  tslib_1.__exportStar(require("./xor"), exports);
24
15
  tslib_1.__exportStar(require("./upnp"), exports);
25
16
  tslib_1.__exportStar(require("./upnp-config"), exports);
26
17
  tslib_1.__exportStar(require("./upnp-manager"), exports);
27
- tslib_1.__exportStar(require("./mongoose-document-store"), exports);
28
- tslib_1.__exportStar(require("./mongoose-session-adapter"), exports);
29
- tslib_1.__exportStar(require("./mongoose-collection"), exports);
30
- tslib_1.__exportStar(require("./mongoose-database"), exports);
31
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,iDAAuB;AACvB,uDAA6B;AAC7B,0EAAgD;AAChD,qDAA2B;AAC3B,oEAA0C;AAC1C,0DAAgC;AAChC,+DAAqC;AACrC,gEAAsC;AACtC,gDAAsB;AACtB,8DAAoC;AACpC,gDAAsB;AACtB,yDAA+B;AAC/B,qDAA2B;AAC3B,yDAA+B;AAC/B,iDAAuB;AACvB,sDAA4B;AAC5B,wDAA8B;AAC9B,iDAAuB;AACvB,gDAAsB;AACtB,iDAAuB;AACvB,wDAA8B;AAC9B,yDAA+B;AAC/B,oEAA0C;AAC1C,qEAA2C;AAC3C,gEAAsC;AACtC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,kEAAwC;AACxC,iDAAuB;AACvB,qDAA2B;AAC3B,gEAAsC;AACtC,gDAAsB;AACtB,8DAAoC;AACpC,yDAA+B;AAC/B,sDAA4B;AAC5B,wDAA8B;AAC9B,gDAAsB;AACtB,iDAAuB;AACvB,wDAA8B;AAC9B,yDAA+B"}
package/src/testing.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @fileoverview Test utilities entry point.
3
3
  * Re-exports test helpers and setup utilities.
4
+ * Mongo-specific test helpers moved to @digitaldefiance/node-express-suite-mongo/testing
4
5
  * @module testing
5
6
  */
6
7
  export * from './__tests__';
7
- export * from './__tests__/helpers/setup-test-env';
8
8
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/testing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,aAAa,CAAC;AAC5B,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/testing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,aAAa,CAAC"}
package/src/testing.js CHANGED
@@ -2,11 +2,11 @@
2
2
  /**
3
3
  * @fileoverview Test utilities entry point.
4
4
  * Re-exports test helpers and setup utilities.
5
+ * Mongo-specific test helpers moved to @digitaldefiance/node-express-suite-mongo/testing
5
6
  * @module testing
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  const tslib_1 = require("tslib");
9
10
  // Test utilities entry point - import from '@digitaldefiance/node-express-suite/testing'
10
11
  tslib_1.__exportStar(require("./__tests__"), exports);
11
- tslib_1.__exportStar(require("./__tests__/helpers/setup-test-env"), exports);
12
12
  //# sourceMappingURL=testing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/testing.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yFAAyF;AACzF,sDAA4B;AAC5B,6EAAmD"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/testing.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yFAAyF;AACzF,sDAA4B"}
package/src/types.d.ts CHANGED
@@ -3,18 +3,17 @@
3
3
  * Defines core types for routing, validation, and API responses.
4
4
  * @module types
5
5
  */
6
- import { ClientSession } from '@digitaldefiance/mongoose-types';
7
6
  import { Member, PlatformID } from '@digitaldefiance/node-ecies-lib';
8
7
  import { IRequestUserDTO } from '@digitaldefiance/suite-core-lib';
9
8
  import { NextFunction, RequestHandler, Response } from 'express';
10
9
  import { ValidationChain } from 'express-validator';
11
- import { BaseDocument } from './documents';
12
- import { IApiErrorResponse, IApiExpressValidationErrorResponse, IApiMessageResponse, IApiMongoValidationErrorResponse, IStatusCodeResponse, OpenAPIRouteMetadata } from './interfaces';
13
- import { ISchema } from './interfaces/schema';
10
+ import { IApiErrorResponse, IApiExpressValidationErrorResponse, IApiMessageResponse, IStatusCodeResponse, OpenAPIRouteMetadata } from './interfaces';
14
11
  /**
15
- * Transaction callback type for withTransaction
12
+ * Transaction callback type for withTransaction.
13
+ * Session parameter is typed as `unknown` to allow both IClientSession (database-agnostic)
14
+ * and ClientSession (Mongoose-specific) without type conflicts.
16
15
  */
17
- export type TransactionCallback<T> = (session: ClientSession | undefined, ...args: Array<unknown>) => Promise<T>;
16
+ export type TransactionCallback<T> = (session: unknown, ...args: Array<unknown>) => Promise<T>;
18
17
  /**
19
18
  * Validated body for express-validator
20
19
  */
@@ -51,15 +50,6 @@ declare global {
51
50
  }
52
51
  }
53
52
  }
54
- /**
55
- * Schema map interface
56
- */
57
- type ModelDocMap<TID extends PlatformID, TModelDocs extends Record<string, BaseDocument<any, TID>>> = {
58
- [K in keyof TModelDocs]: TModelDocs[K];
59
- };
60
- export type SchemaMap<TID extends PlatformID, TModelDocs extends Record<string, BaseDocument<any, TID>>> = {
61
- [K in keyof ModelDocMap<TID, TModelDocs>]: ISchema<TID, ModelDocMap<TID, TModelDocs>[K]>;
62
- };
63
53
  export type ApiRequestHandler<T extends ApiResponse> = (req: Request, res: Response, next: NextFunction) => Promise<IStatusCodeResponse<T>>;
64
54
  export type TypedHandlers = {
65
55
  [key: string]: ApiRequestHandler<ApiResponse>;
@@ -113,8 +103,7 @@ export type JsonPrimitive = string | number | boolean | null | undefined;
113
103
  export type JsonResponse = JsonPrimitive | {
114
104
  [key: string]: JsonResponse;
115
105
  } | JsonResponse[];
116
- export type ApiErrorResponse = IApiErrorResponse | IApiExpressValidationErrorResponse | IApiMongoValidationErrorResponse;
106
+ export type ApiErrorResponse = IApiErrorResponse | IApiExpressValidationErrorResponse;
117
107
  export type ApiResponse = IApiMessageResponse | ApiErrorResponse | JsonResponse;
118
108
  export type SendFunction<T extends ApiResponse> = (statusCode: number, data: T, res: Response<T>) => void;
119
- export {};
120
109
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":"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"}
package/src/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA8IH,kCAoBC;AA7BD;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,MAAmD,EACnD,IAAY,EACZ,OAMC;IAED,OAAO;QACL,MAAM;QACN,IAAI;QACJ,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-express-suite/src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAqHH,kCAoBC;AA7BD;;;;;;;;GAQG;AACH,SAAgB,WAAW,CACzB,MAAmD,EACnD,IAAY,EACZ,OAMC;IAED,OAAO;QACL,MAAM;QACN,IAAI;QACJ,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC"}