@eleva-io/erp-sdk 0.1.138 → 0.1.139

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 (241) hide show
  1. package/dist/cjs/errors/app_error.d.ts +18 -0
  2. package/dist/cjs/errors/app_error.d.ts.map +1 -0
  3. package/dist/cjs/errors/app_error.js +57 -0
  4. package/dist/cjs/errors/app_error.js.map +1 -0
  5. package/dist/cjs/errors/catalog.d.ts +218 -0
  6. package/dist/cjs/errors/catalog.d.ts.map +1 -0
  7. package/dist/cjs/errors/catalog.js +14 -0
  8. package/dist/cjs/errors/catalog.js.map +1 -0
  9. package/dist/cjs/errors/catalog_api.d.ts +21 -0
  10. package/dist/cjs/errors/catalog_api.d.ts.map +1 -0
  11. package/dist/cjs/errors/catalog_api.js +18 -0
  12. package/dist/cjs/errors/catalog_api.js.map +1 -0
  13. package/dist/cjs/errors/catalog_base.d.ts +204 -0
  14. package/dist/cjs/errors/catalog_base.d.ts.map +1 -0
  15. package/dist/cjs/errors/catalog_base.js +153 -0
  16. package/dist/cjs/errors/catalog_base.js.map +1 -0
  17. package/dist/cjs/errors/catalog_types.d.ts +12 -0
  18. package/dist/cjs/errors/catalog_types.d.ts.map +1 -0
  19. package/dist/cjs/errors/catalog_types.js +9 -0
  20. package/dist/cjs/errors/catalog_types.js.map +1 -0
  21. package/dist/cjs/errors/errors.d.ts +103 -0
  22. package/dist/cjs/errors/errors.d.ts.map +1 -0
  23. package/dist/cjs/errors/errors.js +151 -0
  24. package/dist/cjs/errors/errors.js.map +1 -0
  25. package/dist/cjs/errors/errors.spec.d.ts +2 -0
  26. package/dist/cjs/errors/errors.spec.d.ts.map +1 -0
  27. package/dist/cjs/errors/errors.spec.js +237 -0
  28. package/dist/cjs/errors/errors.spec.js.map +1 -0
  29. package/dist/cjs/errors/errors_remote.d.ts +28 -0
  30. package/dist/cjs/errors/errors_remote.d.ts.map +1 -0
  31. package/dist/cjs/errors/errors_remote.js +34 -0
  32. package/dist/cjs/errors/errors_remote.js.map +1 -0
  33. package/dist/cjs/errors/errors_remote.spec.d.ts +2 -0
  34. package/dist/cjs/errors/errors_remote.spec.d.ts.map +1 -0
  35. package/dist/cjs/errors/errors_remote.spec.js +132 -0
  36. package/dist/cjs/errors/errors_remote.spec.js.map +1 -0
  37. package/dist/cjs/errors/index.d.ts +5 -0
  38. package/dist/cjs/errors/index.d.ts.map +1 -0
  39. package/dist/cjs/errors/index.js +21 -0
  40. package/dist/cjs/errors/index.js.map +1 -0
  41. package/dist/cjs/index.d.ts +1 -0
  42. package/dist/cjs/index.d.ts.map +1 -1
  43. package/dist/cjs/index.js +1 -0
  44. package/dist/cjs/index.js.map +1 -1
  45. package/dist/cjs/modules/contacts/persons/api/persons.d.ts.map +1 -1
  46. package/dist/cjs/modules/contacts/persons/api/persons.js +3 -6
  47. package/dist/cjs/modules/contacts/persons/api/persons.js.map +1 -1
  48. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.d.ts.map +1 -1
  49. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.js +10 -49
  50. package/dist/cjs/modules/global/bank-account/validations/bank_account/aba.js.map +1 -1
  51. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.d.ts.map +1 -1
  52. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.js +7 -25
  53. package/dist/cjs/modules/global/bank-account/validations/bank_account/clabe.js.map +1 -1
  54. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.d.ts.map +1 -1
  55. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.js +7 -25
  56. package/dist/cjs/modules/global/bank-account/validations/bank_account/iban.js.map +1 -1
  57. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.d.ts.map +1 -1
  58. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.js +14 -68
  59. package/dist/cjs/modules/global/bank-account/validations/bank_account/swift.js.map +1 -1
  60. package/dist/cjs/modules/global/validations/payment_method.d.ts.map +1 -1
  61. package/dist/cjs/modules/global/validations/payment_method.js +21 -17
  62. package/dist/cjs/modules/global/validations/payment_method.js.map +1 -1
  63. package/dist/cjs/modules/global/validations/payment_method.spec.js +45 -87
  64. package/dist/cjs/modules/global/validations/payment_method.spec.js.map +1 -1
  65. package/dist/cjs/modules/horizontal/bulk_messaging/api/bulk_messages.d.ts.map +1 -1
  66. package/dist/cjs/modules/horizontal/bulk_messaging/api/bulk_messages.js +9 -24
  67. package/dist/cjs/modules/horizontal/bulk_messaging/api/bulk_messages.js.map +1 -1
  68. package/dist/cjs/modules/horizontal/communities/api/blocks.d.ts.map +1 -1
  69. package/dist/cjs/modules/horizontal/communities/api/blocks.js +2 -3
  70. package/dist/cjs/modules/horizontal/communities/api/blocks.js.map +1 -1
  71. package/dist/cjs/modules/horizontal/communities/api/common_area.d.ts.map +1 -1
  72. package/dist/cjs/modules/horizontal/communities/api/common_area.js +2 -3
  73. package/dist/cjs/modules/horizontal/communities/api/common_area.js.map +1 -1
  74. package/dist/cjs/modules/horizontal/communities/api/communities.d.ts.map +1 -1
  75. package/dist/cjs/modules/horizontal/communities/api/communities.js +15 -42
  76. package/dist/cjs/modules/horizontal/communities/api/communities.js.map +1 -1
  77. package/dist/cjs/modules/horizontal/communities/api/properties.d.ts.map +1 -1
  78. package/dist/cjs/modules/horizontal/communities/api/properties.js +3 -6
  79. package/dist/cjs/modules/horizontal/communities/api/properties.js.map +1 -1
  80. package/dist/cjs/modules/horizontal/communities/api/receipts.d.ts.map +1 -1
  81. package/dist/cjs/modules/horizontal/communities/api/receipts.js +4 -4
  82. package/dist/cjs/modules/horizontal/communities/api/receipts.js.map +1 -1
  83. package/dist/cjs/modules/horizontal/communities/api/route_trackings/routes.d.ts.map +1 -1
  84. package/dist/cjs/modules/horizontal/communities/api/route_trackings/routes.js +3 -6
  85. package/dist/cjs/modules/horizontal/communities/api/route_trackings/routes.js.map +1 -1
  86. package/dist/cjs/modules/horizontal/meeting_agendas/api/meeting_agendas.d.ts.map +1 -1
  87. package/dist/cjs/modules/horizontal/meeting_agendas/api/meeting_agendas.js +2 -3
  88. package/dist/cjs/modules/horizontal/meeting_agendas/api/meeting_agendas.js.map +1 -1
  89. package/dist/cjs/modules/horizontal/meetings/api/meetings.d.ts.map +1 -1
  90. package/dist/cjs/modules/horizontal/meetings/api/meetings.js +41 -63
  91. package/dist/cjs/modules/horizontal/meetings/api/meetings.js.map +1 -1
  92. package/dist/cjs/modules/ticketing/tasks/api/resources.d.ts.map +1 -1
  93. package/dist/cjs/modules/ticketing/tasks/api/resources.js +4 -9
  94. package/dist/cjs/modules/ticketing/tasks/api/resources.js.map +1 -1
  95. package/dist/cjs/modules/ticketing/tasks/api/tasks.d.ts.map +1 -1
  96. package/dist/cjs/modules/ticketing/tasks/api/tasks.js +6 -15
  97. package/dist/cjs/modules/ticketing/tasks/api/tasks.js.map +1 -1
  98. package/dist/cjs/types.d.ts +2 -0
  99. package/dist/cjs/types.d.ts.map +1 -1
  100. package/dist/cjs/types.js +1 -0
  101. package/dist/cjs/types.js.map +1 -1
  102. package/dist/cjs/utils/crud.d.ts +1 -1
  103. package/dist/cjs/utils/crud.d.ts.map +1 -1
  104. package/dist/cjs/utils/crud.js +8 -8
  105. package/dist/cjs/utils/crud.js.map +1 -1
  106. package/dist/cjs/utils/errors.d.ts +7 -0
  107. package/dist/cjs/utils/errors.d.ts.map +1 -1
  108. package/dist/cjs/utils/errors.js +6 -0
  109. package/dist/cjs/utils/errors.js.map +1 -1
  110. package/dist/cjs/utils/guards.d.ts +2 -0
  111. package/dist/cjs/utils/guards.d.ts.map +1 -0
  112. package/dist/cjs/utils/guards.js +10 -0
  113. package/dist/cjs/utils/guards.js.map +1 -0
  114. package/dist/cjs/utils/http.d.ts.map +1 -1
  115. package/dist/cjs/utils/http.js +12 -17
  116. package/dist/cjs/utils/http.js.map +1 -1
  117. package/dist/cjs/utils/index.d.ts +1 -0
  118. package/dist/cjs/utils/index.d.ts.map +1 -1
  119. package/dist/cjs/utils/index.js +1 -0
  120. package/dist/cjs/utils/index.js.map +1 -1
  121. package/dist/esm/errors/app_error.d.ts +18 -0
  122. package/dist/esm/errors/app_error.d.ts.map +1 -0
  123. package/dist/esm/errors/app_error.js +53 -0
  124. package/dist/esm/errors/app_error.js.map +1 -0
  125. package/dist/esm/errors/catalog.d.ts +218 -0
  126. package/dist/esm/errors/catalog.d.ts.map +1 -0
  127. package/dist/esm/errors/catalog.js +11 -0
  128. package/dist/esm/errors/catalog.js.map +1 -0
  129. package/dist/esm/errors/catalog_api.d.ts +21 -0
  130. package/dist/esm/errors/catalog_api.d.ts.map +1 -0
  131. package/dist/esm/errors/catalog_api.js +15 -0
  132. package/dist/esm/errors/catalog_api.js.map +1 -0
  133. package/dist/esm/errors/catalog_base.d.ts +204 -0
  134. package/dist/esm/errors/catalog_base.d.ts.map +1 -0
  135. package/dist/esm/errors/catalog_base.js +150 -0
  136. package/dist/esm/errors/catalog_base.js.map +1 -0
  137. package/dist/esm/errors/catalog_types.d.ts +12 -0
  138. package/dist/esm/errors/catalog_types.d.ts.map +1 -0
  139. package/dist/esm/errors/catalog_types.js +6 -0
  140. package/dist/esm/errors/catalog_types.js.map +1 -0
  141. package/dist/esm/errors/errors.d.ts +103 -0
  142. package/dist/esm/errors/errors.d.ts.map +1 -0
  143. package/dist/esm/errors/errors.js +147 -0
  144. package/dist/esm/errors/errors.js.map +1 -0
  145. package/dist/esm/errors/errors.spec.d.ts +2 -0
  146. package/dist/esm/errors/errors.spec.d.ts.map +1 -0
  147. package/dist/esm/errors/errors.spec.js +235 -0
  148. package/dist/esm/errors/errors.spec.js.map +1 -0
  149. package/dist/esm/errors/errors_remote.d.ts +28 -0
  150. package/dist/esm/errors/errors_remote.d.ts.map +1 -0
  151. package/dist/esm/errors/errors_remote.js +30 -0
  152. package/dist/esm/errors/errors_remote.js.map +1 -0
  153. package/dist/esm/errors/errors_remote.spec.d.ts +2 -0
  154. package/dist/esm/errors/errors_remote.spec.d.ts.map +1 -0
  155. package/dist/esm/errors/errors_remote.spec.js +130 -0
  156. package/dist/esm/errors/errors_remote.spec.js.map +1 -0
  157. package/dist/esm/errors/index.d.ts +5 -0
  158. package/dist/esm/errors/index.d.ts.map +1 -0
  159. package/dist/esm/errors/index.js +5 -0
  160. package/dist/esm/errors/index.js.map +1 -0
  161. package/dist/esm/index.d.ts +1 -0
  162. package/dist/esm/index.d.ts.map +1 -1
  163. package/dist/esm/index.js +1 -0
  164. package/dist/esm/index.js.map +1 -1
  165. package/dist/esm/modules/contacts/persons/api/persons.d.ts.map +1 -1
  166. package/dist/esm/modules/contacts/persons/api/persons.js +3 -6
  167. package/dist/esm/modules/contacts/persons/api/persons.js.map +1 -1
  168. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.d.ts.map +1 -1
  169. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.js +10 -49
  170. package/dist/esm/modules/global/bank-account/validations/bank_account/aba.js.map +1 -1
  171. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.d.ts.map +1 -1
  172. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.js +7 -25
  173. package/dist/esm/modules/global/bank-account/validations/bank_account/clabe.js.map +1 -1
  174. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.d.ts.map +1 -1
  175. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.js +7 -25
  176. package/dist/esm/modules/global/bank-account/validations/bank_account/iban.js.map +1 -1
  177. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.d.ts.map +1 -1
  178. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.js +14 -68
  179. package/dist/esm/modules/global/bank-account/validations/bank_account/swift.js.map +1 -1
  180. package/dist/esm/modules/global/validations/payment_method.d.ts.map +1 -1
  181. package/dist/esm/modules/global/validations/payment_method.js +21 -17
  182. package/dist/esm/modules/global/validations/payment_method.js.map +1 -1
  183. package/dist/esm/modules/global/validations/payment_method.spec.js +45 -87
  184. package/dist/esm/modules/global/validations/payment_method.spec.js.map +1 -1
  185. package/dist/esm/modules/horizontal/bulk_messaging/api/bulk_messages.d.ts.map +1 -1
  186. package/dist/esm/modules/horizontal/bulk_messaging/api/bulk_messages.js +9 -24
  187. package/dist/esm/modules/horizontal/bulk_messaging/api/bulk_messages.js.map +1 -1
  188. package/dist/esm/modules/horizontal/communities/api/blocks.d.ts.map +1 -1
  189. package/dist/esm/modules/horizontal/communities/api/blocks.js +2 -3
  190. package/dist/esm/modules/horizontal/communities/api/blocks.js.map +1 -1
  191. package/dist/esm/modules/horizontal/communities/api/common_area.d.ts.map +1 -1
  192. package/dist/esm/modules/horizontal/communities/api/common_area.js +2 -3
  193. package/dist/esm/modules/horizontal/communities/api/common_area.js.map +1 -1
  194. package/dist/esm/modules/horizontal/communities/api/communities.d.ts.map +1 -1
  195. package/dist/esm/modules/horizontal/communities/api/communities.js +15 -42
  196. package/dist/esm/modules/horizontal/communities/api/communities.js.map +1 -1
  197. package/dist/esm/modules/horizontal/communities/api/properties.d.ts.map +1 -1
  198. package/dist/esm/modules/horizontal/communities/api/properties.js +3 -6
  199. package/dist/esm/modules/horizontal/communities/api/properties.js.map +1 -1
  200. package/dist/esm/modules/horizontal/communities/api/receipts.d.ts.map +1 -1
  201. package/dist/esm/modules/horizontal/communities/api/receipts.js +4 -4
  202. package/dist/esm/modules/horizontal/communities/api/receipts.js.map +1 -1
  203. package/dist/esm/modules/horizontal/communities/api/route_trackings/routes.d.ts.map +1 -1
  204. package/dist/esm/modules/horizontal/communities/api/route_trackings/routes.js +3 -6
  205. package/dist/esm/modules/horizontal/communities/api/route_trackings/routes.js.map +1 -1
  206. package/dist/esm/modules/horizontal/meeting_agendas/api/meeting_agendas.d.ts.map +1 -1
  207. package/dist/esm/modules/horizontal/meeting_agendas/api/meeting_agendas.js +2 -3
  208. package/dist/esm/modules/horizontal/meeting_agendas/api/meeting_agendas.js.map +1 -1
  209. package/dist/esm/modules/horizontal/meetings/api/meetings.d.ts.map +1 -1
  210. package/dist/esm/modules/horizontal/meetings/api/meetings.js +41 -63
  211. package/dist/esm/modules/horizontal/meetings/api/meetings.js.map +1 -1
  212. package/dist/esm/modules/ticketing/tasks/api/resources.d.ts.map +1 -1
  213. package/dist/esm/modules/ticketing/tasks/api/resources.js +4 -9
  214. package/dist/esm/modules/ticketing/tasks/api/resources.js.map +1 -1
  215. package/dist/esm/modules/ticketing/tasks/api/tasks.d.ts.map +1 -1
  216. package/dist/esm/modules/ticketing/tasks/api/tasks.js +6 -15
  217. package/dist/esm/modules/ticketing/tasks/api/tasks.js.map +1 -1
  218. package/dist/esm/types.d.ts +2 -0
  219. package/dist/esm/types.d.ts.map +1 -1
  220. package/dist/esm/types.js +1 -0
  221. package/dist/esm/types.js.map +1 -1
  222. package/dist/esm/utils/crud.d.ts +1 -1
  223. package/dist/esm/utils/crud.d.ts.map +1 -1
  224. package/dist/esm/utils/crud.js +8 -8
  225. package/dist/esm/utils/crud.js.map +1 -1
  226. package/dist/esm/utils/errors.d.ts +7 -0
  227. package/dist/esm/utils/errors.d.ts.map +1 -1
  228. package/dist/esm/utils/errors.js +6 -0
  229. package/dist/esm/utils/errors.js.map +1 -1
  230. package/dist/esm/utils/guards.d.ts +2 -0
  231. package/dist/esm/utils/guards.d.ts.map +1 -0
  232. package/dist/esm/utils/guards.js +7 -0
  233. package/dist/esm/utils/guards.js.map +1 -0
  234. package/dist/esm/utils/http.d.ts.map +1 -1
  235. package/dist/esm/utils/http.js +12 -17
  236. package/dist/esm/utils/http.js.map +1 -1
  237. package/dist/esm/utils/index.d.ts +1 -0
  238. package/dist/esm/utils/index.d.ts.map +1 -1
  239. package/dist/esm/utils/index.js +1 -0
  240. package/dist/esm/utils/index.js.map +1 -1
  241. package/package.json +3 -2
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASE_ERRORS_CATALOG = exports.BASE_ERROR_CODES = void 0;
4
+ const zod_1 = require("zod");
5
+ const catalog_types_1 = require("./catalog_types");
6
+ var BASE_ERROR_CODES;
7
+ (function (BASE_ERROR_CODES) {
8
+ // >= 400
9
+ BASE_ERROR_CODES["VALIDATION"] = "VALIDATION";
10
+ BASE_ERROR_CODES["BAD_REQUEST"] = "BAD_REQUEST";
11
+ BASE_ERROR_CODES["AUTHENTICATION"] = "AUTHENTICATION";
12
+ BASE_ERROR_CODES["UNAUTHORIZED"] = "UNAUTHORIZED";
13
+ BASE_ERROR_CODES["NOT_FOUND"] = "NOT_FOUND";
14
+ BASE_ERROR_CODES["NOT_ACCEPTABLE"] = "NOT_ACCEPTABLE";
15
+ BASE_ERROR_CODES["CONFLICT"] = "CONFLICT";
16
+ BASE_ERROR_CODES["GONE"] = "GONE";
17
+ BASE_ERROR_CODES["UNPROCESSABLE_ENTITY"] = "UNPROCESSABLE_ENTITY";
18
+ BASE_ERROR_CODES["MANDATORY_FIELD"] = "MANDATORY_FIELD";
19
+ // >= 500
20
+ BASE_ERROR_CODES["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR";
21
+ BASE_ERROR_CODES["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
22
+ })(BASE_ERROR_CODES || (exports.BASE_ERROR_CODES = BASE_ERROR_CODES = {}));
23
+ exports.BASE_ERRORS_CATALOG = {
24
+ // >= 400
25
+ [BASE_ERROR_CODES.VALIDATION]: {
26
+ kind: catalog_types_1.ErrorKind.DOMAIN,
27
+ status: 400,
28
+ details: zod_1.z.object({
29
+ errors: zod_1.z
30
+ .object({
31
+ validation: zod_1.z.string(),
32
+ code: zod_1.z.string(),
33
+ message: zod_1.z.string(),
34
+ path: zod_1.z.array(zod_1.z.string()),
35
+ })
36
+ .array(),
37
+ }),
38
+ message: 'Validation error',
39
+ },
40
+ [BASE_ERROR_CODES.BAD_REQUEST]: {
41
+ kind: catalog_types_1.ErrorKind.DOMAIN,
42
+ status: 400,
43
+ details: zod_1.z
44
+ .object({
45
+ field: zod_1.z.string(),
46
+ reason: zod_1.z.string(),
47
+ })
48
+ .partial(),
49
+ message: 'Bad request',
50
+ },
51
+ [BASE_ERROR_CODES.AUTHENTICATION]: {
52
+ kind: catalog_types_1.ErrorKind.DOMAIN,
53
+ status: 401,
54
+ details: zod_1.z
55
+ .object({
56
+ reason: zod_1.z.string(),
57
+ })
58
+ .partial(),
59
+ message: 'Authentication failed',
60
+ },
61
+ [BASE_ERROR_CODES.UNAUTHORIZED]: {
62
+ kind: catalog_types_1.ErrorKind.DOMAIN,
63
+ status: 403,
64
+ details: zod_1.z
65
+ .object({
66
+ requiredScope: zod_1.z.string(),
67
+ resource: zod_1.z.string(),
68
+ })
69
+ .partial(),
70
+ message: 'You do not have permission to perform this action',
71
+ },
72
+ [BASE_ERROR_CODES.NOT_FOUND]: {
73
+ kind: catalog_types_1.ErrorKind.DOMAIN,
74
+ status: 404,
75
+ details: zod_1.z
76
+ .object({
77
+ entity: zod_1.z.string(),
78
+ })
79
+ .partial(),
80
+ message: 'Not found',
81
+ },
82
+ [BASE_ERROR_CODES.NOT_ACCEPTABLE]: {
83
+ kind: catalog_types_1.ErrorKind.DOMAIN,
84
+ status: 406,
85
+ details: zod_1.z
86
+ .object({
87
+ acceptedTypes: zod_1.z.array(zod_1.z.string()),
88
+ })
89
+ .partial(),
90
+ message: 'Not acceptable',
91
+ },
92
+ [BASE_ERROR_CODES.CONFLICT]: {
93
+ kind: catalog_types_1.ErrorKind.DOMAIN,
94
+ status: 409,
95
+ details: zod_1.z
96
+ .object({
97
+ key: zod_1.z.string(),
98
+ value: zod_1.z.string(),
99
+ cause: zod_1.z.string(),
100
+ })
101
+ .array(),
102
+ message: 'Conflict',
103
+ },
104
+ [BASE_ERROR_CODES.GONE]: {
105
+ kind: catalog_types_1.ErrorKind.DOMAIN,
106
+ status: 410,
107
+ details: zod_1.z
108
+ .object({
109
+ since: zod_1.z.string(),
110
+ })
111
+ .partial(),
112
+ message: 'Gone',
113
+ },
114
+ [BASE_ERROR_CODES.UNPROCESSABLE_ENTITY]: {
115
+ kind: catalog_types_1.ErrorKind.DOMAIN,
116
+ status: 422,
117
+ details: zod_1.z
118
+ .object({
119
+ field: zod_1.z.string(),
120
+ reason: zod_1.z.string(),
121
+ })
122
+ .partial(),
123
+ message: 'Unprocessable entity',
124
+ },
125
+ [BASE_ERROR_CODES.MANDATORY_FIELD]: {
126
+ kind: catalog_types_1.ErrorKind.DOMAIN,
127
+ status: 400,
128
+ details: zod_1.z.object({ field: zod_1.z.string() }),
129
+ message: 'Mandatory field is missing',
130
+ },
131
+ // >= 500
132
+ [BASE_ERROR_CODES.INTERNAL_SERVER_ERROR]: {
133
+ kind: catalog_types_1.ErrorKind.SYSTEM,
134
+ status: 500,
135
+ details: zod_1.z
136
+ .object({
137
+ reason: zod_1.z.string(),
138
+ })
139
+ .partial(),
140
+ message: 'Internal server error',
141
+ },
142
+ [BASE_ERROR_CODES.SERVICE_UNAVAILABLE]: {
143
+ kind: catalog_types_1.ErrorKind.SYSTEM,
144
+ status: 503,
145
+ details: zod_1.z
146
+ .object({
147
+ retryAfter: zod_1.z.number(),
148
+ })
149
+ .partial(),
150
+ message: 'Service unavailable',
151
+ },
152
+ };
153
+ //# sourceMappingURL=catalog_base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog_base.js","sourceRoot":"","sources":["../../../src/errors/catalog_base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ export declare enum ErrorKind {
3
+ SYSTEM = "system",
4
+ DOMAIN = "domain"
5
+ }
6
+ export type ErrorCatalogEntry = {
7
+ kind: ErrorKind;
8
+ status: number;
9
+ details: z.ZodTypeAny;
10
+ message: string;
11
+ };
12
+ //# sourceMappingURL=catalog_types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog_types.d.ts","sourceRoot":"","sources":["../../../src/errors/catalog_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,CAAC,UAAU,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorKind = void 0;
4
+ var ErrorKind;
5
+ (function (ErrorKind) {
6
+ ErrorKind["SYSTEM"] = "system";
7
+ ErrorKind["DOMAIN"] = "domain";
8
+ })(ErrorKind || (exports.ErrorKind = ErrorKind = {}));
9
+ //# sourceMappingURL=catalog_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog_types.js","sourceRoot":"","sources":["../../../src/errors/catalog_types.ts"],"names":[],"mappings":";;;AAEA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACnB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
@@ -0,0 +1,103 @@
1
+ import { z } from 'zod';
2
+ import { ErrorCode, type ErrorDetails } from './catalog';
3
+ import { ErrorKind } from './catalog_types';
4
+ import { BASE_ERROR_CODES } from './catalog_base';
5
+ import { API_ERROR_CODES } from './catalog_api';
6
+ export interface AppErrorJSON<C extends ErrorCode = ErrorCode> {
7
+ code: C;
8
+ kind: ErrorKind;
9
+ status: number;
10
+ message: string;
11
+ details: ErrorDetails<C>;
12
+ }
13
+ export interface AppErrorResponse<C extends ErrorCode = ErrorCode> {
14
+ code: AppErrorJSON<C>['code'];
15
+ message: AppErrorJSON<C>['message'];
16
+ details?: AppErrorJSON<C>['details'];
17
+ }
18
+ export type AppErrorArgs<C extends ErrorCode> = {
19
+ code: C;
20
+ message?: string;
21
+ cause?: unknown;
22
+ } & (Record<string, never> extends ErrorDetails<C> ? {
23
+ details?: ErrorDetails<C>;
24
+ } : {
25
+ details: ErrorDetails<C>;
26
+ });
27
+ export declare class AppError<C extends ErrorCode = ErrorCode> extends Error {
28
+ readonly code: C;
29
+ readonly kind: ErrorKind;
30
+ readonly status: number;
31
+ readonly details: ErrorDetails<C>;
32
+ constructor(args: AppErrorArgs<C>);
33
+ is<K extends ErrorCode>(code: K): this is AppError<K>;
34
+ toJSON(): AppErrorJSON<C>;
35
+ toString(): string;
36
+ toResponse(): AppErrorResponse<C>;
37
+ protected static _parsePayload(value: unknown): {
38
+ code: ErrorCode;
39
+ details: unknown;
40
+ message: string;
41
+ cause?: unknown;
42
+ };
43
+ static parse(value: unknown): AppError<ErrorCode>;
44
+ static fromZodError<T>(error: z.ZodError<T>): AppError<BASE_ERROR_CODES.VALIDATION>;
45
+ static validation(args: {
46
+ errors: ErrorDetails<BASE_ERROR_CODES.VALIDATION>['errors'];
47
+ message?: string;
48
+ }): AppError<BASE_ERROR_CODES.VALIDATION>;
49
+ static invalidField(args: {
50
+ error: ErrorDetails<BASE_ERROR_CODES.VALIDATION>['errors'][number];
51
+ message?: string;
52
+ }): AppError<BASE_ERROR_CODES.VALIDATION>;
53
+ static badRequest(args?: {
54
+ message?: string;
55
+ details?: ErrorDetails<BASE_ERROR_CODES.BAD_REQUEST>;
56
+ }): AppError<BASE_ERROR_CODES.BAD_REQUEST>;
57
+ static authentication(args?: {
58
+ message?: string;
59
+ details?: ErrorDetails<BASE_ERROR_CODES.AUTHENTICATION>;
60
+ }): AppError<BASE_ERROR_CODES.AUTHENTICATION>;
61
+ static unauthorized(args?: {
62
+ message?: string;
63
+ details?: ErrorDetails<BASE_ERROR_CODES.UNAUTHORIZED>;
64
+ }): AppError<BASE_ERROR_CODES.UNAUTHORIZED>;
65
+ static notFound(args: {
66
+ entity: string;
67
+ message?: string;
68
+ }): AppError<BASE_ERROR_CODES.NOT_FOUND>;
69
+ static notAcceptable(args?: {
70
+ message?: string;
71
+ details?: ErrorDetails<BASE_ERROR_CODES.NOT_ACCEPTABLE>;
72
+ }): AppError<BASE_ERROR_CODES.NOT_ACCEPTABLE>;
73
+ static conflict(args: {
74
+ details: ErrorDetails<BASE_ERROR_CODES.CONFLICT>;
75
+ message?: string;
76
+ }): AppError<BASE_ERROR_CODES.CONFLICT>;
77
+ static gone(args?: {
78
+ message?: string;
79
+ details?: ErrorDetails<BASE_ERROR_CODES.GONE>;
80
+ }): AppError<BASE_ERROR_CODES.GONE>;
81
+ static unprocessableEntity(args?: {
82
+ message?: string;
83
+ details?: ErrorDetails<BASE_ERROR_CODES.UNPROCESSABLE_ENTITY>;
84
+ }): AppError<BASE_ERROR_CODES.UNPROCESSABLE_ENTITY>;
85
+ static serviceUnavailable(args?: {
86
+ message?: string;
87
+ details?: ErrorDetails<BASE_ERROR_CODES.SERVICE_UNAVAILABLE>;
88
+ }): AppError<BASE_ERROR_CODES.SERVICE_UNAVAILABLE>;
89
+ static mandatoryField(args: {
90
+ field: string;
91
+ message?: string;
92
+ }): AppError<BASE_ERROR_CODES.MANDATORY_FIELD>;
93
+ static internal(args?: {
94
+ message?: string;
95
+ cause?: unknown;
96
+ details?: ErrorDetails<BASE_ERROR_CODES.INTERNAL_SERVER_ERROR>;
97
+ }): AppError<BASE_ERROR_CODES.INTERNAL_SERVER_ERROR>;
98
+ static forbiddenContact(args: {
99
+ message?: string;
100
+ details: ErrorDetails<API_ERROR_CODES.FORBIDDEN_CONTACT>;
101
+ }): AppError<API_ERROR_CODES.FORBIDDEN_CONTACT>;
102
+ }
103
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppError = void 0;
4
+ const zod_1 = require("zod");
5
+ const catalog_1 = require("./catalog");
6
+ const catalog_types_1 = require("./catalog_types");
7
+ const catalog_base_1 = require("./catalog_base");
8
+ const catalog_api_1 = require("./catalog_api");
9
+ const errorSchema = zod_1.z.object({
10
+ code: zod_1.z.nativeEnum(catalog_1.ERROR_CODES),
11
+ kind: zod_1.z.nativeEnum(catalog_types_1.ErrorKind),
12
+ status: zod_1.z.number(),
13
+ message: zod_1.z.string(),
14
+ details: zod_1.z.unknown().default({}),
15
+ });
16
+ class AppError extends Error {
17
+ code;
18
+ kind;
19
+ status;
20
+ details;
21
+ constructor(args) {
22
+ const entry = catalog_1.ERRORS_CATALOG[args.code] ?? catalog_1.ERRORS_CATALOG[catalog_1.ERROR_CODES.INTERNAL_SERVER_ERROR];
23
+ const message = args.message ?? entry.message;
24
+ super(message, { cause: args.cause });
25
+ this.name = 'AppError';
26
+ this.code = args.code;
27
+ this.kind = entry.kind;
28
+ this.status = entry.status;
29
+ this.details = args.details ?? {};
30
+ if (Error.captureStackTrace) {
31
+ Error.captureStackTrace(this, this.constructor);
32
+ }
33
+ }
34
+ is(code) {
35
+ return this.code === code;
36
+ }
37
+ toJSON() {
38
+ return {
39
+ code: this.code,
40
+ kind: this.kind,
41
+ status: this.status,
42
+ message: this.message,
43
+ details: this.details,
44
+ };
45
+ }
46
+ toString() {
47
+ return JSON.stringify(this.toJSON());
48
+ }
49
+ toResponse() {
50
+ const resp = {
51
+ code: this.code,
52
+ message: this.message,
53
+ };
54
+ if (this.kind === catalog_types_1.ErrorKind.SYSTEM) {
55
+ resp.message = 'Houston, we have a problem';
56
+ }
57
+ if (this.kind === catalog_types_1.ErrorKind.DOMAIN) {
58
+ resp.details = this.details;
59
+ }
60
+ return resp;
61
+ }
62
+ static _parsePayload(value) {
63
+ const result = errorSchema.safeParse(value);
64
+ if (!result.success) {
65
+ return {
66
+ code: catalog_1.ERROR_CODES.INTERNAL_SERVER_ERROR,
67
+ details: undefined,
68
+ message: `Failed to parse error payload: ${result.error.message}`,
69
+ cause: value,
70
+ };
71
+ }
72
+ return { code: result.data.code, details: result.data.details, message: result.data.message };
73
+ }
74
+ static parse(value) {
75
+ const { code, details, message, cause } = AppError._parsePayload(value);
76
+ return new AppError({ code, details: details, message, cause });
77
+ }
78
+ static fromZodError(error) {
79
+ const errors = error.issues.map((issue) => {
80
+ const path = issue.path.map(String);
81
+ return {
82
+ validation: path.join('.') || 'root',
83
+ code: issue.code,
84
+ message: issue.message,
85
+ path,
86
+ };
87
+ });
88
+ return AppError.validation({ errors, message: error.message });
89
+ }
90
+ static validation(args) {
91
+ return new AppError({
92
+ code: catalog_base_1.BASE_ERROR_CODES.VALIDATION,
93
+ details: { errors: args.errors },
94
+ message: args.message,
95
+ });
96
+ }
97
+ static invalidField(args) {
98
+ return AppError.validation({ errors: [args.error], message: args.message });
99
+ }
100
+ static badRequest(args = {}) {
101
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.BAD_REQUEST, details: args.details, message: args.message });
102
+ }
103
+ static authentication(args = {}) {
104
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.AUTHENTICATION, details: args.details, message: args.message });
105
+ }
106
+ static unauthorized(args = {}) {
107
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.UNAUTHORIZED, details: args.details, message: args.message });
108
+ }
109
+ static notFound(args) {
110
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.NOT_FOUND, details: { entity: args.entity }, message: args.message });
111
+ }
112
+ static notAcceptable(args = {}) {
113
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.NOT_ACCEPTABLE, details: args.details, message: args.message });
114
+ }
115
+ static conflict(args) {
116
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.CONFLICT, details: args.details, message: args.message });
117
+ }
118
+ static gone(args = {}) {
119
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.GONE, details: args.details, message: args.message });
120
+ }
121
+ static unprocessableEntity(args = {}) {
122
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.UNPROCESSABLE_ENTITY, details: args.details, message: args.message });
123
+ }
124
+ static serviceUnavailable(args = {}) {
125
+ return new AppError({ code: catalog_base_1.BASE_ERROR_CODES.SERVICE_UNAVAILABLE, details: args.details, message: args.message });
126
+ }
127
+ static mandatoryField(args) {
128
+ return new AppError({
129
+ code: catalog_base_1.BASE_ERROR_CODES.MANDATORY_FIELD,
130
+ details: { field: args.field },
131
+ message: args.message,
132
+ });
133
+ }
134
+ static internal(args = {}) {
135
+ return new AppError({
136
+ code: catalog_base_1.BASE_ERROR_CODES.INTERNAL_SERVER_ERROR,
137
+ message: args.message,
138
+ cause: args.cause,
139
+ details: args.details,
140
+ });
141
+ }
142
+ static forbiddenContact(args) {
143
+ return new AppError({
144
+ code: catalog_api_1.API_ERROR_CODES.FORBIDDEN_CONTACT,
145
+ message: args.message,
146
+ details: args.details,
147
+ });
148
+ }
149
+ }
150
+ exports.AppError = AppError;
151
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=errors.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.spec.d.ts","sourceRoot":"","sources":["../../../src/errors/errors.spec.ts"],"names":[],"mappings":""}