@beemafrica/error-definitions 1.0.8 → 1.0.10

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.
package/dist/factory.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { StandardError } from './standard-error.js';
2
- import type { BMErrorResponse, CanonicalError, CanonicalErrorCode, CreateErrorOptions, ErrorContext, ServiceId, StandardErrorResponse, TraceId } from './types/index.js';
2
+ import type { BMErrorResponse, CanonicalError, CanonicalErrorCode, CreateErrorOptions, DbErrorInfo, ErrorContext, ServiceId, StandardErrorResponse, TraceId } from './types/index.js';
3
3
  export declare function createError(code: CanonicalErrorCode, options?: CreateErrorOptions): StandardError;
4
4
  export declare function getCanonicalError(code: CanonicalErrorCode): CanonicalError;
5
5
  export declare function createErrorResponse(code: CanonicalErrorCode, options?: CreateErrorOptions): StandardErrorResponse;
@@ -28,4 +28,5 @@ export declare function toDbErrorResponse(err: unknown, options?: Readonly<{
28
28
  traceId?: TraceId;
29
29
  context?: ErrorContext;
30
30
  }>): StandardErrorResponse;
31
+ export declare function parseDbError(err: ErrorContext): DbErrorInfo | null;
31
32
  //# sourceMappingURL=factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,OAAO,EACP,MAAM,kBAAkB,CAAA;AAqFzB,wBAAgB,WAAW,CAC1B,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC9B,aAAa,CAEf;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAO1E;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC9B,qBAAqB,CAEvB;AAED,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC,GACA,eAAe,CAkBjB;AAED,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;CAAE,CAAC,EACrE,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAM,GACL,eAAe,CAyBjB;AAED,wBAAgB,eAAe,CAC9B,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC1E,qBAAqB,CAwBvB;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;CACtB,CAAM,GACL,qBAAqB,CAyBvB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,KAAK,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,OAAO,EAEP,MAAM,kBAAkB,CAAA;AA6IzB,wBAAgB,WAAW,CAC1B,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC9B,aAAa,CAEf;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAO1E;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC9B,qBAAqB,CAEvB;AAED,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC,GACA,eAAe,CAkBjB;AAED,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;CAAE,CAAC,EACrE,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAM,GACL,eAAe,CAyBjB;AAED,wBAAgB,eAAe,CAC9B,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAC1E,qBAAqB,CAwBvB;AAED,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,YAAY,CAAA;CACtB,CAAM,GACL,qBAAqB,CAyBvB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI,CAqJlE"}
package/dist/factory.js CHANGED
@@ -66,6 +66,61 @@ function isConnectionError(err) {
66
66
  name === 'SequelizeHostNotFoundError' ||
67
67
  name === 'SequelizeHostNotReachableError');
68
68
  }
69
+ function buildValidationContext(err) {
70
+ const validation = [];
71
+ try {
72
+ if (err && Array.isArray(err.errors) && err.errors.length > 0) {
73
+ for (let i = 0; i < err.errors.length; i++) {
74
+ const e = err.errors[i];
75
+ if (!e) {
76
+ continue;
77
+ }
78
+ const field = e.path
79
+ ? String(e.path)
80
+ : e.field
81
+ ? String(e.field)
82
+ : undefined;
83
+ const reason = e.message ? String(e.message) : 'Invalid value';
84
+ const type = e.type ? String(e.type) : undefined;
85
+ validation.push({
86
+ reason,
87
+ ...(field !== undefined ? { field } : {}),
88
+ ...(type !== undefined ? { type } : {}),
89
+ });
90
+ }
91
+ }
92
+ }
93
+ catch (_e) { }
94
+ return validation;
95
+ }
96
+ function isMysqlErr(err, codes, errnos) {
97
+ const code = String(getErrCode(err) ?? '');
98
+ const errno = Number(getErrErrno(err) ?? 0);
99
+ if (code && codes.indexOf(code) >= 0)
100
+ return true;
101
+ if (errno && typeof errno === 'number' && errnos.indexOf(errno) >= 0)
102
+ return true;
103
+ return false;
104
+ }
105
+ function safeFieldFromSequelizeError(err) {
106
+ try {
107
+ if (err &&
108
+ Array.isArray(err.errors) &&
109
+ err.errors[0] &&
110
+ err.errors[0].path) {
111
+ return err.errors[0].path;
112
+ }
113
+ if (err?.fields) {
114
+ const keys = Object.keys(err.fields);
115
+ if (keys.length)
116
+ return keys[0];
117
+ }
118
+ }
119
+ catch (_e) {
120
+ // ignore
121
+ }
122
+ return undefined;
123
+ }
69
124
  export function createError(code, options = {}) {
70
125
  return new StandardError(code, options);
71
126
  }
