@explorins/pers-shared 2.1.35 → 2.1.37

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 (332) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/index.d.ts +2 -0
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js +5 -2
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/shared-lib/dto/auth.dto.d.ts +1 -2
  7. package/dist/cjs/shared-lib/dto/auth.dto.d.ts.map +1 -1
  8. package/dist/cjs/shared-lib/dto/auth.dto.js +1 -10
  9. package/dist/cjs/shared-lib/dto/auth.dto.js.map +1 -1
  10. package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
  11. package/dist/cjs/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
  12. package/dist/cjs/shared-lib/errors/base/error-classification-enums.js +20 -1
  13. package/dist/cjs/shared-lib/errors/base/error-classification-enums.js.map +1 -1
  14. package/dist/cjs/shared-lib/errors/base-business-error.d.ts +56 -2
  15. package/dist/cjs/shared-lib/errors/base-business-error.d.ts.map +1 -1
  16. package/dist/cjs/shared-lib/errors/base-business-error.js +110 -11
  17. package/dist/cjs/shared-lib/errors/base-business-error.js.map +1 -1
  18. package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
  19. package/dist/cjs/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
  20. package/dist/cjs/shared-lib/errors/domains/authentication-errors.js +6 -6
  21. package/dist/cjs/shared-lib/errors/domains/authentication-errors.js.map +1 -1
  22. package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts +2 -2
  23. package/dist/cjs/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
  24. package/dist/cjs/shared-lib/errors/domains/balance-errors.js +2 -2
  25. package/dist/cjs/shared-lib/errors/domains/balance-errors.js.map +1 -1
  26. package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts +24 -3
  27. package/dist/cjs/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
  28. package/dist/cjs/shared-lib/errors/domains/business-errors.js +42 -3
  29. package/dist/cjs/shared-lib/errors/domains/business-errors.js.map +1 -1
  30. package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts +2 -2
  31. package/dist/cjs/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
  32. package/dist/cjs/shared-lib/errors/domains/contract-errors.js +1 -1
  33. package/dist/cjs/shared-lib/errors/domains/contract-errors.js.map +1 -1
  34. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
  35. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
  36. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js +12 -10
  37. package/dist/cjs/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
  38. package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts +7 -4
  39. package/dist/cjs/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
  40. package/dist/cjs/shared-lib/errors/domains/system-errors.js +13 -6
  41. package/dist/cjs/shared-lib/errors/domains/system-errors.js.map +1 -1
  42. package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts +10 -4
  43. package/dist/cjs/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
  44. package/dist/cjs/shared-lib/errors/domains/token-errors.js +19 -5
  45. package/dist/cjs/shared-lib/errors/domains/token-errors.js.map +1 -1
  46. package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
  47. package/dist/cjs/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
  48. package/dist/cjs/shared-lib/errors/domains/transaction-errors.js +14 -7
  49. package/dist/cjs/shared-lib/errors/domains/transaction-errors.js.map +1 -1
  50. package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts +2 -2
  51. package/dist/cjs/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
  52. package/dist/cjs/shared-lib/errors/domains/user-errors.js +1 -1
  53. package/dist/cjs/shared-lib/errors/domains/user-errors.js.map +1 -1
  54. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts +4 -4
  55. package/dist/cjs/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  56. package/dist/cjs/shared-lib/errors/domains/validation-errors.js +6 -7
  57. package/dist/cjs/shared-lib/errors/domains/validation-errors.js.map +1 -1
  58. package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
  59. package/dist/cjs/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
  60. package/dist/cjs/shared-lib/errors/domains/wallet-errors.js +5 -4
  61. package/dist/cjs/shared-lib/errors/domains/wallet-errors.js.map +1 -1
  62. package/dist/cjs/shared-lib/errors/index.d.ts +1 -1
  63. package/dist/cjs/shared-lib/errors/index.d.ts.map +1 -1
  64. package/dist/cjs/shared-lib/errors/index.js +9 -1
  65. package/dist/cjs/shared-lib/errors/index.js.map +1 -1
  66. package/dist/cjs/shared-patterns/database/index.d.ts +6 -0
  67. package/dist/cjs/shared-patterns/database/index.d.ts.map +1 -0
  68. package/dist/cjs/shared-patterns/database/index.js +24 -0
  69. package/dist/cjs/shared-patterns/database/index.js.map +1 -0
  70. package/dist/cjs/shared-patterns/database/models/base.model.d.ts +7 -0
  71. package/dist/cjs/shared-patterns/database/models/base.model.d.ts.map +1 -0
  72. package/dist/cjs/shared-patterns/database/models/base.model.js +11 -0
  73. package/dist/cjs/shared-patterns/database/models/base.model.js.map +1 -0
  74. package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts +4 -0
  75. package/dist/cjs/shared-patterns/database/models/fixture.model.d.ts.map +1 -0
  76. package/dist/cjs/shared-patterns/database/models/fixture.model.js +8 -0
  77. package/dist/cjs/shared-patterns/database/models/fixture.model.js.map +1 -0
  78. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts +5 -0
  79. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +1 -0
  80. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js +11 -0
  81. package/dist/cjs/shared-patterns/database/schemas/fixture-fields.schema.js.map +1 -0
  82. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts +44 -0
  83. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +1 -0
  84. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js +64 -0
  85. package/dist/cjs/shared-patterns/database/schemas/shared-fields.schema.js.map +1 -0
  86. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts +51 -0
  87. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +1 -0
  88. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js +57 -0
  89. package/dist/cjs/shared-patterns/database/schemas/tenant-fields.schema.js.map +1 -0
  90. package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts +28 -0
  91. package/dist/cjs/shared-patterns/enums/lambda.enum.d.ts.map +1 -0
  92. package/dist/cjs/shared-patterns/enums/lambda.enum.js +34 -0
  93. package/dist/cjs/shared-patterns/enums/lambda.enum.js.map +1 -0
  94. package/dist/cjs/shared-patterns/errors/error-factory.d.ts +150 -0
  95. package/dist/cjs/shared-patterns/errors/error-factory.d.ts.map +1 -0
  96. package/dist/cjs/shared-patterns/errors/error-factory.js +257 -0
  97. package/dist/cjs/shared-patterns/errors/error-factory.js.map +1 -0
  98. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts +118 -0
  99. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +1 -0
  100. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js +111 -0
  101. package/dist/cjs/shared-patterns/exceptions/base/error-classification-enums.js.map +1 -0
  102. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts +23 -0
  103. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.d.ts.map +1 -0
  104. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js +165 -0
  105. package/dist/cjs/shared-patterns/exceptions/base/error-classifier.js.map +1 -0
  106. package/dist/cjs/shared-patterns/exceptions/index.d.ts +3 -0
  107. package/dist/cjs/shared-patterns/exceptions/index.d.ts.map +1 -0
  108. package/dist/cjs/shared-patterns/exceptions/index.js +24 -0
  109. package/dist/cjs/shared-patterns/exceptions/index.js.map +1 -0
  110. package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts +16 -0
  111. package/dist/cjs/shared-patterns/functions/crypto.functions.d.ts.map +1 -0
  112. package/dist/cjs/shared-patterns/functions/crypto.functions.js +110 -0
  113. package/dist/cjs/shared-patterns/functions/crypto.functions.js.map +1 -0
  114. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts +10 -0
  115. package/dist/cjs/shared-patterns/functions/helper.functions.d.ts.map +1 -0
  116. package/dist/cjs/shared-patterns/functions/helper.functions.js +38 -0
  117. package/dist/cjs/shared-patterns/functions/helper.functions.js.map +1 -0
  118. package/dist/cjs/shared-patterns/functions/index.d.ts +4 -0
  119. package/dist/cjs/shared-patterns/functions/index.d.ts.map +1 -0
  120. package/dist/cjs/shared-patterns/functions/index.js +21 -0
  121. package/dist/cjs/shared-patterns/functions/index.js.map +1 -0
  122. package/dist/cjs/shared-patterns/functions/request.functions.d.ts +14 -0
  123. package/dist/cjs/shared-patterns/functions/request.functions.d.ts.map +1 -0
  124. package/dist/cjs/shared-patterns/functions/request.functions.js +69 -0
  125. package/dist/cjs/shared-patterns/functions/request.functions.js.map +1 -0
  126. package/dist/cjs/shared-patterns/index.d.ts +15 -0
  127. package/dist/cjs/shared-patterns/index.d.ts.map +1 -0
  128. package/dist/cjs/shared-patterns/index.js +44 -0
  129. package/dist/cjs/shared-patterns/index.js.map +1 -0
  130. package/dist/cjs/shared-patterns/interfaces/index.d.ts +3 -0
  131. package/dist/cjs/shared-patterns/interfaces/index.d.ts.map +1 -0
  132. package/dist/cjs/shared-patterns/interfaces/index.js +19 -0
  133. package/dist/cjs/shared-patterns/interfaces/index.js.map +1 -0
  134. package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts +21 -0
  135. package/dist/cjs/shared-patterns/interfaces/request.interface.d.ts.map +1 -0
  136. package/dist/cjs/shared-patterns/interfaces/request.interface.js +15 -0
  137. package/dist/cjs/shared-patterns/interfaces/request.interface.js.map +1 -0
  138. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +9 -0
  139. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +1 -0
  140. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +3 -0
  141. package/dist/cjs/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +1 -0
  142. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts +90 -0
  143. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.d.ts.map +1 -0
  144. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js +124 -0
  145. package/dist/cjs/shared-patterns/orchestrators/base-orchestrator.js.map +1 -0
  146. package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts +50 -0
  147. package/dist/cjs/shared-patterns/orchestrators/base-workflow.d.ts.map +1 -0
  148. package/dist/cjs/shared-patterns/orchestrators/base-workflow.js +68 -0
  149. package/dist/cjs/shared-patterns/orchestrators/base-workflow.js.map +1 -0
  150. package/dist/cjs/shared-patterns/orchestrators/index.d.ts +26 -0
  151. package/dist/cjs/shared-patterns/orchestrators/index.d.ts.map +1 -0
  152. package/dist/cjs/shared-patterns/orchestrators/index.js +46 -0
  153. package/dist/cjs/shared-patterns/orchestrators/index.js.map +1 -0
  154. package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts +175 -0
  155. package/dist/cjs/shared-patterns/utils/error-message.utils.d.ts.map +1 -0
  156. package/dist/cjs/shared-patterns/utils/error-message.utils.js +258 -0
  157. package/dist/cjs/shared-patterns/utils/error-message.utils.js.map +1 -0
  158. package/dist/cjs/shared-patterns/utils/index.d.ts +3 -0
  159. package/dist/cjs/shared-patterns/utils/index.d.ts.map +1 -0
  160. package/dist/cjs/shared-patterns/utils/index.js +20 -0
  161. package/dist/cjs/shared-patterns/utils/index.js.map +1 -0
  162. package/dist/cjs/shared-patterns/utils/validation.utils.d.ts +49 -0
  163. package/dist/cjs/shared-patterns/utils/validation.utils.d.ts.map +1 -0
  164. package/dist/cjs/shared-patterns/utils/validation.utils.js +76 -0
  165. package/dist/cjs/shared-patterns/utils/validation.utils.js.map +1 -0
  166. package/dist/esm/index.d.ts +2 -0
  167. package/dist/esm/index.d.ts.map +1 -1
  168. package/dist/esm/index.js +5 -2
  169. package/dist/esm/index.js.map +1 -1
  170. package/dist/esm/shared-lib/dto/auth.dto.d.ts +1 -2
  171. package/dist/esm/shared-lib/dto/auth.dto.d.ts.map +1 -1
  172. package/dist/esm/shared-lib/dto/auth.dto.js +1 -9
  173. package/dist/esm/shared-lib/dto/auth.dto.js.map +1 -1
  174. package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts +157 -1
  175. package/dist/esm/shared-lib/errors/base/error-classification-enums.d.ts.map +1 -1
  176. package/dist/esm/shared-lib/errors/base/error-classification-enums.js +11 -0
  177. package/dist/esm/shared-lib/errors/base/error-classification-enums.js.map +1 -1
  178. package/dist/esm/shared-lib/errors/base-business-error.d.ts +56 -2
  179. package/dist/esm/shared-lib/errors/base-business-error.d.ts.map +1 -1
  180. package/dist/esm/shared-lib/errors/base-business-error.js +101 -10
  181. package/dist/esm/shared-lib/errors/base-business-error.js.map +1 -1
  182. package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts +7 -7
  183. package/dist/esm/shared-lib/errors/domains/authentication-errors.d.ts.map +1 -1
  184. package/dist/esm/shared-lib/errors/domains/authentication-errors.js +7 -7
  185. package/dist/esm/shared-lib/errors/domains/authentication-errors.js.map +1 -1
  186. package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts +2 -2
  187. package/dist/esm/shared-lib/errors/domains/balance-errors.d.ts.map +1 -1
  188. package/dist/esm/shared-lib/errors/domains/balance-errors.js +3 -3
  189. package/dist/esm/shared-lib/errors/domains/balance-errors.js.map +1 -1
  190. package/dist/esm/shared-lib/errors/domains/business-errors.d.ts +24 -3
  191. package/dist/esm/shared-lib/errors/domains/business-errors.d.ts.map +1 -1
  192. package/dist/esm/shared-lib/errors/domains/business-errors.js +37 -3
  193. package/dist/esm/shared-lib/errors/domains/business-errors.js.map +1 -1
  194. package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts +2 -2
  195. package/dist/esm/shared-lib/errors/domains/contract-errors.d.ts.map +1 -1
  196. package/dist/esm/shared-lib/errors/domains/contract-errors.js +2 -2
  197. package/dist/esm/shared-lib/errors/domains/contract-errors.js.map +1 -1
  198. package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts +7 -7
  199. package/dist/esm/shared-lib/errors/domains/signing-account-errors.d.ts.map +1 -1
  200. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js +13 -11
  201. package/dist/esm/shared-lib/errors/domains/signing-account-errors.js.map +1 -1
  202. package/dist/esm/shared-lib/errors/domains/system-errors.d.ts +7 -4
  203. package/dist/esm/shared-lib/errors/domains/system-errors.d.ts.map +1 -1
  204. package/dist/esm/shared-lib/errors/domains/system-errors.js +12 -6
  205. package/dist/esm/shared-lib/errors/domains/system-errors.js.map +1 -1
  206. package/dist/esm/shared-lib/errors/domains/token-errors.d.ts +10 -4
  207. package/dist/esm/shared-lib/errors/domains/token-errors.d.ts.map +1 -1
  208. package/dist/esm/shared-lib/errors/domains/token-errors.js +17 -5
  209. package/dist/esm/shared-lib/errors/domains/token-errors.js.map +1 -1
  210. package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts +8 -5
  211. package/dist/esm/shared-lib/errors/domains/transaction-errors.d.ts.map +1 -1
  212. package/dist/esm/shared-lib/errors/domains/transaction-errors.js +13 -7
  213. package/dist/esm/shared-lib/errors/domains/transaction-errors.js.map +1 -1
  214. package/dist/esm/shared-lib/errors/domains/user-errors.d.ts +2 -2
  215. package/dist/esm/shared-lib/errors/domains/user-errors.d.ts.map +1 -1
  216. package/dist/esm/shared-lib/errors/domains/user-errors.js +2 -2
  217. package/dist/esm/shared-lib/errors/domains/user-errors.js.map +1 -1
  218. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts +4 -4
  219. package/dist/esm/shared-lib/errors/domains/validation-errors.d.ts.map +1 -1
  220. package/dist/esm/shared-lib/errors/domains/validation-errors.js +7 -8
  221. package/dist/esm/shared-lib/errors/domains/validation-errors.js.map +1 -1
  222. package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts +4 -4
  223. package/dist/esm/shared-lib/errors/domains/wallet-errors.d.ts.map +1 -1
  224. package/dist/esm/shared-lib/errors/domains/wallet-errors.js +6 -5
  225. package/dist/esm/shared-lib/errors/domains/wallet-errors.js.map +1 -1
  226. package/dist/esm/shared-lib/errors/index.d.ts +1 -1
  227. package/dist/esm/shared-lib/errors/index.d.ts.map +1 -1
  228. package/dist/esm/shared-lib/errors/index.js +1 -1
  229. package/dist/esm/shared-lib/errors/index.js.map +1 -1
  230. package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts +0 -2
  231. package/dist/esm/shared-lib/interfaces/wallet-signing-scenario.interface.d.ts.map +1 -1
  232. package/dist/esm/shared-patterns/database/index.d.ts +6 -0
  233. package/dist/esm/shared-patterns/database/index.d.ts.map +1 -0
  234. package/dist/esm/shared-patterns/database/index.js +8 -0
  235. package/dist/esm/shared-patterns/database/index.js.map +1 -0
  236. package/dist/esm/shared-patterns/database/models/base.model.d.ts +7 -0
  237. package/dist/esm/shared-patterns/database/models/base.model.d.ts.map +1 -0
  238. package/dist/esm/shared-patterns/database/models/base.model.js +7 -0
  239. package/dist/esm/shared-patterns/database/models/base.model.js.map +1 -0
  240. package/dist/esm/shared-patterns/database/models/fixture.model.d.ts +4 -0
  241. package/dist/esm/shared-patterns/database/models/fixture.model.d.ts.map +1 -0
  242. package/dist/esm/shared-patterns/database/models/fixture.model.js +4 -0
  243. package/dist/esm/shared-patterns/database/models/fixture.model.js.map +1 -0
  244. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts +5 -0
  245. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.d.ts.map +1 -0
  246. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js +8 -0
  247. package/dist/esm/shared-patterns/database/schemas/fixture-fields.schema.js.map +1 -0
  248. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts +44 -0
  249. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.d.ts.map +1 -0
  250. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js +61 -0
  251. package/dist/esm/shared-patterns/database/schemas/shared-fields.schema.js.map +1 -0
  252. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts +51 -0
  253. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.d.ts.map +1 -0
  254. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js +54 -0
  255. package/dist/esm/shared-patterns/database/schemas/tenant-fields.schema.js.map +1 -0
  256. package/dist/esm/shared-patterns/enums/lambda.enum.d.ts +28 -0
  257. package/dist/esm/shared-patterns/enums/lambda.enum.d.ts.map +1 -0
  258. package/dist/esm/shared-patterns/enums/lambda.enum.js +31 -0
  259. package/dist/esm/shared-patterns/enums/lambda.enum.js.map +1 -0
  260. package/dist/esm/shared-patterns/errors/error-factory.d.ts +150 -0
  261. package/dist/esm/shared-patterns/errors/error-factory.d.ts.map +1 -0
  262. package/dist/esm/shared-patterns/errors/error-factory.js +254 -0
  263. package/dist/esm/shared-patterns/errors/error-factory.js.map +1 -0
  264. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts +118 -0
  265. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.d.ts.map +1 -0
  266. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js +108 -0
  267. package/dist/esm/shared-patterns/exceptions/base/error-classification-enums.js.map +1 -0
  268. package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts +23 -0
  269. package/dist/esm/shared-patterns/exceptions/base/error-classifier.d.ts.map +1 -0
  270. package/dist/esm/shared-patterns/exceptions/base/error-classifier.js +161 -0
  271. package/dist/esm/shared-patterns/exceptions/base/error-classifier.js.map +1 -0
  272. package/dist/esm/shared-patterns/exceptions/index.d.ts +3 -0
  273. package/dist/esm/shared-patterns/exceptions/index.d.ts.map +1 -0
  274. package/dist/esm/shared-patterns/exceptions/index.js +6 -0
  275. package/dist/esm/shared-patterns/exceptions/index.js.map +1 -0
  276. package/dist/esm/shared-patterns/functions/crypto.functions.d.ts +16 -0
  277. package/dist/esm/shared-patterns/functions/crypto.functions.d.ts.map +1 -0
  278. package/dist/esm/shared-patterns/functions/crypto.functions.js +67 -0
  279. package/dist/esm/shared-patterns/functions/crypto.functions.js.map +1 -0
  280. package/dist/esm/shared-patterns/functions/helper.functions.d.ts +10 -0
  281. package/dist/esm/shared-patterns/functions/helper.functions.d.ts.map +1 -0
  282. package/dist/esm/shared-patterns/functions/helper.functions.js +32 -0
  283. package/dist/esm/shared-patterns/functions/helper.functions.js.map +1 -0
  284. package/dist/esm/shared-patterns/functions/index.d.ts +4 -0
  285. package/dist/esm/shared-patterns/functions/index.d.ts.map +1 -0
  286. package/dist/esm/shared-patterns/functions/index.js +5 -0
  287. package/dist/esm/shared-patterns/functions/index.js.map +1 -0
  288. package/dist/esm/shared-patterns/functions/request.functions.d.ts +14 -0
  289. package/dist/esm/shared-patterns/functions/request.functions.d.ts.map +1 -0
  290. package/dist/esm/shared-patterns/functions/request.functions.js +61 -0
  291. package/dist/esm/shared-patterns/functions/request.functions.js.map +1 -0
  292. package/dist/esm/shared-patterns/index.d.ts +15 -0
  293. package/dist/esm/shared-patterns/index.d.ts.map +1 -0
  294. package/dist/esm/shared-patterns/index.js +28 -0
  295. package/dist/esm/shared-patterns/index.js.map +1 -0
  296. package/dist/esm/shared-patterns/interfaces/index.d.ts +3 -0
  297. package/dist/esm/shared-patterns/interfaces/index.d.ts.map +1 -0
  298. package/dist/esm/shared-patterns/interfaces/index.js +3 -0
  299. package/dist/esm/shared-patterns/interfaces/index.js.map +1 -0
  300. package/dist/esm/shared-patterns/interfaces/request.interface.d.ts +21 -0
  301. package/dist/esm/shared-patterns/interfaces/request.interface.d.ts.map +1 -0
  302. package/dist/esm/shared-patterns/interfaces/request.interface.js +11 -0
  303. package/dist/esm/shared-patterns/interfaces/request.interface.js.map +1 -0
  304. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts +9 -0
  305. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.d.ts.map +1 -0
  306. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js +2 -0
  307. package/dist/esm/shared-patterns/interfaces/stripe-payment-intent-metadata.interface.js.map +1 -0
  308. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts +90 -0
  309. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.d.ts.map +1 -0
  310. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js +116 -0
  311. package/dist/esm/shared-patterns/orchestrators/base-orchestrator.js.map +1 -0
  312. package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts +50 -0
  313. package/dist/esm/shared-patterns/orchestrators/base-workflow.d.ts.map +1 -0
  314. package/dist/esm/shared-patterns/orchestrators/base-workflow.js +64 -0
  315. package/dist/esm/shared-patterns/orchestrators/base-workflow.js.map +1 -0
  316. package/dist/esm/shared-patterns/orchestrators/index.d.ts +26 -0
  317. package/dist/esm/shared-patterns/orchestrators/index.d.ts.map +1 -0
  318. package/dist/esm/shared-patterns/orchestrators/index.js +30 -0
  319. package/dist/esm/shared-patterns/orchestrators/index.js.map +1 -0
  320. package/dist/esm/shared-patterns/utils/error-message.utils.d.ts +175 -0
  321. package/dist/esm/shared-patterns/utils/error-message.utils.d.ts.map +1 -0
  322. package/dist/esm/shared-patterns/utils/error-message.utils.js +244 -0
  323. package/dist/esm/shared-patterns/utils/error-message.utils.js.map +1 -0
  324. package/dist/esm/shared-patterns/utils/index.d.ts +3 -0
  325. package/dist/esm/shared-patterns/utils/index.d.ts.map +1 -0
  326. package/dist/esm/shared-patterns/utils/index.js +4 -0
  327. package/dist/esm/shared-patterns/utils/index.js.map +1 -0
  328. package/dist/esm/shared-patterns/utils/validation.utils.d.ts +49 -0
  329. package/dist/esm/shared-patterns/utils/validation.utils.d.ts.map +1 -0
  330. package/dist/esm/shared-patterns/utils/validation.utils.js +70 -0
  331. package/dist/esm/shared-patterns/utils/validation.utils.js.map +1 -0
  332. package/package.json +2 -25
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Error Classification Enums and Interfaces
3
+ *
4
+ * This file defines the error categorization system used throughout the application.
5
+ *
6
+ * 🎯 DEVELOPER GUIDANCE:
7
+ *
8
+ * When creating errors, choose the appropriate category:
9
+ *
10
+ * 1. DOMAIN_RULE: Business logic violations
11
+ * → Use BusinessLogicError subclasses (e.g., TokenTypeNotFoundError)
12
+ *
13
+ * 2. TECHNICAL: Application/config issues
14
+ * → Use TechnicalError.withMessage() for meaningful technical errors
15
+ *
16
+ * 3. VALIDATION: Input format/validation failures
17
+ * → Let NestJS validation decorators handle these automatically
18
+ *
19
+ * 4. INFRASTRUCTURE: External system failures
20
+ * → These are usually classified automatically from generic Error() instances
21
+ *
22
+ * 5. SECURITY: Auth/authorization issues
23
+ * → Use NestJS guards and filters for consistent security errors
24
+ *
25
+ * 💡 TIP: Prefer structured errors (BusinessLogicError/TechnicalError) over generic Error()
26
+ * for better user experience and debugging capability.
27
+ *
28
+ * 📊 QUICK REFERENCE TABLE:
29
+ * ┌─────────────────┬─────────────┬─────────────────────────────────────┬───────────┐
30
+ * │ Category │ HTTP Status │ Example │ Retryable │
31
+ * ├─────────────────┼─────────────┼─────────────────────────────────────┼───────────┤
32
+ * │ VALIDATION │ 400 │ "Email format invalid" │ No │
33
+ * │ DOMAIN_RULE │ 422 │ "Insufficient balance" │ No │
34
+ * │ TECHNICAL │ 422 │ "Invalid file format" │ Maybe │
35
+ * │ INFRASTRUCTURE │ 503 │ "Database connection failed" │ Yes │
36
+ * │ SECURITY │ 403 │ "Access denied" │ No │
37
+ * │ RATE_LIMIT │ 429 │ "API rate limit exceeded" │ Yes │
38
+ * │ TIMEOUT │ 504 │ "Request timeout" │ Yes │
39
+ * │ UNKNOWN │ 500 │ Generic Error() instances │ Yes │
40
+ * └─────────────────┴─────────────┴─────────────────────────────────────┴───────────┘
41
+ */
42
+ // Note: ErrorCategory is now imported from @explorins/pers-shared
43
+ // This library contains only the detailed classification enums and interfaces
44
+ /**
45
+ * Error severity levels for prioritization and alerting
46
+ *
47
+ * Determines the urgency of response and escalation procedures:
48
+ * - Monitoring alert thresholds
49
+ * - On-call escalation policies
50
+ * - SLA response times
51
+ * - Business impact assessment
52
+ */
53
+ export var ErrorSeverity;
54
+ (function (ErrorSeverity) {
55
+ /**
56
+ * Low severity - Minor issues, degraded experience but service functional
57
+ * Examples: Optional feature failures, cosmetic issues, non-critical warnings
58
+ * Response Time: 24-48 hours
59
+ * Escalation: Development team during business hours
60
+ * Business Impact: Minimal
61
+ */
62
+ ErrorSeverity["LOW"] = "LOW";
63
+ /**
64
+ * Medium severity - Noticeable issues, some functionality impaired
65
+ * Examples: Performance degradation, secondary feature failures, data sync delays
66
+ * Response Time: 4-8 hours
67
+ * Escalation: Development team within same day
68
+ * Business Impact: Moderate
69
+ */
70
+ ErrorSeverity["MEDIUM"] = "MEDIUM";
71
+ /**
72
+ * High severity - Significant issues, core functionality impaired
73
+ * Examples: Payment failures, authentication issues, critical feature outages
74
+ * Response Time: 1-2 hours
75
+ * Escalation: Immediate development team notification
76
+ * Business Impact: High
77
+ */
78
+ ErrorSeverity["HIGH"] = "HIGH";
79
+ /**
80
+ * Critical severity - System down, major business impact
81
+ * Examples: Complete service outage, data corruption, security breaches
82
+ * Response Time: Immediate (< 15 minutes)
83
+ * Escalation: Page on-call engineer, notify leadership
84
+ * Business Impact: Severe
85
+ */
86
+ ErrorSeverity["CRITICAL"] = "CRITICAL";
87
+ })(ErrorSeverity || (ErrorSeverity = {}));
88
+ // Note: All interfaces moved to @explorins/pers-shared for proper data contract separation
89
+ /**
90
+ * HTTP Status codes used by our error classification system
91
+ *
92
+ * Centralized here to maintain consistency across error classification
93
+ * and avoid duplication with NestJS HttpStatus values.
94
+ */
95
+ export var ErrorHttpStatus;
96
+ (function (ErrorHttpStatus) {
97
+ ErrorHttpStatus[ErrorHttpStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
98
+ ErrorHttpStatus[ErrorHttpStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
99
+ ErrorHttpStatus[ErrorHttpStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
100
+ ErrorHttpStatus[ErrorHttpStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
101
+ ErrorHttpStatus[ErrorHttpStatus["CONFLICT"] = 409] = "CONFLICT";
102
+ ErrorHttpStatus[ErrorHttpStatus["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
103
+ ErrorHttpStatus[ErrorHttpStatus["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
104
+ ErrorHttpStatus[ErrorHttpStatus["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
105
+ ErrorHttpStatus[ErrorHttpStatus["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
106
+ ErrorHttpStatus[ErrorHttpStatus["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
107
+ })(ErrorHttpStatus || (ErrorHttpStatus = {}));
108
+ //# sourceMappingURL=error-classification-enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-classification-enums.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classification-enums.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kEAAkE;AAClE,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,aAoCX;AApCD,WAAY,aAAa;IACvB;;;;;;OAMG;IACH,4BAAW,CAAA;IAEX;;;;;;OAMG;IACH,kCAAiB,CAAA;IAEjB;;;;;;OAMG;IACH,8BAAa,CAAA;IAEb;;;;;;OAMG;IACH,sCAAqB,CAAA;AACvB,CAAC,EApCW,aAAa,KAAb,aAAa,QAoCxB;AAoBD,2FAA2F;AAE3F;;;;;GAKG;AACH,MAAM,CAAN,IAAY,eAWX;AAXD,WAAY,eAAe;IACzB,qEAAiB,CAAA;IACjB,uEAAkB,CAAA;IAClB,iEAAe,CAAA;IACf,iEAAe,CAAA;IACf,+DAAc,CAAA;IACd,uFAA0B,CAAA;IAC1B,iFAAuB,CAAA;IACvB,yFAA2B,CAAA;IAC3B,qFAAyB,CAAA;IACzB,6EAAqB,CAAA;AACvB,CAAC,EAXW,eAAe,KAAf,eAAe,QAW1B"}
@@ -0,0 +1,23 @@
1
+ import { StructuredError } from '../../../shared-lib/errors';
2
+ /**
3
+ * Error classification utilities with 3-path decision logic
4
+ */
5
+ export declare class ErrorClassifier {
6
+ /**
7
+ * Simplified error classification with 3-path logic
8
+ * 1. BusinessLogicError -> Preserve structure (fast path)
9
+ * 2. TechnicalError -> Preserve message (fast path)
10
+ * 3. Everything else -> Security-first fallback
11
+ */
12
+ static classify(error: any, domain: string): StructuredError;
13
+ /**
14
+ * Determine if an error message is safe to expose to users
15
+ * Uses a balanced approach: block sensitive system data while allowing business messages
16
+ */
17
+ private static isSafeForUsers;
18
+ /**
19
+ * Convert structured error to HTTP status code
20
+ */
21
+ static getHttpStatusCode(structuredError: StructuredError): number;
22
+ }
23
+ //# sourceMappingURL=error-classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,eAAe,EAAkB,MAAM,4BAA4B,CAAC;AAGhH;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe;IAyE5D;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAgE7B;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM;CAkBnE"}
@@ -0,0 +1,161 @@
1
+ import { BusinessLogicError, ErrorCategory, TechnicalError } from '../../../shared-lib/errors';
2
+ import { ErrorHttpStatus } from './error-classification-enums';
3
+ /**
4
+ * Error classification utilities with 3-path decision logic
5
+ */
6
+ export class ErrorClassifier {
7
+ /**
8
+ * Simplified error classification with 3-path logic
9
+ * 1. BusinessLogicError -> Preserve structure (fast path)
10
+ * 2. TechnicalError -> Preserve message (fast path)
11
+ * 3. Everything else -> Security-first fallback
12
+ */
13
+ static classify(error, domain) {
14
+ // Fast path 1: BusinessLogicError (already structured)
15
+ if (BusinessLogicError.isBusinessError(error)) {
16
+ const response = error.getResponse();
17
+ const responseObj = typeof response === 'object' ? response : {};
18
+ return {
19
+ status: 422,
20
+ title: 'Business Rule Violation',
21
+ detail: responseObj.message || error.message,
22
+ message: responseObj.message || error.message,
23
+ code: responseObj.code || 'BUSINESS_ERROR',
24
+ category: ErrorCategory.DOMAIN_RULE,
25
+ timestamp: new Date().toISOString(),
26
+ retryable: false,
27
+ userMessage: responseObj.message || error.message
28
+ };
29
+ }
30
+ // Fast path 2: TechnicalError (preserve meaningful messages)
31
+ if (error instanceof TechnicalError) {
32
+ const response = error.getResponse();
33
+ const responseObj = typeof response === 'object' ? response : {};
34
+ return {
35
+ status: 503,
36
+ title: 'Technical Error',
37
+ detail: responseObj.message || error.message,
38
+ message: responseObj.message || error.message,
39
+ code: 'TECHNICAL_ERROR',
40
+ category: ErrorCategory.INFRASTRUCTURE,
41
+ timestamp: new Date().toISOString(),
42
+ retryable: true,
43
+ userMessage: responseObj.message || error.message
44
+ };
45
+ }
46
+ // Fast path 3: HttpExceptions with BUSINESS_LOGIC category (for backward compatibility)
47
+ if (typeof error.getStatus === 'function') {
48
+ const response = error.getResponse ? error.getResponse() : null;
49
+ if (typeof response === 'object' && response?.category === 'BUSINESS_LOGIC') {
50
+ const responseObj = response;
51
+ return {
52
+ status: 422,
53
+ title: 'Business Rule Violation',
54
+ detail: responseObj.message || error.message,
55
+ message: responseObj.message || error.message,
56
+ code: responseObj.code || 'BUSINESS_ERROR',
57
+ category: ErrorCategory.DOMAIN_RULE,
58
+ timestamp: new Date().toISOString(),
59
+ retryable: false,
60
+ userMessage: responseObj.message || error.message
61
+ };
62
+ }
63
+ }
64
+ // Security-first fallback for everything else
65
+ const message = error.message || 'Unknown error';
66
+ // Check if error message is safe to expose to users
67
+ const isSafe = this.isSafeForUsers(message);
68
+ return {
69
+ status: 500,
70
+ title: 'Internal Server Error',
71
+ detail: isSafe ? message : 'An unexpected error occurred',
72
+ message: isSafe ? message : 'Internal server error',
73
+ code: 'INTERNAL_ERROR',
74
+ category: ErrorCategory.UNKNOWN,
75
+ timestamp: new Date().toISOString(),
76
+ retryable: true,
77
+ userMessage: isSafe ? message : 'An unexpected error occurred. Please try again.'
78
+ };
79
+ }
80
+ /**
81
+ * Determine if an error message is safe to expose to users
82
+ * Uses a balanced approach: block sensitive system data while allowing business messages
83
+ */
84
+ static isSafeForUsers(message) {
85
+ if (!message || message.length < 3 || message.length > 300)
86
+ return false;
87
+ // Allow common business error phrases that are safe for users
88
+ const safeBusinessPatterns = [
89
+ /cannot process payment/i,
90
+ /unable to complete transaction/i,
91
+ /insufficient (balance|funds)/i,
92
+ /user not found/i,
93
+ /token not active/i,
94
+ /wallet not found/i,
95
+ /invalid (amount|address|format)/i,
96
+ /transaction (failed|rejected|expired)/i,
97
+ /account (locked|inactive|suspended)/i,
98
+ /permission denied/i,
99
+ /rate limit exceeded/i,
100
+ /service temporarily unavailable/i
101
+ ];
102
+ // If it matches safe business patterns, allow it
103
+ if (safeBusinessPatterns.some(pattern => pattern.test(message))) {
104
+ return true;
105
+ }
106
+ // Block definitely unsafe patterns (system internals and sensitive data)
107
+ const unsafePatterns = [
108
+ // System internals with technical context
109
+ /internal server error/i,
110
+ /database connection (failed|lost|timeout)/i,
111
+ /sql (error|exception|syntax)/i,
112
+ /stack trace|stacktrace/i,
113
+ /undefined (property|method|function)/i,
114
+ /null pointer|reference error/i,
115
+ // Sensitive data indicators
116
+ /secret|password|private.?key|credential/i,
117
+ /jwt.?token|bearer.?token|api.?key/i,
118
+ /localhost|127\.0\.0\.1|192\.168\.|10\.\d+\./i,
119
+ /\.env|config\.json|\.xml|\.yml/i,
120
+ // Technical stack traces and system paths
121
+ /\/var\/|\/etc\/|\/home\/|\/usr\/bin|\/opt\//i,
122
+ /node_modules|package\.json|tsconfig/i,
123
+ /at Object\.|at Function\.|at async/i,
124
+ // Database and system queries
125
+ /SELECT.*FROM|INSERT.*INTO|UPDATE.*SET/i,
126
+ /mongodb|postgresql|redis|elasticsearch/i
127
+ ];
128
+ // Block if it matches unsafe patterns
129
+ if (unsafePatterns.some(pattern => pattern.test(message))) {
130
+ return false;
131
+ }
132
+ // For everything else, apply basic safety checks
133
+ // Allow if it looks like a user-friendly business message
134
+ const hasBusinessContext = /\b(user|account|transaction|payment|balance|wallet|token)\b/i.test(message);
135
+ const hasGenericWords = /\b(invalid|missing|required|expired|failed|rejected|denied)\b/i.test(message);
136
+ const noSystemJargon = !/\b(undefined|null|exception|stack|trace|object|function|method|class)\b/i.test(message);
137
+ return (hasBusinessContext || hasGenericWords) && noSystemJargon;
138
+ }
139
+ /**
140
+ * Convert structured error to HTTP status code
141
+ */
142
+ static getHttpStatusCode(structuredError) {
143
+ switch (structuredError.category) {
144
+ case ErrorCategory.VALIDATION:
145
+ return ErrorHttpStatus.BAD_REQUEST;
146
+ case ErrorCategory.DOMAIN_RULE:
147
+ return ErrorHttpStatus.UNPROCESSABLE_ENTITY;
148
+ case ErrorCategory.SECURITY:
149
+ return ErrorHttpStatus.FORBIDDEN;
150
+ case ErrorCategory.RATE_LIMIT:
151
+ return ErrorHttpStatus.TOO_MANY_REQUESTS;
152
+ case ErrorCategory.TIMEOUT:
153
+ return ErrorHttpStatus.GATEWAY_TIMEOUT;
154
+ case ErrorCategory.INFRASTRUCTURE:
155
+ return ErrorHttpStatus.SERVICE_UNAVAILABLE;
156
+ default:
157
+ return ErrorHttpStatus.INTERNAL_SERVER_ERROR;
158
+ }
159
+ }
160
+ }
161
+ //# sourceMappingURL=error-classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../../../../../src/shared-patterns/exceptions/base/error-classifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './base/error-classification-enums';
2
+ export { ErrorClassifier } from './base/error-classifier';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/exceptions/index.ts"],"names":[],"mappings":"AACA,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Error classification utilities (patterns-specific logic only)
2
+ export * from './base/error-classification-enums';
3
+ export { ErrorClassifier } from './base/error-classifier';
4
+ // Note: All error classes (BusinessLogicError, TechnicalError, domain errors) are exported from @explorins/pers-shared
5
+ // This library only contains error classification logic and patterns
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/exceptions/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,uHAAuH;AACvH,qEAAqE"}
@@ -0,0 +1,16 @@
1
+ type KeyFormat = 'pem';
2
+ type KeyType = 'pkcs1' | 'pkcs8';
3
+ export interface EncryptedDataObject {
4
+ encryptedData: string;
5
+ iv: string;
6
+ authTag: string;
7
+ }
8
+ export declare const hashString: (input: string, maxLength?: number | null, algorithm?: "sha256" | "sha512" | "md5") => string;
9
+ export declare const checkMatching: (plainString: string, hashedString: string) => Promise<any>;
10
+ export declare const hashPassword: (password: string, saltRounds?: number) => Promise<string>;
11
+ export declare const generatePseudoRandomData: (size?: number) => string;
12
+ export declare const generateDecryptedPrivateKey: (privateKey: string, passphrase: string | undefined, keyType?: KeyType, keyFormat?: KeyFormat) => string;
13
+ export declare const encryptData: (data: string, encryptionKey: string) => EncryptedDataObject;
14
+ export declare const decryptData: (encryptedDataObject: EncryptedDataObject, encryptionKey: string) => string;
15
+ export {};
16
+ //# sourceMappingURL=crypto.functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/crypto.functions.ts"],"names":[],"mappings":"AAKA,KAAK,SAAS,GAAG,KAAK,CAAE;AACxB,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AAEC,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,YAAW,MAAM,GAAG,IAAW,EAAE,YAAW,QAAQ,GAAG,QAAQ,GAAG,KAAgB,KAAG,MAO9H,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,aAAa,MAAM,EAAE,cAAc,MAAM,iBAG5E,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,EAAE,aAAY,MAA0B,KAAG,OAAO,CAAC,MAAM,CAE3G,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,OAAM,MAAW,WAKzD,CAAA;AAED,eAAO,MAAM,2BAA2B,GACpC,YAAY,MAAM,EAClB,YAAY,MAAM,GAAG,SAAS,EAC9B,UAAS,OAAiB,EAC1B,YAAW,SAAiB,KAC7B,MAWJ,CAAA;AAEH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,eAAe,MAAM,KAAG,mBAmBjE,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,qBAAqB,mBAAmB,EAAE,eAAe,MAAM,KAAG,MAgB7F,CAAA"}
@@ -0,0 +1,67 @@
1
+ import * as crypto from 'crypto';
2
+ import { randomBytes } from 'crypto';
3
+ const bcrypt = require('bcryptjs');
4
+ const defaultSaltRounds = 10;
5
+ export const hashString = (input, maxLength = null, algorithm = 'sha256') => {
6
+ // Generate a hash of the input string
7
+ let hash = crypto.createHash(algorithm).update(input).digest('hex');
8
+ if (typeof maxLength === 'number' && hash.length > maxLength) {
9
+ hash = hash.substring(0, maxLength);
10
+ }
11
+ return hash;
12
+ };
13
+ export const checkMatching = async (plainString, hashedString) => {
14
+ const match = await bcrypt.compare(plainString, hashedString);
15
+ return match;
16
+ };
17
+ export const hashPassword = async (password, saltRounds = defaultSaltRounds) => {
18
+ return await bcrypt.hash(password, saltRounds);
19
+ };
20
+ export const generatePseudoRandomData = (size = 32) => {
21
+ // Convert the byte array into a hexadecimal string
22
+ let salt = randomBytes(size).toString('hex');
23
+ return salt;
24
+ };
25
+ export const generateDecryptedPrivateKey = (privateKey, passphrase, keyType = 'pkcs8', keyFormat = 'pem') => {
26
+ const decryptedPrivateKey = crypto.createPrivateKey({
27
+ key: privateKey,
28
+ format: keyFormat,
29
+ type: keyType,
30
+ passphrase: passphrase,
31
+ });
32
+ return decryptedPrivateKey.export({ format: keyFormat, type: keyType }).toString();
33
+ };
34
+ export const encryptData = (data, encryptionKey) => {
35
+ try {
36
+ const key = Buffer.from(encryptionKey, 'hex');
37
+ const iv = crypto.randomBytes(16);
38
+ const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
39
+ let encryptedData = cipher.update(data, 'utf8', 'hex');
40
+ encryptedData += cipher.final('hex');
41
+ const authTag = cipher.getAuthTag().toString('hex');
42
+ return {
43
+ encryptedData,
44
+ iv: iv.toString('hex'),
45
+ authTag
46
+ };
47
+ }
48
+ catch (error) {
49
+ throw new Error('Error encrypting data: ' + error.message);
50
+ }
51
+ };
52
+ export const decryptData = (encryptedDataObject, encryptionKey) => {
53
+ try {
54
+ const key = Buffer.from(encryptionKey, 'hex');
55
+ const ivBuffer = Buffer.from(encryptedDataObject.iv, 'hex');
56
+ const authTagBuffer = Buffer.from(encryptedDataObject.authTag, 'hex');
57
+ const decipher = crypto.createDecipheriv('aes-256-gcm', key, ivBuffer);
58
+ decipher.setAuthTag(authTagBuffer);
59
+ let decryptedData = decipher.update(encryptedDataObject.encryptedData, 'hex', 'utf8');
60
+ decryptedData += decipher.final('utf8');
61
+ return decryptedData;
62
+ }
63
+ catch (error) {
64
+ throw new Error('Error decrypting data: ' + error.message);
65
+ }
66
+ };
67
+ //# sourceMappingURL=crypto.functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/crypto.functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parses a comma-separated string into an array of strings.
3
+ *
4
+ * @param commaSeparatedString - The string to parse.
5
+ * @returns An array of trimmed, non-empty strings.
6
+ */
7
+ export declare const parseCommaSeparatedStringToStringArray: (commaSeparatedString: string | null) => string[];
8
+ export declare const checkIfTokenIdIsUri: (tokenId: string | null) => boolean;
9
+ export declare const compareVersions: (version1: string, version2: string) => number;
10
+ //# sourceMappingURL=helper.functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"AAEA;;;;;KAKK;AACL,eAAO,MAAM,sCAAsC,GAAI,sBAAsB,MAAM,GAAG,IAAI,KAAG,MAAM,EAI9F,CAAA;AAGL,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,OAM5D,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,MAWpE,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Parses a comma-separated string into an array of strings.
3
+ *
4
+ * @param commaSeparatedString - The string to parse.
5
+ * @returns An array of trimmed, non-empty strings.
6
+ */
7
+ export const parseCommaSeparatedStringToStringArray = (commaSeparatedString) => {
8
+ return commaSeparatedString
9
+ ? commaSeparatedString.split(',').map((s) => s.trim()).filter(Boolean)
10
+ : [];
11
+ };
12
+ export const checkIfTokenIdIsUri = (tokenId) => {
13
+ const uriRegex = /^(https?|ipfs):\/\/.*/;
14
+ if (!tokenId || !uriRegex.test(tokenId)) {
15
+ return false;
16
+ }
17
+ return true;
18
+ };
19
+ export const compareVersions = (version1, version2) => {
20
+ const v1 = version1.split('.').map(Number);
21
+ const v2 = version2.split('.').map(Number);
22
+ for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
23
+ const num1 = v1[i] || 0;
24
+ const num2 = v2[i] || 0;
25
+ if (num1 > num2)
26
+ return 1;
27
+ if (num1 < num2)
28
+ return -1;
29
+ }
30
+ return 0;
31
+ };
32
+ //# sourceMappingURL=helper.functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/helper.functions.ts"],"names":[],"mappings":"AAEA;;;;;KAKK;AACL,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,oBAAmC,EAAY,EAAE;IACpG,OAAO,oBAAoB;QACzB,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC;AACP,CAAC,CAAA;AAGL,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAsB,EAAW,EAAE;IACnE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;IAC3C,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAU,EAAE;IAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC;QAC1B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './helper.functions';
2
+ export * from './request.functions';
3
+ export * from './crypto.functions';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // Functions Barrel - Auto-exports all functions
2
+ export * from './helper.functions';
3
+ export * from './request.functions';
4
+ export * from './crypto.functions';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/index.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { AllowedAppRequestHeaders, ExtendedAppRequest } from "../interfaces/request.interface";
2
+ export declare const extractTokenFromHeader: (request: Request, tokenName: keyof AllowedAppRequestHeaders) => string | undefined;
3
+ export declare const getIpFromRequest: (request: Request | ExtendedAppRequest) => string | null;
4
+ /**
5
+ * Anonymize IP address for privacy compliance (GDPR/CCPA)
6
+ * Removes last octet for IPv4, last 80 bits for IPv6
7
+ */
8
+ export declare const anonymizeIp: (ip: string | null) => string | null;
9
+ export declare const getTenantFromStripeRequest: (req: Request) => {
10
+ tenantId: string;
11
+ isTestnet: boolean;
12
+ } | undefined;
13
+ export declare const setRequestValue: (request: Request, key: keyof ExtendedAppRequest, value: any) => void;
14
+ //# sourceMappingURL=request.functions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.functions.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/request.functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAI/F,eAAO,MAAM,sBAAsB,GAAI,SAAS,OAAO,EAAE,WAAW,MAAM,wBAAwB,KAAG,MAAM,GAAG,SAI3G,CAAA;AAGH,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,GAAG,kBAAkB,KAAG,MAAM,GAAG,IAejF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,IAoBxD,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,KAAK,OAAO;cASnB,MAAM;eACJ,OAAO;aAE5C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,EAAE,KAAK,MAAM,kBAAkB,EAAE,OAAO,GAAG,SAE1F,CAAA"}
@@ -0,0 +1,61 @@
1
+ export const extractTokenFromHeader = (request, tokenName) => {
2
+ // get key from header
3
+ const token = request?.headers ? (request?.headers)[tokenName] || '' : '';
4
+ return token;
5
+ };
6
+ // Enhanced IP extraction with better proxy support
7
+ export const getIpFromRequest = (request) => {
8
+ // Try multiple IP sources in order of preference
9
+ const ip = request.ip ||
10
+ request.headers['x-forwarded-for']?.split(',')[0]?.trim() ||
11
+ request.headers['x-real-ip']?.trim() ||
12
+ request.connection?.remoteAddress?.trim() ||
13
+ request.socket?.remoteAddress?.trim() ||
14
+ null;
15
+ // Clean IPv6 mapped IPv4 addresses
16
+ if (ip?.startsWith('::ffff:')) {
17
+ return ip.substring(7);
18
+ }
19
+ return ip;
20
+ };
21
+ /**
22
+ * Anonymize IP address for privacy compliance (GDPR/CCPA)
23
+ * Removes last octet for IPv4, last 80 bits for IPv6
24
+ */
25
+ export const anonymizeIp = (ip) => {
26
+ if (!ip)
27
+ return null;
28
+ // IPv4 anonymization - remove last octet
29
+ if (ip.includes('.') && !ip.includes(':')) {
30
+ const parts = ip.split('.');
31
+ if (parts.length === 4) {
32
+ return `${parts[0]}.${parts[1]}.${parts[2]}.0`;
33
+ }
34
+ }
35
+ // IPv6 anonymization - remove last 80 bits (keep first 48 bits)
36
+ if (ip.includes(':')) {
37
+ const parts = ip.split(':');
38
+ if (parts.length >= 3) {
39
+ return `${parts[0]}:${parts[1]}:${parts[2]}::`;
40
+ }
41
+ }
42
+ return ip; // Return as-is if format not recognized
43
+ };
44
+ export const getTenantFromStripeRequest = (req) => {
45
+ const sig = req?.headers ? (req?.headers)['stripe-signature'] || '' : '';
46
+ if (!sig)
47
+ return;
48
+ const body = req?.body;
49
+ const data = body?.data;
50
+ const object = data?.object;
51
+ const metadata = object?.metadata;
52
+ return {
53
+ tenantId: metadata?.tenantId,
54
+ isTestnet: metadata?.isTestnet,
55
+ };
56
+ };
57
+ export const setRequestValue = (request, key, value) => {
58
+ if (request)
59
+ request[key] = value;
60
+ };
61
+ //# sourceMappingURL=request.functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.functions.js","sourceRoot":"","sources":["../../../../src/shared-patterns/functions/request.functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export * from './orchestrators';
2
+ export * from './database';
3
+ export * from './utils';
4
+ export * from './exceptions';
5
+ export * from './enums/lambda.enum';
6
+ export * from './functions';
7
+ export * from './interfaces';
8
+ export * from '../shared-lib/enum';
9
+ export * from '../shared-lib/value-objects';
10
+ export * from '../shared-lib/interfaces';
11
+ export * from '../shared-lib/types';
12
+ export * from '../shared-lib/dto';
13
+ export * from '../shared-lib/errors';
14
+ export * from './errors/error-factory';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared-patterns/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAGhC,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,aAAa,CAAC;AAE5B,cAAc,cAAc,CAAC;AAK7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,wBAAwB,CAAC"}