@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,175 @@
1
+ /**
2
+ * Standardized error message generators for consistent error handling across applications
3
+ *
4
+ * This utility provides reusable message generation functions for common error scenarios:
5
+ * - Authentication context errors
6
+ * - Resource not found errors
7
+ * - Access denied errors
8
+ * - Validation errors
9
+ * - Business rule violations
10
+ * - Database operation errors
11
+ *
12
+ * @example
13
+ * import { generateAuthRequiredMessage, generateNotFoundMessage } from '@explorins/pers-shared-patterns';
14
+ *
15
+ * const message = generateAuthRequiredMessage(['user', 'admin']);
16
+ * // "User or admin authentication required"
17
+ *
18
+ * const notFound = generateNotFoundMessage('transaction', 'tx-123');
19
+ * // "Transaction with identifier 'tx-123' not found"
20
+ */
21
+ /**
22
+ * Authentication context types supported across applications
23
+ */
24
+ export type AuthenticationContext = 'user' | 'business' | 'admin' | 'tenant';
25
+ /**
26
+ * Resource types commonly used in error messages
27
+ */
28
+ export type ResourceType = 'user' | 'business' | 'admin' | 'campaign' | 'transaction' | 'redemption' | 'wallet' | 'contract' | 'tenant' | 'token' | 'signing-account';
29
+ /**
30
+ * Database operation types for error reporting
31
+ */
32
+ export type DatabaseOperation = 'save' | 'find' | 'delete' | 'update' | 'query';
33
+ /**
34
+ * Generate standardized authentication required error message
35
+ * @param requiredContexts - Array of required authentication contexts
36
+ * @param action - Optional action description (e.g., 'for redemption processing')
37
+ * @returns Standardized error message
38
+ */
39
+ export declare function generateAuthRequiredMessage(requiredContexts: AuthenticationContext[], action?: string): string;
40
+ /**
41
+ * Generate standardized "not found" error message
42
+ * @param resourceType - Type of resource that was not found
43
+ * @param identifier - Optional identifier (ID, email, etc.)
44
+ * @returns Standardized not found message
45
+ */
46
+ export declare function generateNotFoundMessage(resourceType: ResourceType, identifier?: string): string;
47
+ /**
48
+ * Generate standardized "access denied" error message
49
+ * @param action - The action being attempted
50
+ * @param resource - Optional resource context
51
+ * @returns Standardized access denied message
52
+ */
53
+ export declare function generateAccessDeniedMessage(action: string, resource?: string): string;
54
+ /**
55
+ * Generate standardized validation error message
56
+ * @param field - Field that failed validation
57
+ * @param constraint - The validation constraint
58
+ * @returns Standardized validation message
59
+ */
60
+ export declare function generateValidationMessage(field: string, constraint: string): string;
61
+ /**
62
+ * Generate standardized business rule violation message
63
+ * @param rule - The business rule that was violated
64
+ * @param context - Optional context information
65
+ * @returns Standardized business rule message
66
+ */
67
+ export declare function generateBusinessRuleMessage(rule: string, context?: string): string;
68
+ /**
69
+ * Generate standardized database error message
70
+ * @param operation - The database operation that failed
71
+ * @param resourceType - Type of resource involved
72
+ * @param details - Optional error details
73
+ * @returns Standardized database error message
74
+ */
75
+ export declare function generateDatabaseErrorMessage(operation: DatabaseOperation, resourceType: ResourceType, details?: string): string;
76
+ /**
77
+ * Generate standardized input validation error message
78
+ * @param parameter - The parameter that failed validation
79
+ * @param requirement - What the parameter should meet
80
+ * @returns Standardized input validation message
81
+ */
82
+ export declare function generateInputValidationMessage(parameter: string, requirement: string): string;
83
+ /**
84
+ * Generate standardized operation error message
85
+ * @param operation - The operation that was attempted
86
+ * @param reason - Why it failed
87
+ * @returns Standardized operation error message
88
+ */
89
+ export declare function generateOperationErrorMessage(operation: string, reason: string): string;
90
+ /**
91
+ * Common error message constants for quick access
92
+ */
93
+ export declare const ERROR_MESSAGE_TEMPLATES: {
94
+ readonly AUTH: {
95
+ readonly USER_ONLY: () => string;
96
+ readonly BUSINESS_ONLY: () => string;
97
+ readonly ADMIN_ONLY: () => string;
98
+ readonly USER_OR_BUSINESS: () => string;
99
+ readonly USER_OR_ADMIN: () => string;
100
+ readonly BUSINESS_OR_ADMIN: () => string;
101
+ readonly USER_BUSINESS_OR_ADMIN: () => string;
102
+ readonly ANY_AUTH: () => string;
103
+ readonly FOR_REDEMPTION: () => string;
104
+ readonly FOR_TRANSACTION: () => string;
105
+ readonly FOR_ADMIN_ACTION: () => string;
106
+ };
107
+ readonly NOT_FOUND: {
108
+ readonly USER: (id?: string) => string;
109
+ readonly BUSINESS: (id?: string) => string;
110
+ readonly ADMIN: (id?: string) => string;
111
+ readonly CAMPAIGN: (id?: string) => string;
112
+ readonly TRANSACTION: (id?: string) => string;
113
+ readonly REDEMPTION: (id?: string) => string;
114
+ readonly WALLET: (id?: string) => string;
115
+ readonly CONTRACT: (address?: string) => string;
116
+ readonly TENANT: (id?: string) => string;
117
+ readonly TOKEN: (id?: string) => string;
118
+ readonly SIGNING_ACCOUNT: (id?: string) => string;
119
+ };
120
+ readonly ACCESS_DENIED: {
121
+ readonly VIEW_RESOURCE: (resource: string) => string;
122
+ readonly MODIFY_RESOURCE: (resource: string) => string;
123
+ readonly DELETE_RESOURCE: (resource: string) => string;
124
+ readonly EXECUTE_ACTION: (action: string) => string;
125
+ };
126
+ readonly VALIDATION: {
127
+ readonly REQUIRED_FIELD: (field: string) => string;
128
+ readonly INVALID_FORMAT: (field: string, format: string) => string;
129
+ readonly OUT_OF_RANGE: (field: string, min?: number, max?: number) => string;
130
+ };
131
+ readonly BUSINESS_RULES: {
132
+ readonly REDEMPTION_LIMIT_REACHED: () => string;
133
+ readonly INSUFFICIENT_BALANCE: (required?: string) => string;
134
+ readonly GEOGRAPHIC_RESTRICTION: (location: string) => string;
135
+ readonly STATUS_NOT_ALLOWED: (status: string, action: string) => string;
136
+ };
137
+ readonly DATABASE: {
138
+ readonly SAVE_FAILED: (resourceType: ResourceType, details?: string) => string;
139
+ readonly FIND_FAILED: (resourceType: ResourceType, details?: string) => string;
140
+ readonly DELETE_FAILED: (resourceType: ResourceType, details?: string) => string;
141
+ readonly UPDATE_FAILED: (resourceType: ResourceType, details?: string) => string;
142
+ readonly QUERY_FAILED: (resourceType: ResourceType, details?: string) => string;
143
+ };
144
+ readonly INPUT_VALIDATION: {
145
+ readonly REQUIRED: (param: string) => string;
146
+ readonly EMPTY: (param: string) => string;
147
+ readonly INVALID_FORMAT: (param: string, format: string) => string;
148
+ readonly OUT_OF_RANGE: (param: string, range: string) => string;
149
+ readonly INVALID_COMBINATION: (params: string) => string;
150
+ readonly MISSING_FIELD: (param: string) => string;
151
+ };
152
+ readonly OPERATIONS: {
153
+ readonly TRANSACTION_FAILED: (reason: string) => string;
154
+ readonly SIGNATURE_FAILED: (reason: string) => string;
155
+ readonly WALLET_OPERATION_FAILED: (reason: string) => string;
156
+ readonly CONTRACT_INTERACTION_FAILED: (reason: string) => string;
157
+ readonly DATA_PROCESSING_FAILED: (reason: string) => string;
158
+ };
159
+ };
160
+ /**
161
+ * Database operation error helper function
162
+ * Creates appropriate errors for database operations using the centralized ErrorFactory
163
+ */
164
+ export declare function DatabaseOperationError(operation: DatabaseOperation, resourceType: ResourceType, details?: string): void;
165
+ /**
166
+ * Input validation error helper function
167
+ * Creates appropriate validation errors using the centralized ErrorFactory
168
+ */
169
+ export declare function InputValidationError(field: string, requirement: string, providedValue?: any): void;
170
+ /**
171
+ * Operation failure error helper function
172
+ * Creates appropriate operation errors using the centralized ErrorFactory
173
+ */
174
+ export declare function OperationFailureError(operation: string, reason: string, retryable?: boolean): void;
175
+ //# sourceMappingURL=error-message.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.utils.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/error-message.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Standardized error message generators for consistent error handling across applications
3
+ *
4
+ * This utility provides reusable message generation functions for common error scenarios:
5
+ * - Authentication context errors
6
+ * - Resource not found errors
7
+ * - Access denied errors
8
+ * - Validation errors
9
+ * - Business rule violations
10
+ * - Database operation errors
11
+ *
12
+ * @example
13
+ * import { generateAuthRequiredMessage, generateNotFoundMessage } from '@explorins/pers-shared-patterns';
14
+ *
15
+ * const message = generateAuthRequiredMessage(['user', 'admin']);
16
+ * // "User or admin authentication required"
17
+ *
18
+ * const notFound = generateNotFoundMessage('transaction', 'tx-123');
19
+ * // "Transaction with identifier 'tx-123' not found"
20
+ */
21
+ /**
22
+ * Generate standardized authentication required error message
23
+ * @param requiredContexts - Array of required authentication contexts
24
+ * @param action - Optional action description (e.g., 'for redemption processing')
25
+ * @returns Standardized error message
26
+ */
27
+ export function generateAuthRequiredMessage(requiredContexts, action) {
28
+ const contextMap = {
29
+ user: 'user',
30
+ business: 'business',
31
+ admin: 'admin',
32
+ tenant: 'tenant'
33
+ };
34
+ if (requiredContexts.length === 0) {
35
+ return `Authentication required${action ? ` ${action}` : ''}`;
36
+ }
37
+ if (requiredContexts.length === 1) {
38
+ return `${contextMap[requiredContexts[0]].charAt(0).toUpperCase() + contextMap[requiredContexts[0]].slice(1)} authentication required${action ? ` ${action}` : ''}`;
39
+ }
40
+ if (requiredContexts.length === 2) {
41
+ return `${contextMap[requiredContexts[0]].charAt(0).toUpperCase() + contextMap[requiredContexts[0]].slice(1)} or ${contextMap[requiredContexts[1]]} authentication required${action ? ` ${action}` : ''}`;
42
+ }
43
+ // For 3+ contexts, use comma separation with "or" before the last one
44
+ const lastContext = requiredContexts[requiredContexts.length - 1];
45
+ const otherContexts = requiredContexts.slice(0, -1);
46
+ const otherContextsStr = otherContexts.map(ctx => contextMap[ctx]).join(', ');
47
+ return `${otherContextsStr.charAt(0).toUpperCase() + otherContextsStr.slice(1)}, or ${contextMap[lastContext]} authentication required${action ? ` ${action}` : ''}`;
48
+ }
49
+ /**
50
+ * Generate standardized "not found" error message
51
+ * @param resourceType - Type of resource that was not found
52
+ * @param identifier - Optional identifier (ID, email, etc.)
53
+ * @returns Standardized not found message
54
+ */
55
+ export function generateNotFoundMessage(resourceType, identifier) {
56
+ const resource = resourceType.charAt(0).toUpperCase() + resourceType.slice(1);
57
+ return identifier
58
+ ? `${resource} with identifier '${identifier}' not found`
59
+ : `${resource} not found`;
60
+ }
61
+ /**
62
+ * Generate standardized "access denied" error message
63
+ * @param action - The action being attempted
64
+ * @param resource - Optional resource context
65
+ * @returns Standardized access denied message
66
+ */
67
+ export function generateAccessDeniedMessage(action, resource) {
68
+ return resource
69
+ ? `Access denied: cannot ${action} ${resource}`
70
+ : `Access denied: cannot ${action}`;
71
+ }
72
+ /**
73
+ * Generate standardized validation error message
74
+ * @param field - Field that failed validation
75
+ * @param constraint - The validation constraint
76
+ * @returns Standardized validation message
77
+ */
78
+ export function generateValidationMessage(field, constraint) {
79
+ return `Validation failed for '${field}': ${constraint}`;
80
+ }
81
+ /**
82
+ * Generate standardized business rule violation message
83
+ * @param rule - The business rule that was violated
84
+ * @param context - Optional context information
85
+ * @returns Standardized business rule message
86
+ */
87
+ export function generateBusinessRuleMessage(rule, context) {
88
+ return context
89
+ ? `Business rule violation: ${rule} (${context})`
90
+ : `Business rule violation: ${rule}`;
91
+ }
92
+ /**
93
+ * Generate standardized database error message
94
+ * @param operation - The database operation that failed
95
+ * @param resourceType - Type of resource involved
96
+ * @param details - Optional error details
97
+ * @returns Standardized database error message
98
+ */
99
+ export function generateDatabaseErrorMessage(operation, resourceType, details) {
100
+ const action = operation === 'find' ? 'retrieving' :
101
+ operation === 'save' ? 'saving' :
102
+ operation === 'delete' ? 'deleting' :
103
+ operation === 'update' ? 'updating' : 'querying';
104
+ const resource = resourceType.charAt(0).toUpperCase() + resourceType.slice(1);
105
+ const baseMessage = `Database error: failed ${action.toLowerCase()} ${resource.toLowerCase()}`;
106
+ return details ? `${baseMessage} - ${details}` : baseMessage;
107
+ }
108
+ /**
109
+ * Generate standardized input validation error message
110
+ * @param parameter - The parameter that failed validation
111
+ * @param requirement - What the parameter should meet
112
+ * @returns Standardized input validation message
113
+ */
114
+ export function generateInputValidationMessage(parameter, requirement) {
115
+ return `Invalid input: ${parameter} ${requirement}`;
116
+ }
117
+ /**
118
+ * Generate standardized operation error message
119
+ * @param operation - The operation that was attempted
120
+ * @param reason - Why it failed
121
+ * @returns Standardized operation error message
122
+ */
123
+ export function generateOperationErrorMessage(operation, reason) {
124
+ return `Operation failed: ${operation} - ${reason}`;
125
+ }
126
+ /**
127
+ * Common error message constants for quick access
128
+ */
129
+ export const ERROR_MESSAGE_TEMPLATES = {
130
+ // Authentication patterns
131
+ AUTH: {
132
+ USER_ONLY: () => generateAuthRequiredMessage(['user']),
133
+ BUSINESS_ONLY: () => generateAuthRequiredMessage(['business']),
134
+ ADMIN_ONLY: () => generateAuthRequiredMessage(['admin']),
135
+ USER_OR_BUSINESS: () => generateAuthRequiredMessage(['user', 'business']),
136
+ USER_OR_ADMIN: () => generateAuthRequiredMessage(['user', 'admin']),
137
+ BUSINESS_OR_ADMIN: () => generateAuthRequiredMessage(['business', 'admin']),
138
+ USER_BUSINESS_OR_ADMIN: () => generateAuthRequiredMessage(['user', 'business', 'admin']),
139
+ ANY_AUTH: () => generateAuthRequiredMessage([]),
140
+ // With action context
141
+ FOR_REDEMPTION: () => generateAuthRequiredMessage(['user'], 'for redemption processing'),
142
+ FOR_TRANSACTION: () => generateAuthRequiredMessage(['user', 'business'], 'for transaction access'),
143
+ FOR_ADMIN_ACTION: () => generateAuthRequiredMessage(['admin'], 'for administrative actions'),
144
+ },
145
+ // Resource not found patterns
146
+ NOT_FOUND: {
147
+ USER: (id) => generateNotFoundMessage('user', id),
148
+ BUSINESS: (id) => generateNotFoundMessage('business', id),
149
+ ADMIN: (id) => generateNotFoundMessage('admin', id),
150
+ CAMPAIGN: (id) => generateNotFoundMessage('campaign', id),
151
+ TRANSACTION: (id) => generateNotFoundMessage('transaction', id),
152
+ REDEMPTION: (id) => generateNotFoundMessage('redemption', id),
153
+ WALLET: (id) => generateNotFoundMessage('wallet', id),
154
+ CONTRACT: (address) => generateNotFoundMessage('contract', address),
155
+ TENANT: (id) => generateNotFoundMessage('tenant', id),
156
+ TOKEN: (id) => generateNotFoundMessage('token', id),
157
+ SIGNING_ACCOUNT: (id) => generateNotFoundMessage('signing-account', id),
158
+ },
159
+ // Access control patterns
160
+ ACCESS_DENIED: {
161
+ VIEW_RESOURCE: (resource) => generateAccessDeniedMessage('view', resource),
162
+ MODIFY_RESOURCE: (resource) => generateAccessDeniedMessage('modify', resource),
163
+ DELETE_RESOURCE: (resource) => generateAccessDeniedMessage('delete', resource),
164
+ EXECUTE_ACTION: (action) => generateAccessDeniedMessage(action),
165
+ },
166
+ // Validation patterns
167
+ VALIDATION: {
168
+ REQUIRED_FIELD: (field) => generateValidationMessage(field, 'field is required'),
169
+ INVALID_FORMAT: (field, format) => generateValidationMessage(field, `invalid ${format} format`),
170
+ OUT_OF_RANGE: (field, min, max) => {
171
+ if (min !== undefined && max !== undefined) {
172
+ return generateValidationMessage(field, `value must be between ${min} and ${max}`);
173
+ }
174
+ else if (min !== undefined) {
175
+ return generateValidationMessage(field, `value must be at least ${min}`);
176
+ }
177
+ else if (max !== undefined) {
178
+ return generateValidationMessage(field, `value must be at most ${max}`);
179
+ }
180
+ return generateValidationMessage(field, 'value is out of range');
181
+ },
182
+ },
183
+ // Business rule patterns
184
+ BUSINESS_RULES: {
185
+ REDEMPTION_LIMIT_REACHED: () => generateBusinessRuleMessage('redemption limit reached'),
186
+ INSUFFICIENT_BALANCE: (required) => generateBusinessRuleMessage('insufficient balance', required ? `required: ${required}` : undefined),
187
+ GEOGRAPHIC_RESTRICTION: (location) => generateBusinessRuleMessage('geographic restriction', `not available in ${location}`),
188
+ STATUS_NOT_ALLOWED: (status, action) => generateBusinessRuleMessage(`status '${status}' not allowed for ${action}`),
189
+ },
190
+ // Database operation patterns
191
+ DATABASE: {
192
+ SAVE_FAILED: (resourceType, details) => generateDatabaseErrorMessage('save', resourceType, details),
193
+ FIND_FAILED: (resourceType, details) => generateDatabaseErrorMessage('find', resourceType, details),
194
+ DELETE_FAILED: (resourceType, details) => generateDatabaseErrorMessage('delete', resourceType, details),
195
+ UPDATE_FAILED: (resourceType, details) => generateDatabaseErrorMessage('update', resourceType, details),
196
+ QUERY_FAILED: (resourceType, details) => generateDatabaseErrorMessage('query', resourceType, details),
197
+ },
198
+ // Input validation patterns
199
+ INPUT_VALIDATION: {
200
+ REQUIRED: (param) => generateInputValidationMessage(param, 'is required'),
201
+ EMPTY: (param) => generateInputValidationMessage(param, 'cannot be empty'),
202
+ INVALID_FORMAT: (param, format) => generateInputValidationMessage(param, `must be valid ${format}`),
203
+ OUT_OF_RANGE: (param, range) => generateInputValidationMessage(param, `must be ${range}`),
204
+ INVALID_COMBINATION: (params) => generateInputValidationMessage(params, 'combination is not allowed'),
205
+ MISSING_FIELD: (param) => generateInputValidationMessage(param, 'field is missing'),
206
+ },
207
+ // Operation error patterns
208
+ OPERATIONS: {
209
+ TRANSACTION_FAILED: (reason) => generateOperationErrorMessage('transaction processing', reason),
210
+ SIGNATURE_FAILED: (reason) => generateOperationErrorMessage('signature verification', reason),
211
+ WALLET_OPERATION_FAILED: (reason) => generateOperationErrorMessage('wallet operation', reason),
212
+ CONTRACT_INTERACTION_FAILED: (reason) => generateOperationErrorMessage('contract interaction', reason),
213
+ DATA_PROCESSING_FAILED: (reason) => generateOperationErrorMessage('data processing', reason),
214
+ }
215
+ };
216
+ /**
217
+ * Database operation error helper function
218
+ * Creates appropriate errors for database operations using the centralized ErrorFactory
219
+ */
220
+ export function DatabaseOperationError(operation, resourceType, details) {
221
+ const message = generateDatabaseErrorMessage(operation, resourceType, details);
222
+ // Using systemError as it's available in the current ErrorFactory
223
+ // TODO: Add dedicated databaseOperation method to ErrorFactory
224
+ throw new Error(message); // Temporary - will be replaced with proper ErrorFactory method
225
+ }
226
+ /**
227
+ * Input validation error helper function
228
+ * Creates appropriate validation errors using the centralized ErrorFactory
229
+ */
230
+ export function InputValidationError(field, requirement, providedValue) {
231
+ const message = generateInputValidationMessage(field, requirement);
232
+ // Using systemError as it's available in the current ErrorFactory
233
+ // TODO: Add dedicated inputValidation method to ErrorFactory
234
+ throw new Error(message); // Temporary - will be replaced with proper ErrorFactory method
235
+ }
236
+ /**
237
+ * Operation failure error helper function
238
+ * Creates appropriate operation errors using the centralized ErrorFactory
239
+ */
240
+ export function OperationFailureError(operation, reason, retryable = false) {
241
+ const message = generateOperationErrorMessage(operation, reason);
242
+ throw new Error(message); // Temporary - will be replaced with proper ErrorFactory method
243
+ }
244
+ //# sourceMappingURL=error-message.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-message.utils.js","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/error-message.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './validation.utils';
2
+ export * from './error-message.utils';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Internal utilities for PERS architecture patterns
2
+ export * from './validation.utils';
3
+ export * from './error-message.utils';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * PERS Validation Utilities
3
+ *
4
+ * Centralized validation functions for consistent data validation
5
+ * across all PERS backend modules and domains.
6
+ */
7
+ /**
8
+ * Validates email format according to RFC standards
9
+ *
10
+ * Features:
11
+ * - RFC-compliant email regex pattern
12
+ * - RFC 5321 length limit enforcement (254 characters)
13
+ * - Performance optimized with length check first
14
+ * - DoS protection against extremely long strings
15
+ *
16
+ * @param email - Email address to validate
17
+ * @returns true if email is valid, false otherwise
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * isValidEmail('user@example.com'); // true
22
+ * isValidEmail('invalid-email'); // false
23
+ * isValidEmail('a'.repeat(300) + '@example.com'); // false (too long)
24
+ * ```
25
+ */
26
+ export declare function isValidEmail(email: string): boolean;
27
+ /**
28
+ * Validates wallet address format
29
+ *
30
+ * @param address - Wallet address to validate
31
+ * @returns true if address format is valid
32
+ */
33
+ export declare function isValidWalletAddress(address: string): boolean;
34
+ /**
35
+ * Validates that a string is not empty and meets minimum length requirements
36
+ *
37
+ * @param value - String to validate
38
+ * @param minLength - Minimum required length (default: 1)
39
+ * @returns true if string meets requirements
40
+ */
41
+ export declare function isValidNonEmptyString(value: string, minLength?: number): boolean;
42
+ /**
43
+ * Validates UUID format (v4)
44
+ *
45
+ * @param uuid - UUID string to validate
46
+ * @returns true if UUID format is valid
47
+ */
48
+ export declare function isValidUuid(uuid: string): boolean;
49
+ //# sourceMappingURL=validation.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.utils.d.ts","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/validation.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASnD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,OAAO,CAEnF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKjD"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * PERS Validation Utilities
3
+ *
4
+ * Centralized validation functions for consistent data validation
5
+ * across all PERS backend modules and domains.
6
+ */
7
+ /**
8
+ * Validates email format according to RFC standards
9
+ *
10
+ * Features:
11
+ * - RFC-compliant email regex pattern
12
+ * - RFC 5321 length limit enforcement (254 characters)
13
+ * - Performance optimized with length check first
14
+ * - DoS protection against extremely long strings
15
+ *
16
+ * @param email - Email address to validate
17
+ * @returns true if email is valid, false otherwise
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * isValidEmail('user@example.com'); // true
22
+ * isValidEmail('invalid-email'); // false
23
+ * isValidEmail('a'.repeat(300) + '@example.com'); // false (too long)
24
+ * ```
25
+ */
26
+ export function isValidEmail(email) {
27
+ // Quick length check first for performance and RFC 5321 compliance
28
+ if (!email || email.length > 254) {
29
+ return false;
30
+ }
31
+ // RFC-compliant email regex pattern
32
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
33
+ return emailRegex.test(email);
34
+ }
35
+ /**
36
+ * Validates wallet address format
37
+ *
38
+ * @param address - Wallet address to validate
39
+ * @returns true if address format is valid
40
+ */
41
+ export function isValidWalletAddress(address) {
42
+ if (!address)
43
+ return false;
44
+ // Ethereum address format: 0x followed by 40 hexadecimal characters
45
+ const ethereumAddressRegex = /^0x[a-fA-F0-9]{40}$/;
46
+ return ethereumAddressRegex.test(address);
47
+ }
48
+ /**
49
+ * Validates that a string is not empty and meets minimum length requirements
50
+ *
51
+ * @param value - String to validate
52
+ * @param minLength - Minimum required length (default: 1)
53
+ * @returns true if string meets requirements
54
+ */
55
+ export function isValidNonEmptyString(value, minLength = 1) {
56
+ return typeof value === 'string' && value.trim().length >= minLength;
57
+ }
58
+ /**
59
+ * Validates UUID format (v4)
60
+ *
61
+ * @param uuid - UUID string to validate
62
+ * @returns true if UUID format is valid
63
+ */
64
+ export function isValidUuid(uuid) {
65
+ if (!uuid)
66
+ return false;
67
+ const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
68
+ return uuidRegex.test(uuid);
69
+ }
70
+ //# sourceMappingURL=validation.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.utils.js","sourceRoot":"","sources":["../../../../src/shared-patterns/utils/validation.utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,mEAAmE;IACnE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,4BAA4B,CAAC;IAChD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,oEAAoE;IACpE,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;IACnD,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,YAAoB,CAAC;IACxE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,SAAS,GAAG,wEAAwE,CAAC;IAC3F,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorins/pers-shared",
3
- "version": "2.1.35",
3
+ "version": "2.1.37",
4
4
  "scripts": {
5
5
  "clean": "find dist -type f -delete 2>/dev/null || true",
6
6
  "build:esm": "tsc -p tsconfig.esm.json",
@@ -42,30 +42,7 @@
42
42
  "README.md",
43
43
  "CHANGELOG.md"
44
44
  ],
45
- "peerDependencies": {
46
- "@nestjs/common": "^10.0.0",
47
- "@nestjs/swagger": "^7.0.0",
48
- "class-transformer": "^0.5.0",
49
- "class-validator": "^0.14.0",
50
- "reflect-metadata": "^0.1.13"
51
- },
52
- "peerDependenciesMeta": {
53
- "@nestjs/common": {
54
- "optional": true
55
- },
56
- "@nestjs/swagger": {
57
- "optional": true
58
- },
59
- "class-validator": {
60
- "optional": true
61
- },
62
- "class-transformer": {
63
- "optional": true
64
- },
65
- "reflect-metadata": {
66
- "optional": true
67
- }
68
- },
45
+ "peerDependencies": {},
69
46
  "devDependencies": {
70
47
  "concurrently": "^9.2.0"
71
48
  }