@@ -165,4 +220,130 @@ export function toDbErrorResponse(err, options = {}) {
165
220
  };
166
221
  return createErrorResponse(code, createOptions);
167
222
  }
223
+ export function parseDbError(err) {
224
+ if (!err)
225
+ return null;
226
+ const original = err;
227
+ if (err.name === 'SequelizeValidationError') {
228
+ return {
229
+ name: 'SequelizeValidationError',
230
+ statusCode: 400,
231
+ message: 'Invalid request',
232
+ cause: original,
233
+ context: {
234
+ retryable: false,
235
+ validation: buildValidationContext(err),
236
+ },
237
+ };
238
+ }
239
+ if (err.name === 'SequelizeUniqueConstraintError' ||
240
+ isMysqlErr(err, ['ER-DUP_ENTRY'], [1062])) {
241
+ const field = safeFieldFromSequelizeError(err);
242
+ let message = 'A record with the same value already exists.';
243
+ if (field)
244
+ message = `${field} already exists.`;
245
+ return {
246
+ name: 'SequelizeUniqueConstraintError',
247
+ statusCode: 409,
248
+ message: message,
249
+ cause: original,
250
+ context: {
251
+ retryable: false,
252
+ field: field,
253
+ },
254
+ };
255
+ }
256
+ if (err.name === 'SequelizeForeignKeyConstraintError' ||
257
+ isMysqlErr(err, ['ER_NO_REFERENCED_ROW_2'], [1452])) {
258
+ return {
259
+ name: 'SequelizeForeignKeyConstraintError',
260
+ statusCode: 409,
261
+ message: 'Constraint violation.',
262
+ cause: original,
263
+ context: {
264
+ retryable: false,
265
+ },
266
+ };
267
+ }
268
+ if (isMysqlErr(err, ['ER_LOCK_DEADLOCK'], [1213])) {
269
+ return {
270
+ name: 'SequelizeDatabaseError',
271
+ statusCode: 503,
272
+ message: 'Temporary database conflict. Please retry.',
273
+ cause: original,
274
+ context: {
275
+ retryable: true,
276
+ },
277
+ };
278
+ }
279
+ if (isMysqlErr(err, ['ER_LOCK_WAIT_TIMEOUT'], [1205])) {
280
+ return {
281
+ name: 'SequelizeDatabaseError',
282
+ statusCode: 503,
283
+ message: 'Database is busy. Please retry.',
284
+ cause: original,
285
+ context: {
286
+ retryable: true,
287
+ },
288
+ };
289
+ }
290
+ if (isMysqlErr(err, [
291
+ 'ER_ACCESS_DENIED_ERROR',
292
+ 'ER_DBACCESS_DENIED_ERROR',
293
+ 'ER_TABLEACCESS_DENIED_ERROR',
294
+ 'ER_COLUMNACCESS_DENIED_ERROR',
295
+ 'ER_PROCACCESS_DENIED_ERROR',
296
+ ], [1045, 1044, 1142, 1143, 1370])) {
297
+ return {
298
+ name: 'SequelizeConnectionError',
299
+ statusCode: 503,
300
+ message: 'Database access denied.',
301
+ cause: original,
302
+ context: {
303
+ retryable: false,
304
+ mysql: { code: getErrCode(err) },
305
+ },
306
+ };
307
+ }
308
+ if (err.name === 'SequelizeConnectionError' ||
309
+ err.name === 'SequelizeConnectionTimedOutError' ||
310
+ err.name === 'SequelizeConnectionRefusedError' ||
311
+ isMysqlErr(err, ['PROTOCOL_CONNECTION_LOST', 'ECONNREFUSED', 'ETIMEDOUT'], [])) {
312
+ return {
313
+ name: 'SequelizeConnectionError',
314
+ statusCode: 503,
315
+ message: 'Database connection failure.',
316
+ cause: original,
317
+ context: {
318
+ retryable: true,
319
+ mysql: { code: getErrCode(err) },
320
+ },
321
+ };
322
+ }
323
+ if (isMysqlErr(err, ['PROTOCOL_SEQUENCE_TIMEOUT', 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR'], [])) {
324
+ return {
325
+ name: 'SequelizeTimeoutError',
326
+ statusCode: 503,
327
+ message: 'Database timeout. Please retry.',
328
+ cause: original,
329
+ context: {
330
+ retryable: true,
331
+ mysql: { code: getErrCode(err) },
332
+ },
333
+ };
334
+ }
335
+ if (err.name === 'SequelizeDatabaseError') {
336
+ return {
337
+ name: 'SequelizeDatabaseError',
338
+ statusCode: 500,
339
+ message: 'Database operation failed.',
340
+ cause: original,
341
+ context: {
342
+ retryable: false,
343
+ mysql: { code: getErrCode(err) },
344
+ },
345
+ };
346
+ }
347
+ return null;
348
+ }
168
349
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAYpE,SAAS,kBAAkB,CAAC,GAAY;IACvC,IACC,GAAG,YAAY,KAAK;QACpB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAEtB,OAAO,GAAG,CAAC,OAAO,CAAA;IACnB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IACzD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,2BAA2B,CAAA;IACnC,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACrD,MAAM,CAAC,GAAG,GAGT,CAAA;IACD,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,GAAY;IAChC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAA;IACrD,MAAM,CAAC,GAAG,GAGT,CAAA;IACD,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAA;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAI,GAA+B,CAAC,IAAI,CAAA;IAClD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC5B,OAAO,CACN,IAAI,KAAK,gCAAgC;QACzC,IAAI,KAAK,oCAAoC;QAC7C,IAAI,KAAK,0BAA0B,CACnC,CAAA;AACF,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACpC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,kBAAkB,IAAI,KAAK,KAAK,IAAI,CAAA;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IACnC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC5B,OAAO,CACN,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9B,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,wCAAwC,CACjD,CAAA;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACtC,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAC5B,OAAO,CACN,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,cAAc;QACvB,IAAI,KAAK,YAAY;QACrB,iDAAiD,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,IAAI,KAAK,0BAA0B;QACnC,IAAI,KAAK,4BAA4B;QACrC,IAAI,KAAK,gCAAgC,CACzC,CAAA;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAC1B,IAAwB,EACxB,UAA8B,EAAE;IAEhC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACzD,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO;QACN,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;KACxB,CAAA;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,IAAwB,EACxB,UAA8B,EAAE;IAEhC,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC/B,SAAoB,EACpB,SAAyB,EACzB,SAME;IAEF,OAAO;QACN,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,IAAI,EAAE,SAAS,CAAC,WAAW;QAC3B,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,GAAG,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;KACN,CAAA;AACF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACpC,SAAoB,EACpB,UAAqE,EACrE,GAAY,EACZ,UAKK,EAAE;IAEP,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEhD,+EAA+E;IAC/E,MAAM,IAAI,GACT,UAAU,CAAC,IAAI,KAAK,UAAU;QAC7B,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,mBAAmB,CAAA;IACvB,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAEzC,MAAM,OAAO,GACZ,OAAO,CAAC,OAAO;QACf,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,CAAC,8BAA8B,UAAU,CAAC,IAAI,WAAW;YAC1D,CAAC,CAAC,yBAAyB,UAAU,CAAC,IAAI,sBAAsB,CAAC,CAAA;IAEnE,OAAO,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE;QAC7C,OAAO;QACP,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,gBAAgB,EAAE;QAC/C,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC9B,GAAY,EACZ,OAA4E;IAE5E,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,MAAM,EAAE,CAAA;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,gBAAgB,CAAA;IAC9D,MAAM,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAE5C,IAAI,OAAO,GAAG,GAAG,CAAC,cAAc,CAAA;IAChC,MAAM,KAAK,GAAY,GAAG,CAAA;IAE1B,IACC,GAAG,YAAY,KAAK;QACpB,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;QACF,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IACtB,CAAC;IAED,MAAM,aAAa,GAClB,OAAO,EAAE,OAAO,KAAK,SAAS;QAC7B,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;QAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IACtB,OAAO,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,GAAY,EACZ,UAIK,EAAE;IAEP,MAAM,WAAW,GAAiB;QACjC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,EAAE,EAAE;YACH,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS;YACxC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAY;YAChC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAY;YAClC,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,CAAC;SACzC;KACD,CAAA;IAED,IAAI,IAAI,GAAuB,qBAAqB,CAAA;IACpD,IAAI,iBAAiB,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,yBAAyB,CAAA;SACvD,IAAI,eAAe,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,aAAa,CAAA;SAC9C,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,kBAAkB,CAAA;SAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC;QAAE,IAAI,GAAG,uBAAuB,CAAA;IAE/D,MAAM,aAAa,GAAuB;QACzC,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAA;IAED,OAAO,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ERROR_DEFINITIONS, getErrorDefinition } from './definitions.js';
2
- export { createError, createErrorResponse, getCanonicalError, handleDependencyError, toDbErrorResponse, toErrorResponse, wrapServiceError, } from './factory.js';
2
+ export { createError, createErrorResponse, getCanonicalError, handleDependencyError, parseDbError, toDbErrorResponse, toErrorResponse, wrapServiceError, } from './factory.js';
3
3
  export { isStandardError, StandardError } from './standard-error.js';
4
4
  export type { BMErrorResponse, CanonicalError, CanonicalErrorCode, CreateErrorOptions, DependencyInfo, DependencyType, ErrorContext, ErrorDefinition, StandardErrorResponse, TraceId, } from './types/index.js';
5
5
  export { ServiceId } from './types/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACN,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,OAAO,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACN,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EACX,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,OAAO,GACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ERROR_DEFINITIONS, getErrorDefinition } from './definitions.js';
2
- export { createError, createErrorResponse, getCanonicalError, handleDependencyError, toDbErrorResponse, toErrorResponse, wrapServiceError, } from './factory.js';
2
+ export { createError, createErrorResponse, getCanonicalError, handleDependencyError, parseDbError, toDbErrorResponse, toErrorResponse, wrapServiceError, } from './factory.js';
3
3
  export { isStandardError, StandardError } from './standard-error.js';
4
4
  export { ServiceId } from './types/index.js';
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACN,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAapE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACN,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GAChB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAapE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
@@ -26,7 +26,8 @@ export declare enum ServiceId {
26
26
  Booking = "booking",
27
27
  Whatsapp = "whatsapp",
28
28
  Topup = "topup",
29
- Survey = "survey"
29
+ Survey = "survey",
30
+ Auth = "auth"
30
31
  }
31
32
  export type StandardErrorResponse = Readonly<{
32
33
  error_code: CanonicalErrorCode;
@@ -54,4 +55,16 @@ export type CreateErrorOptions = Readonly<{
54
55
  traceId?: TraceId;
55
56
  cause?: unknown;
56
57
  }>;
58
+ export type Validation = Readonly<{
59
+ field?: string;
60
+ reason: string;
61
+ type?: string;
62
+ }>;
63
+ export type DbErrorInfo = Readonly<{
64
+ context: ErrorContext;
65
+ cause: unknown;
66
+ name: string;
67
+ statusCode: number;
68
+ message: string;
69
+ }>;
57
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,6 @@ export var ServiceId;
13
13
  ServiceId["Whatsapp"] = "whatsapp";
14
14
  ServiceId["Topup"] = "topup";
15
15
  ServiceId["Survey"] = "survey";
16
+ ServiceId["Auth"] = "auth";
16
17
  })(ServiceId || (ServiceId = {}));
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAqGA,MAAM,CAAN,IAAY,SAcX;AAdD,WAAY,SAAS;IACpB,+BAAkB,CAAA;IAClB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,8BAAiB,CAAA;AAClB,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAqGA,MAAM,CAAN,IAAY,SAeX;AAfD,WAAY,SAAS;IACpB,+BAAkB,CAAA;IAClB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,0BAAa,CAAA;AACd,CAAC,EAfW,SAAS,KAAT,SAAS,QAepB"}
@@ -7,6 +7,7 @@ exports.wrapServiceError = wrapServiceError;
7
7
  exports.handleDependencyError = handleDependencyError;
