@starklabs/forge 1.0.1 → 1.1.1

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 (75) hide show
  1. package/dist/js/auth/forgotPassword.d.ts.map +1 -1
  2. package/dist/js/auth/forgotPassword.js +2 -5
  3. package/dist/js/auth/forgotPassword.js.map +1 -1
  4. package/dist/js/auth/login.d.ts.map +1 -1
  5. package/dist/js/auth/login.js +2 -5
  6. package/dist/js/auth/login.js.map +1 -1
  7. package/dist/js/auth/resendOTP.d.ts.map +1 -1
  8. package/dist/js/auth/resendOTP.js +2 -5
  9. package/dist/js/auth/resendOTP.js.map +1 -1
  10. package/dist/js/auth/resetPassword.d.ts.map +1 -1
  11. package/dist/js/auth/resetPassword.js +2 -5
  12. package/dist/js/auth/resetPassword.js.map +1 -1
  13. package/dist/js/auth/signup.d.ts.map +1 -1
  14. package/dist/js/auth/signup.js +3 -10
  15. package/dist/js/auth/signup.js.map +1 -1
  16. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  17. package/dist/js/auth/utils/authenticateUser.js +3 -6
  18. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  19. package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
  20. package/dist/js/auth/utils/createOTPUser.js +2 -5
  21. package/dist/js/auth/utils/createOTPUser.js.map +1 -1
  22. package/dist/js/auth/utils/createUser.js +1 -1
  23. package/dist/js/auth/utils/createUser.js.map +1 -1
  24. package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -1
  25. package/dist/js/auth/utils/handleIsVerified.js +2 -5
  26. package/dist/js/auth/utils/handleIsVerified.js.map +1 -1
  27. package/dist/js/auth/verifyOTP.d.ts.map +1 -1
  28. package/dist/js/auth/verifyOTP.js +6 -25
  29. package/dist/js/auth/verifyOTP.js.map +1 -1
  30. package/dist/js/config/defaultConfig.d.ts +2 -2
  31. package/dist/js/config/defaultConfig.d.ts.map +1 -1
  32. package/dist/js/config/defaultConfig.js +1 -0
  33. package/dist/js/config/defaultConfig.js.map +1 -1
  34. package/dist/js/config/envs.d.ts +4 -4
  35. package/dist/js/config/envs.d.ts.map +1 -1
  36. package/dist/js/config/envs.js.map +1 -1
  37. package/dist/js/crud/create.d.ts.map +1 -1
  38. package/dist/js/crud/create.js +4 -11
  39. package/dist/js/crud/create.js.map +1 -1
  40. package/dist/js/crud/createBulk.js +1 -1
  41. package/dist/js/crud/createBulk.js.map +1 -1
  42. package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
  43. package/dist/js/crud/handleUploads/file.add.js +2 -5
  44. package/dist/js/crud/handleUploads/file.add.js.map +1 -1
  45. package/dist/js/crud/index.d.ts.map +1 -1
  46. package/dist/js/crud/index.js +2 -5
  47. package/dist/js/crud/index.js.map +1 -1
  48. package/dist/js/crud/read.d.ts.map +1 -1
  49. package/dist/js/crud/read.js +0 -1
  50. package/dist/js/crud/read.js.map +1 -1
  51. package/dist/js/crud/readAll.d.ts.map +1 -1
  52. package/dist/js/crud/readAll.js +0 -1
  53. package/dist/js/crud/readAll.js.map +1 -1
  54. package/dist/js/crud/removeAll.d.ts.map +1 -1
  55. package/dist/js/crud/removeAll.js +2 -5
  56. package/dist/js/crud/removeAll.js.map +1 -1
  57. package/dist/js/crud/update.js +1 -1
  58. package/dist/js/crud/update.js.map +1 -1
  59. package/dist/js/crud/utils/getItem.d.ts.map +1 -1
  60. package/dist/js/crud/utils/getItem.js +29 -24
  61. package/dist/js/crud/utils/getItem.js.map +1 -1
  62. package/dist/js/middleware/auth.middleware.js.map +1 -1
  63. package/dist/js/types/Collection.d.ts +4 -0
  64. package/dist/js/types/Collection.d.ts.map +1 -1
  65. package/dist/js/types/Constructor.d.ts +3 -1
  66. package/dist/js/types/Constructor.d.ts.map +1 -1
  67. package/dist/js/upload/create.d.ts.map +1 -1
  68. package/dist/js/upload/create.js +2 -5
  69. package/dist/js/upload/create.js.map +1 -1
  70. package/dist/js/utils/sanitize.d.ts +3 -2
  71. package/dist/js/utils/sanitize.d.ts.map +1 -1
  72. package/dist/js/utils/sanitize.js +8 -9
  73. package/dist/js/utils/sanitize.js.map +1 -1
  74. package/package.json +1 -1
  75. package/readme.md +1476 -0
