@mustafahmed1997/learnify-backend 1.6.0 → 1.8.0

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.
@@ -51,7 +51,7 @@ export function handlePrismaError(error) {
51
51
  }
52
52
  return {
53
53
  status: 500,
54
- message: `Unknown server error: ${error instanceof Error ? error.message : String(error)}`,
54
+ message: `Non-prisma error: ${error instanceof Error ? error.message : String(error)}`,
55
55
  };
56
56
  }
57
57
  //# sourceMappingURL=handlePrismaError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlePrismaError.js","sourceRoot":"","sources":["../../src/errors/handlePrismaError.ts"],"names":[],"mappings":"AAUA,SAAS,yBAAyB,CAChC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,UAAU,CAAC,IAAI,CAAE,KAA0B,CAAC,IAAI,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAI9C,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,uBAAuB,MAAM,CACpC,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,OAAO,CAC9B,EAAE;iBACJ,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,kBAAkB;iBAC5B,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,4BAA4B;iBACtC,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,sBAAsB,MAAM,CACnC,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,QAAQ,CACpC,EAAE;iBACJ,CAAC;YAEJ;gBACE,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,IAAI,wBAAwB,EAAE;iBACxE,CAAC;QACN,CAAC;IACH,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,6BAA6B,EAC5C,CAAC;QACD,OAAO;YACL,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,uBACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,yBACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"handlePrismaError.js","sourceRoot":"","sources":["../../src/errors/handlePrismaError.ts"],"names":[],"mappings":"AAUA,SAAS,yBAAyB,CAChC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ;QACtD,UAAU,CAAC,IAAI,CAAE,KAA0B,CAAC,IAAI,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAI9C,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,uBAAuB,MAAM,CACpC,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,OAAO,CAC9B,EAAE;iBACJ,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,+BAA+B;iBACzC,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,kBAAkB;iBAC5B,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,4BAA4B;iBACtC,CAAC;YAEJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,sBAAsB,MAAM,CACnC,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,QAAQ,CACpC,EAAE;iBACJ,CAAC;YAEJ;gBACE,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,IAAI,wBAAwB,EAAE;iBACxE,CAAC;QACN,CAAC;IACH,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,6BAA6B,EAC5C,CAAC;QACD,OAAO;YACL,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,uBACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,qBACP,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE;KACH,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,5 +17,6 @@ export type { JsonResponseOptions } from "./utils/getJsonResponse.js";
17
17
  export { checkUnique } from "./utils/checkUnique.js";
18
18
  export { checkValidRoles } from "./utils/checkValidRoles.js";
19
19
  export { requiredFieldMsg, minLengthMsg, maxLengthMsg, invalidSchemaFormatMsg, invalidEmailMsg, invalidPasswordMsg, invalidDateFormatMsg, futureDateRequiredMsg, invalidNumberMsg, positiveNumberMsg, invalidUrlMsg, } from "./utils/validationErrorMessages.js";
20
+ export { handleCaughtError } from "./utils/handleCaughtError.js";
20
21
  export type { ClerkUser } from "./types/ClerkUser.js";
21
22
  export type { Location } from "./types/locationType.js";
package/dist/index.js CHANGED
@@ -13,4 +13,5 @@ export { getJsonResponse } from "./utils/getJsonResponse.js";
13
13
  export { checkUnique } from "./utils/checkUnique.js";
14
14
  export { checkValidRoles } from "./utils/checkValidRoles.js";
15
15
  export { requiredFieldMsg, minLengthMsg, maxLengthMsg, invalidSchemaFormatMsg, invalidEmailMsg, invalidPasswordMsg, invalidDateFormatMsg, futureDateRequiredMsg, invalidNumberMsg, positiveNumberMsg, invalidUrlMsg, } from "./utils/validationErrorMessages.js";
16
+ export { handleCaughtError } from "./utils/handleCaughtError.js";
16
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAKvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAKvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,10 +1,12 @@
1
1
  export type JsonResponseOptions<TData = unknown, TAdditionalInfo = unknown> = {
2
+ success: boolean;
2
3
  message?: string;
3
4
  data?: TData;
4
5
  additionalInfo?: TAdditionalInfo;
5
6
  error?: string;
6
7
  };
7
- export declare function getJsonResponse<TData = unknown, TAdditionalInfo = unknown>({ message, data, additionalInfo, error, }: JsonResponseOptions<TData, TAdditionalInfo>): {
8
+ export declare function getJsonResponse<TData = unknown, TAdditionalInfo = unknown>({ success, message, data, additionalInfo, error, }: JsonResponseOptions<TData, TAdditionalInfo>): {
9
+ success: boolean;
8
10
  message?: string;
9
11
  data?: TData;
10
12
  additionalInfo?: TAdditionalInfo;
@@ -1,5 +1,5 @@
1
- export function getJsonResponse({ message, data, additionalInfo, error, }) {
2
- const response = {};
1
+ export function getJsonResponse({ success, message, data, additionalInfo, error, }) {
2
+ const response = { success };
3
3
  if (message !== undefined)
4
4
  response.message = message;
5
5
  if (data !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"getJsonResponse.js","sourceRoot":"","sources":["../../src/utils/getJsonResponse.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,eAAe,CAA6C,EAC1E,OAAO,EACP,IAAI,EACJ,cAAc,EACd,KAAK,GACuC;IAC5C,MAAM,QAAQ,GAKV,EAAE,CAAC;IAEP,IAAI,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IACtD,IAAI,IAAI,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7C,IAAI,cAAc,KAAK,SAAS;QAAE,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;IAC3E,IAAI,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAEhD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"getJsonResponse.js","sourceRoot":"","sources":["../../src/utils/getJsonResponse.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,eAAe,CAA6C,EAC1E,OAAO,EACP,OAAO,EACP,IAAI,EACJ,cAAc,EACd,KAAK,GACuC;IAC5C,MAAM,QAAQ,GAMV,EAAE,OAAO,EAAE,CAAC;IAEhB,IAAI,OAAO,KAAK,SAAS;QAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IACtD,IAAI,IAAI,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7C,IAAI,cAAc,KAAK,SAAS;QAAE,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;IAC3E,IAAI,KAAK,KAAK,SAAS;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAEhD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { NextFunction } from "express";
2
+ export declare function handleCaughtError(error: unknown, next: NextFunction): void;
@@ -0,0 +1,10 @@
1
+ import { AppError } from "../errors/AppError.js";
2
+ import { handlePrismaError } from "../errors/handlePrismaError.js";
3
+ export function handleCaughtError(error, next) {
4
+ if (error instanceof AppError) {
5
+ return next(error);
6
+ }
7
+ const prismaError = handlePrismaError(error);
8
+ return next(prismaError);
9
+ }
10
+ //# sourceMappingURL=handleCaughtError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCaughtError.js","sourceRoot":"","sources":["../../src/utils/handleCaughtError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,UAAU,iBAAiB,CAAC,KAAc,EAAE,IAAkB;IAClE,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mustafahmed1997/learnify-backend",
3
- "version": "1.6.0",
3
+ "version": "1.8.0",
4
4
  "description": "Shared Clerk-based auth middlewares, role checking, error utilities, and Express types for Learnify backend microservices.",
5
5
  "keywords": [
6
6
  "express",