8
8
  exports.toErrorResponse = toErrorResponse;
9
9
  exports.toDbErrorResponse = toDbErrorResponse;
10
+ exports.parseDbError = parseDbError;
10
11
  const definitions_js_1 = require("./definitions.js");
11
12
  const standard_error_js_1 = require("./standard-error.js");
12
13
  function getOriginalMessage(err) {
@@ -75,6 +76,61 @@ function isConnectionError(err) {
75
76
  name === 'SequelizeHostNotFoundError' ||
76
77
  name === 'SequelizeHostNotReachableError');
77
78
  }
79
+ function buildValidationContext(err) {
80
+ const validation = [];
81
+ try {
82
+ if (err && Array.isArray(err.errors) && err.errors.length > 0) {
83
+ for (let i = 0; i < err.errors.length; i++) {
84
+ const e = err.errors[i];
85
+ if (!e) {
86
+ continue;
87
+ }
88
+ const field = e.path
89
+ ? String(e.path)
90
+ : e.field
91
+ ? String(e.field)
92
+ : undefined;
93
+ const reason = e.message ? String(e.message) : 'Invalid value';
94
+ const type = e.type ? String(e.type) : undefined;
95
+ validation.push({
96
+ reason,
97
+ ...(field !== undefined ? { field } : {}),
98
+ ...(type !== undefined ? { type } : {}),
99
+ });
100
+ }
101
+ }
102
+ }
103
+ catch (_e) { }
104
+ return validation;
105
+ }
106
+ function isMysqlErr(err, codes, errnos) {
107
+ const code = String(getErrCode(err) ?? '');
108
+ const errno = Number(getErrErrno(err) ?? 0);
109
+ if (code && codes.indexOf(code) >= 0)
110
+ return true;
111
+ if (errno && typeof errno === 'number' && errnos.indexOf(errno) >= 0)
112
+ return true;
113
+ return false;
114
+ }
115
+ function safeFieldFromSequelizeError(err) {
116
+ try {
117
+ if (err &&
118
+ Array.isArray(err.errors) &&
119
+ err.errors[0] &&
120
+ err.errors[0].path) {
121
+ return err.errors[0].path;
122
+ }
123
+ if (err?.fields) {
124
+ const keys = Object.keys(err.fields);
125
+ if (keys.length)
126
+ return keys[0];
127
+ }
128
+ }
129
+ catch (_e) {
130
+ // ignore
131
+ }
132
+ return undefined;
133
+ }
78
134
  function createError(code, options = {}) {
79
135
  return new standard_error_js_1.StandardError(code, options);
80
136
  }