@@ -4,6 +4,7 @@ import appResponse from "../../utils/response.js";
4
4
  import { handleUploadFiles } from "../../upload/index.js";
5
5
  import AppError from "../../utils/AppError.js";
6
6
  import authorizeAccess from "../utils/authroizeAccess.js";
7
+ import getErrorDetail from "../../utils/getErrorDetail.js";
7
8
  const addFile = ({ modelName, routeName, route, }) => {
8
9
  return async (req, res) => {
9
10
  if (!route?.fileArray?.length)
@@ -12,11 +13,7 @@ const addFile = ({ modelName, routeName, route, }) => {
12
13
  statusCode: 400,
13
14
  code: "INVALID_CONFIGURATION",
14
15
  hint: "Checkout the collection configuration if fileArray is missing or empty",
15
- details: {
16
- handler: route.handler,
17
- method: route.method,
18
- path: route.path,
19
- },
16
+ details: getErrorDetail(route),
20
17
  });
21
18
  const param = getParam({
22
19
  req,
@@ -1 +1 @@
1
- {"version":3,"file":"file.add.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.add.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,OAAO,GAAG,CAAC,EACf,SAAS,EACT,SAAS,EACT,KAAK,GAMN,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM;YAC3B,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,wEAAwE;gBAC9E,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC,CAAC;QAGL,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,GAAG;YACH,KAAK;SACN,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK;YACZ,KAAK;SACN,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGjD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAExC,IAAI,CAAC,mBAAmB;oBACtB,MAAM,IAAI,QAAQ,CAAC;wBACjB,OAAO,EAAE,6BAA6B,KAAK,kCAAkC;wBAC7E,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,0GAA0G;wBAChH,OAAO,EAAE;4BACP,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB;qBACF,CAAC,CAAC;gBACL,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAGlB,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"file.add.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.add.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAG3D,MAAM,OAAO,GAAG,CAAC,EACf,SAAS,EACT,SAAS,EACT,KAAK,GAMN,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM;YAC3B,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,wEAAwE;gBAC9E,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;QAGL,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,GAAG;YACH,KAAK;SACN,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK;YACZ,KAAK;SACN,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGjD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEzD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAExC,IAAI,CAAC,mBAAmB;oBACtB,MAAM,IAAI,QAAQ,CAAC;wBACjB,OAAO,EAAE,6BAA6B,KAAK,kCAAkC;wBAC7E,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,0GAA0G;wBAChH,OAAO,EAAE;4BACP,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB;qBACF,CAAC,CAAC;gBACL,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAGD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAGlB,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpE,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,SA2ChC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,SAuChC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -4,6 +4,7 @@ import handlerMap from "../config/handlerMap.js";
4
4
  import protect from "../middleware/auth.middleware.js";
5
5
  import AppError from "../utils/AppError.js";
6
6
  import { handleMulterMiddleware } from "../middleware/multer.middleware.js";
7
+ import getErrorDetail from "../utils/getErrorDetail.js";
7
8
  const crud = (app, routeName, routes, modelName, validationsObj) => {
8
9
  const { apiVersion } = getEnvs();
9
10
  for (const route of routes) {
@@ -13,11 +14,7 @@ const crud = (app, routeName, routes, modelName, validationsObj) => {
13
14
  statusCode: 409,
14
15
  code: "CRUD_AUTHROLE_NOT_FOUND",
15
16
  hint: "Write authRole in collections -> routes -> authRole. Make it public if this route doesn't need authentication or authorization",
16
- details: {
17
- handler: route.handler,
18
- method: route.method,
19
- path: route.path,
20
- },
17
+ details: getErrorDetail(route),
21
18
  });
22
19
  const middlewares = [];
23
20
  if (route.authRole !== "public")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAE3B,IAAI,CAAC,KAAK,CAAC,QAAQ;YACjB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,gIAAgI;gBACtI,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC,CAAC;QAGL,MAAM,WAAW,GAAG,EAAE,CAAC;QAGvB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAGlE,IAAI,KAAK,EAAE,SAAS;YAClB,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAGnE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACf,SAAS,UAAU,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,EAC/C,GAAG,WAAW,EACd,YAAY,CAEV,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,SAAS;YACT,SAAS;YACT,KAAK;YACL,cAAc;SACf,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/crud/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAE3B,IAAI,CAAC,KAAK,CAAC,QAAQ;YACjB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,sBAAsB;gBAC/B,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,gIAAgI;gBACtI,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;QAGL,MAAM,WAAW,GAAG,EAAE,CAAC;QAGvB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAGlE,IAAI,KAAK,EAAE,SAAS;YAClB,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAGnE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACf,SAAS,UAAU,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,EAC/C,GAAG,WAAW,EACd,YAAY,CAEV,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,SAAS;YACT,SAAS;YACT,KAAK;YACL,cAAc;SACf,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,IAAI,GAAI,kDAKX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA0BzD,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,IAAI,GAAI,kDAKX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuBzD,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -5,7 +5,6 @@ import getValidationKey from "../utils/validationKeyError.js";
5
5
  import authorizeAccess from "./utils/authroizeAccess.js";
6
6
  const read = ({ modelName, routeName, route, validationsObj, }) => {
7
7
  return async (req, res) => {
8
- getValidationKey(route, validationsObj);
9
8
  const id = getParam({ req, route });
10
9
  const item = await getItem({
11
10
  modelName,
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAGxC,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAGpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAC7B,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGnD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/js/crud/read.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAGpC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAC7B,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGnD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"readAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,IAAI,GAAI,kDAKX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAsBzD,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"readAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,IAAI,GAAI,kDAKX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAmBzD,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -4,7 +4,6 @@ import getValidationKey from "../utils/validationKeyError.js";
4
4
  import authorizeAccess from "./utils/authroizeAccess.js";
5
5
  const read = ({ modelName, routeName, route, validationsObj, }) => {
6
6
  return async (req, res) => {
7
- getValidationKey(route, validationsObj);
8
7
  const items = await getItem({
9
8
  modelName,
10
9
  routeName,
@@ -1 +1 @@
1
- {"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAGxC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,SAAS;YACT,SAAS;YACT,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAC7B,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAG7D,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"readAll.js","sourceRoot":"","sources":["../../../src/js/crud/readAll.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,SAAS;YACT,SAAS;YACT,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAC7B,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAG7D,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"removeAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,SAAS,GAAI,kDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAwCzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"removeAll.d.ts","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,MAAM,SAAS,CAAC;AAIzD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMpE,QAAA,MAAM,SAAS,GAAI,kDAKhB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAoCzD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -3,6 +3,7 @@ import appResponse from "../utils/response.js";
3
3
  import authorizeAccess from "./utils/authroizeAccess.js";
4
4
  import AppError from "../utils/AppError.js";
5
5
  import getValidationKey from "../utils/validationKeyError.js";
6
+ import getErrorDetail from "../utils/getErrorDetail.js";
6
7
  const removeAll = ({ modelName, routeName, route, validationsObj, }) => {
7
8
  return async (req, res) => {
8
9
  getValidationKey(route, validationsObj);
@@ -16,11 +17,7 @@ const removeAll = ({ modelName, routeName, route, validationsObj, }) => {
16
17
  statusCode: 404,
17
18
  code: "CRUD_ITEM_NOT_FOUND",
18
19
  hint: "Hit a POST request to insert an item",
19
- details: {
20
- handler: route.handler,
21
- method: route.method,
22
- path: route.path,
23
- },
20
+ details: getErrorDetail(route),
24
21
  });
25
22
  }
26
23
  appResponse({
@@ -1 +1 @@
1
- {"version":3,"file":"removeAll.js","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAGxC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAG3C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAGxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAG1C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;QAGD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"removeAll.js","sourceRoot":"","sources":["../../../src/js/crud/removeAll.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAGxC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAG3C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAGxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAG1C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QAEtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0BAA0B;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,sCAAsC;gBAC5C,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAGD,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE;gBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;YACD,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -24,7 +24,7 @@ const update = ({ modelName, routeName, route, validationsObj, }) => {
24
24
  });
25
25
  appResponse({
26
26
  res,
27
- data: sanitizeOne(updatedItem.toObject()),
27
+ data: sanitizeOne(updatedItem.toObject(), route),
28
28
  message: "Item updated successfully!",
29
29
  });
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/js/crud/update.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAG9D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAGpC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAGtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,KAAK;SACN,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAGjD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAGxD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE;YAC1D,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/js/crud/update.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAG9D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAGpC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAGtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,KAAK;SACN,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAGjD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAGxD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE;YAC1D,cAAc,EAAE,OAAO;SACxB,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;YACjD,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getItem.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAKvD,QAAA,MAAM,OAAO,GAAU,oDAOpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd,iBA2EA,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"getItem.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMvD,QAAA,MAAM,OAAO,GAAU,oDAOpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd,iBAiFA,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,16 +1,31 @@
1
1
  import AppError from "../../utils/AppError.js";
2
+ import getErrorDetail from "../../utils/getErrorDetail.js";
2
3
  import getModel from "../../utils/getModel.js";
3
4
  import { sanitizeMany, sanitizeOne } from "../../utils/sanitize.js";
4
5
  const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }) => {
5
6
  const Model = getModel({ modelName, routeName, route });
6
7
  let data = null;
7
8
  try {
9
+ let query;
8
10
  if (_id) {
9
- data = await Model?.findById(_id).populate("owner", "_id email");
11
+ query = Model.findById(_id);
10
12
  }
11
13
  else {
12
- data = await Model?.find().populate("owner", "_id email");
14
+ query = Model.find();
13
15
  }
16
+ const populateKey = route?.mongooseConfigObj?.populateKey;
17
+ if (populateKey) {
18
+ if (typeof populateKey === "boolean")
19
+ throw new AppError({
20
+ code: "CRUD_CONFIGURATION_INVALID",
21
+ hint: "populateKey as boolean must be 'false' only. Else it should be string, representing the ref in your mongooseSchemaObj.",
22
+ message: "Invalid populateKey",
23
+ statusCode: 409,
24
+ details: getErrorDetail(route),
25
+ });
26
+ query = query.populate(populateKey, "_id email");
27
+ }
28
+ data = await query;
14
29
  }
15
30
  catch (error) {
16
31
  const msg = error.message;
@@ -19,25 +34,19 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
19
34
  message: `Invalid mongoose _id`,
20
35
  statusCode: 409,
21
36
  code: "CRUD_ITEM_NOT_FOUND",
22
- hint: "Check the /:id you provided in URL. It doesn't match any document's _id in database",
23
- details: {
24
- handler: route.handler,
25
- method: route.method,
26
- path: route.path,
27
- },
37
+ hint: "Check the /:id you provided in URL. It doesn't match any document's _id in database.",
38
+ details: getErrorDetail(route),
28
39
  });
29
40
  }
30
41
  else {
42
+ const err = error;
43
+ console.log(err);
31
44
  throw new AppError({
32
- message: `Error while finding item for the id: ${_id}`,
33
- statusCode: 409,
34
- code: "CRUD_ITEM_NOT_FOUND",
35
- hint: "Check the /:id you provided in URL.",
36
- details: {
37
- handler: route.handler,
38
- method: route.method,
39
- path: route.path,
40
- },
45
+ message: err.message || "Error while finding item(s)",
46
+ statusCode: err.statusCode || 409,
47
+ code: err.code || "CRUD_ITEM_ERROR",
48
+ hint: err.hint || "Check the logs for detail info.",
49
+ details: err.details || getErrorDetail(route),
41
50
  });
42
51
  }
43
52
  }
@@ -50,17 +59,13 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
50
59
  hint: _id
51
60
  ? `Check the '${path ?? "path"}' you provided in url: /${_id}`
52
61
  : "Hit a POST request and create an item",
53
- details: {
54
- handler: route.handler,
55
- method: route.method,
56
- path: route.path,
57
- },
62
+ details: getErrorDetail(route),
58
63
  });
59
64
  }
60
65
  if (clean) {
61
66
  data = Array.isArray(data)
62
- ? sanitizeMany(data)
63
- : sanitizeOne(data.toObject());
67
+ ? sanitizeMany(data, route)
68
+ : sanitizeOne(data.toObject(), route);
64
69
  }
65
70
  return data;
66
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ export interface Route {
17
17
  handler: Handler;
18
18
  validationKey: string | boolean;
19
19
  authRole: AuthRole;
20
+ mongooseConfigObj?: {
21
+ populateKey?: string | boolean;
22
+ hiddenFieldsArray?: string[];
23
+ };
20
24
  fileArray?: Upload[];
21
25
  mode?: AuthMode;
22
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../src/js/types/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,CAAC;AAKpF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAG7C,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAE5C,IAAI,EAAE,IAAI,CAAC;CACZ,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,EAAE,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAGjD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../../src/js/types/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,CAAC;AAKpF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,eAAe,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,KAAK,CAAC;AAG7C,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,CAAC,EAAE;QAClB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;KAC7B,CAAC;IAEF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;IAE5C,IAAI,EAAE,IAAI,CAAC;CACZ,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,EAAE,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAGjD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC"}
@@ -25,6 +25,8 @@ export interface Constructor {
25
25
  adminEmailSender?: string;
26
26
  resendAPIKey?: string;
27
27
  tokenExpiry: DurationType;
28
- userModelName?: string;
28
+ }
29
+ export interface InternalConstructor extends Constructor {
30
+ userModelName?: String;
29
31
  }
30
32
  //# sourceMappingURL=Constructor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,YAAY,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
1
+ {"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,YAAY,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/js/upload/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA+CvC,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,EAAE,OAAO,KAAK;;cAyCjE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/js/upload/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiDvC,eAAO,MAAM,iBAAiB,GAAU,KAAK,OAAO,EAAE,OAAO,KAAK;;cAqCjE,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import streamifier from "streamifier";
2
2
  import AppError from "../utils/AppError.js";
3
3
  import { cloudinary, setupCloudinary } from "../config/cloudinary.js";
4
+ import getErrorDetail from "../utils/getErrorDetail.js";
4
5
  const uploadFile = (file, route) => {
5
6
  setupCloudinary(route);
6
7
  return new Promise((resolve, reject) => {
@@ -43,11 +44,7 @@ export const handleUploadFiles = async (req, route) => {
43
44
  statusCode: 400,
44
45
  code: "UPLOAD_MONGOOSE_FIELD_REQUIRED",
45
46
  hint: "Provide mongooseSchemaFieldName in collection -> fileArray configuration.",
46
- details: {
47
- handler: route.handler,
48
- method: route.method,
49
- path: route.path,
50
- },
47
+ details: getErrorDetail(route),
51
48
  });
52
49
  }
53
50
  if (!Object.keys(req.files ?? {}).length)
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/js/upload/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/js/upload/create.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGtE,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,UAAU,GAAG,CACjB,IAAyB,EACzB,KAAY,EACQ,EAAE;IACtB,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAC9C;YACE,MAAM,EAAE,WAAW;SACpB,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChB,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,MAAM,CACX,IAAI,QAAQ,CAAC;oBACX,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,0BAA0B;oBAChC,IAAI,EACF,8EAA8E;oBAChF,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;YAED,OAAO,CAAC;gBACN,GAAG,EAAE,MAAM,CAAC,UAAU;gBACtB,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAY,EAAE,KAAY,EAAE,EAAE;IAEpE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM;QAAE,OAAO;IAGtC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,uBAAuB;YAC7B,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,sCAAsC;gBAC/C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,gCAAgC;gBACtC,IAAI,EACF,2EAA2E;gBAC7E,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;IACP,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM;QACtC,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,6DAA6D;YACnE,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB;SACF,CAAC,CAAC;IAEL,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,uBAAuB,CAAC;IAEtE,OAAO,EAAE,CAAC,iBAA2B,CAAC,EAAE,QAAQ,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,3 +1,4 @@
1
- export declare const sanitizeOne: (item: any) => any;
2
- export declare const sanitizeMany: (items: any) => any[];
1
+ import type { Route } from "../types/Collection.js";
2
+ export declare const sanitizeOne: (item: any, route: Route) => any;
3
+ export declare const sanitizeMany: (items: any[], route: Route) => any[];
3
4
  //# sourceMappingURL=sanitize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,QAGpC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,UAStC,CAAC"}
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,EAAE,OAAO,KAAK,QAMlD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,EAAE,EAAE,OAAO,KAAK,UAUtD,CAAC"}
@@ -1,13 +1,12 @@
1
- export const sanitizeOne = (item) => {
2
- const { password, createdAt, updatedAt, __v, ...clean } = item;
3
- return clean;
1
+ export const sanitizeOne = (item, route) => {
2
+ ["password", ...(route?.mongooseConfigObj?.hiddenFieldsArray ?? [])].forEach((key) => delete item[key]);
3
+ return item;
4
4
  };
5
- export const sanitizeMany = (items) => {
6
- let cleaned = [];
7
- items.map((el) => {
8
- const { password, createdAt, updatedAt, __v, ...clean } = el.toObject();
9
- cleaned.push(clean);
5
+ export const sanitizeMany = (items, route) => {
6
+ return items.map((item) => {
7
+ const clean = item.toObject();
8
+ ["password", ...(route?.mongooseConfigObj?.hiddenFieldsArray ?? [])].forEach((key) => delete clean[key]);
9
+ return clean;
10
10
  });
11
- return cleaned;
12
11
  };
13
12
  //# sourceMappingURL=sanitize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,EAAE;IACvC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAU,EAAE,EAAE;IACzC,IAAI,OAAO,GAAU,EAAE,CAAC;IAExB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;QACpB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,KAAY,EAAE,EAAE;IACrD,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1E,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAC1B,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,KAAY,EAAE,EAAE;IACzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1E,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,CAC3B,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starklabs/forge",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "A TypeScript-first Express framework for building production-ready APIs with zero boilerplate.",
5
5
  "type": "module",
6
6
  "main": "./dist/js/index.js",