@@ -174,4 +230,130 @@ function toDbErrorResponse(err, options = {}) {
174
230
  };
175
231
  return createErrorResponse(code, createOptions);
176
232
  }
233
+ function parseDbError(err) {
234
+ if (!err)
235
+ return null;
236
+ const original = err;
237
+ if (err.name === 'SequelizeValidationError') {
238
+ return {
239
+ name: 'SequelizeValidationError',
240
+ statusCode: 400,
241
+ message: 'Invalid request',
242
+ cause: original,
243
+ context: {
244
+ retryable: false,
245
+ validation: buildValidationContext(err),
246
+ },
247
+ };
248
+ }
249
+ if (err.name === 'SequelizeUniqueConstraintError' ||
250
+ isMysqlErr(err, ['ER-DUP_ENTRY'], [1062])) {
251
+ const field = safeFieldFromSequelizeError(err);
252
+ let message = 'A record with the same value already exists.';
253
+ if (field)
254
+ message = `${field} already exists.`;
255
+ return {
256
+ name: 'SequelizeUniqueConstraintError',
257
+ statusCode: 409,
258
+ message: message,
259
+ cause: original,
260
+ context: {
261
+ retryable: false,
262
+ field: field,
263
+ },
264
+ };
265
+ }
266
+ if (err.name === 'SequelizeForeignKeyConstraintError' ||
267
+ isMysqlErr(err, ['ER_NO_REFERENCED_ROW_2'], [1452])) {
268
+ return {
269
+ name: 'SequelizeForeignKeyConstraintError',
270
+ statusCode: 409,
271
+ message: 'Constraint violation.',
272
+ cause: original,
273
+ context: {
274
+ retryable: false,
275
+ },
276
+ };
277
+ }
278
+ if (isMysqlErr(err, ['ER_LOCK_DEADLOCK'], [1213])) {
279
+ return {
280
+ name: 'SequelizeDatabaseError',
281
+ statusCode: 503,
282
+ message: 'Temporary database conflict. Please retry.',
283
+ cause: original,
284
+ context: {
285
+ retryable: true,
286
+ },
287
+ };
288
+ }
289
+ if (isMysqlErr(err, ['ER_LOCK_WAIT_TIMEOUT'], [1205])) {
290
+ return {
291
+ name: 'SequelizeDatabaseError',
292
+ statusCode: 503,
293
+ message: 'Database is busy. Please retry.',
294
+ cause: original,
295
+ context: {
296
+ retryable: true,
297
+ },
298
+ };
299
+ }
300
+ if (isMysqlErr(err, [
301
+ 'ER_ACCESS_DENIED_ERROR',
302
+ 'ER_DBACCESS_DENIED_ERROR',
303
+ 'ER_TABLEACCESS_DENIED_ERROR',
304
+ 'ER_COLUMNACCESS_DENIED_ERROR',
305
+ 'ER_PROCACCESS_DENIED_ERROR',
306
+ ], [1045, 1044, 1142, 1143, 1370])) {
307
+ return {
308
+ name: 'SequelizeConnectionError',
309
+ statusCode: 503,
310
+ message: 'Database access denied.',
311
+ cause: original,
312
+ context: {
313
+ retryable: false,
314
+ mysql: { code: getErrCode(err) },
315
+ },
316
+ };
317
+ }
318
+ if (err.name === 'SequelizeConnectionError' ||
319
+ err.name === 'SequelizeConnectionTimedOutError' ||
320
+ err.name === 'SequelizeConnectionRefusedError' ||
321
+ isMysqlErr(err, ['PROTOCOL_CONNECTION_LOST', 'ECONNREFUSED', 'ETIMEDOUT'], [])) {
322
+ return {
323
+ name: 'SequelizeConnectionError',
324
+ statusCode: 503,
325
+ message: 'Database connection failure.',
326
+ cause: original,
327
+ context: {
328
+ retryable: true,
329
+ mysql: { code: getErrCode(err) },
330
+ },
331
+ };
332
+ }
333
+ if (isMysqlErr(err, ['PROTOCOL_SEQUENCE_TIMEOUT', 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR'], [])) {
334
+ return {
335
+ name: 'SequelizeTimeoutError',
336
+ statusCode: 503,
337
+ message: 'Database timeout. Please retry.',
338
+ cause: original,
339
+ context: {
340
+ retryable: true,
341
+ mysql: { code: getErrCode(err) },
342
+ },
343
+ };
344
+ }
345
+ if (err.name === 'SequelizeDatabaseError') {
346
+ return {
347
+ name: 'SequelizeDatabaseError',
348
+ statusCode: 500,
349
+ message: 'Database operation failed.',
350
+ cause: original,
351
+ context: {
352
+ retryable: false,
353
+ mysql: { code: getErrCode(err) },
354
+ },
355
+ };
356
+ }
357
+ return null;
358
+ }
177
359
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../factory.ts"],"names":[],"mappings":"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"}
package/dist-cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServiceId = exports.StandardError = exports.isStandardError = exports.wrapServiceError = exports.toErrorResponse = exports.toDbErrorResponse = exports.handleDependencyError = exports.getCanonicalError = exports.createErrorResponse = exports.createError = exports.getErrorDefinition = exports.ERROR_DEFINITIONS = void 0;
3
+ exports.ServiceId = exports.StandardError = exports.isStandardError = exports.wrapServiceError = exports.toErrorResponse = exports.toDbErrorResponse = exports.parseDbError = exports.handleDependencyError = exports.getCanonicalError = exports.createErrorResponse = exports.createError = exports.getErrorDefinition = exports.ERROR_DEFINITIONS = void 0;
4
4
  var definitions_js_1 = require("./definitions.js");
5
5
  Object.defineProperty(exports, "ERROR_DEFINITIONS", { enumerable: true, get: function () { return definitions_js_1.ERROR_DEFINITIONS; } });
6
6
  Object.defineProperty(exports, "getErrorDefinition", { enumerable: true, get: function () { return definitions_js_1.getErrorDefinition; } });
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "createError", { enumerable: true, get: function
9
9
  Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return factory_js_1.createErrorResponse; } });
10
10
  Object.defineProperty(exports, "getCanonicalError", { enumerable: true, get: function () { return factory_js_1.getCanonicalError; } });
11
11
  Object.defineProperty(exports, "handleDependencyError", { enumerable: true, get: function () { return factory_js_1.handleDependencyError; } });
12
+ Object.defineProperty(exports, "parseDbError", { enumerable: true, get: function () { return factory_js_1.parseDbError; } });
12
13
  Object.defineProperty(exports, "toDbErrorResponse", { enumerable: true, get: function () { return factory_js_1.toDbErrorResponse; } });
13
14
  Object.defineProperty(exports, "toErrorResponse", { enumerable: true, get: function () { return factory_js_1.toErrorResponse; } });
14
15
  Object.defineProperty(exports, "wrapServiceError", { enumerable: true, get: function () { return factory_js_1.wrapServiceError; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,mDAAwE;AAA/D,mHAAA,iBAAiB,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAC9C,2CAQqB;AAPpB,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,mHAAA,qBAAqB,OAAA;AACrB,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA;AACf,8GAAA,gBAAgB,OAAA;AAEjB,yDAAoE;AAA3D,oHAAA,eAAe,OAAA;AAAE,kHAAA,aAAa,OAAA;AAavC,6CAA4C;AAAnC,qGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,mDAAwE;AAA/D,mHAAA,iBAAiB,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAC9C,2CASqB;AARpB,yGAAA,WAAW,OAAA;AACX,iHAAA,mBAAmB,OAAA;AACnB,+GAAA,iBAAiB,OAAA;AACjB,mHAAA,qBAAqB,OAAA;AACrB,0GAAA,YAAY,OAAA;AACZ,+GAAA,iBAAiB,OAAA;AACjB,6GAAA,eAAe,OAAA;AACf,8GAAA,gBAAgB,OAAA;AAEjB,yDAAoE;AAA3D,oHAAA,eAAe,OAAA;AAAE,kHAAA,aAAa,OAAA;AAavC,6CAA4C;AAAnC,qGAAA,SAAS,OAAA"}
@@ -16,5 +16,6 @@ var ServiceId;
16
16
  ServiceId["Whatsapp"] = "whatsapp";
17
17
  ServiceId["Topup"] = "topup";
18
18
  ServiceId["Survey"] = "survey";
19
+ ServiceId["Auth"] = "auth";
19
20
  })(ServiceId || (exports.ServiceId = ServiceId = {}));
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";;;AAqGA,IAAY,SAcX;AAdD,WAAY,SAAS;IACpB,+BAAkB,CAAA;IAClB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,8BAAiB,CAAA;AAClB,CAAC,EAdW,SAAS,yBAAT,SAAS,QAcpB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";;;AAqGA,IAAY,SAeX;AAfD,WAAY,SAAS;IACpB,+BAAkB,CAAA;IAClB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,0BAAa,CAAA;AACd,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beemafrica/error-definitions",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Shared library for canonical error codes, HTTP mappings, and standardized error response schemas across the BeemM ecosystem.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -35,7 +35,7 @@
35
35
  "author": "Michelle Njeri",
36
36
  "license": "ISC",
37
37
  "devDependencies": {
38
- "@biomejs/biome": "^2.3.13",
38
+ "@biomejs/biome": "^2.4.2",
39
39
  "@changesets/cli": "^2.29.8",
40
40
  "typescript": "^5.9.3"
41
41
  },