@starklabs/forge 1.1.2 → 1.1.3

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 (226) hide show
  1. package/dist/js/app.d.ts +2 -1
  2. package/dist/js/app.d.ts.map +1 -1
  3. package/dist/js/app.js +1 -1
  4. package/dist/js/app.js.map +1 -1
  5. package/dist/js/auth/forgotPassword.d.ts +2 -2
  6. package/dist/js/auth/forgotPassword.d.ts.map +1 -1
  7. package/dist/js/auth/forgotPassword.js +6 -6
  8. package/dist/js/auth/forgotPassword.js.map +1 -1
  9. package/dist/js/auth/index.js +5 -5
  10. package/dist/js/auth/index.js.map +1 -1
  11. package/dist/js/auth/login.d.ts +2 -2
  12. package/dist/js/auth/login.d.ts.map +1 -1
  13. package/dist/js/auth/login.js +6 -6
  14. package/dist/js/auth/login.js.map +1 -1
  15. package/dist/js/auth/logout.d.ts +1 -1
  16. package/dist/js/auth/logout.d.ts.map +1 -1
  17. package/dist/js/auth/logout.js +2 -2
  18. package/dist/js/auth/logout.js.map +1 -1
  19. package/dist/js/auth/resendOTP.d.ts +2 -2
  20. package/dist/js/auth/resendOTP.d.ts.map +1 -1
  21. package/dist/js/auth/resendOTP.js +8 -8
  22. package/dist/js/auth/resendOTP.js.map +1 -1
  23. package/dist/js/auth/resetPassword.d.ts +2 -2
  24. package/dist/js/auth/resetPassword.d.ts.map +1 -1
  25. package/dist/js/auth/resetPassword.js +9 -9
  26. package/dist/js/auth/resetPassword.js.map +1 -1
  27. package/dist/js/auth/signup.d.ts +2 -2
  28. package/dist/js/auth/signup.d.ts.map +1 -1
  29. package/dist/js/auth/signup.js +8 -8
  30. package/dist/js/auth/signup.js.map +1 -1
  31. package/dist/js/auth/utils/authenticateUser.d.ts +2 -2
  32. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  33. package/dist/js/auth/utils/authenticateUser.js +8 -8
  34. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  35. package/dist/js/auth/utils/createOTPModel.d.ts +1 -1
  36. package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
  37. package/dist/js/auth/utils/createOTPModel.js +17 -8
  38. package/dist/js/auth/utils/createOTPModel.js.map +1 -1
  39. package/dist/js/auth/utils/createOTPUser.d.ts +2 -2
  40. package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
  41. package/dist/js/auth/utils/createOTPUser.js +10 -10
  42. package/dist/js/auth/utils/createOTPUser.js.map +1 -1
  43. package/dist/js/auth/utils/createUser.d.ts +2 -2
  44. package/dist/js/auth/utils/createUser.d.ts.map +1 -1
  45. package/dist/js/auth/utils/createUser.js +7 -7
  46. package/dist/js/auth/utils/createUser.js.map +1 -1
  47. package/dist/js/auth/utils/getOTPModel.d.ts +1 -1
  48. package/dist/js/auth/utils/getOTPModel.d.ts.map +1 -1
  49. package/dist/js/auth/utils/getOTPModel.js +4 -4
  50. package/dist/js/auth/utils/getOTPModel.js.map +1 -1
  51. package/dist/js/auth/utils/getOTPUser.d.ts +2 -2
  52. package/dist/js/auth/utils/getOTPUser.d.ts.map +1 -1
  53. package/dist/js/auth/utils/getOTPUser.js +5 -5
  54. package/dist/js/auth/utils/getOTPUser.js.map +1 -1
  55. package/dist/js/auth/utils/getUser.d.ts +2 -2
  56. package/dist/js/auth/utils/getUser.d.ts.map +1 -1
  57. package/dist/js/auth/utils/getUser.js +5 -5
  58. package/dist/js/auth/utils/getUser.js.map +1 -1
  59. package/dist/js/auth/utils/handleIsVerified.d.ts +2 -2
  60. package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -1
  61. package/dist/js/auth/utils/handleIsVerified.js +3 -3
  62. package/dist/js/auth/utils/handleIsVerified.js.map +1 -1
  63. package/dist/js/auth/utils/modeMap.d.ts +8 -8
  64. package/dist/js/auth/utils/otpVerifiedResponse.d.ts +2 -2
  65. package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +1 -1
  66. package/dist/js/auth/utils/otpVerifiedResponse.js +4 -4
  67. package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
  68. package/dist/js/auth/utils/sendCookie.d.ts +4 -4
  69. package/dist/js/auth/utils/sendCookie.d.ts.map +1 -1
  70. package/dist/js/auth/utils/sendCookie.js +16 -16
  71. package/dist/js/auth/utils/sendCookie.js.map +1 -1
  72. package/dist/js/auth/utils/sendOTP.d.ts +1 -1
  73. package/dist/js/auth/utils/sendOTP.d.ts.map +1 -1
  74. package/dist/js/auth/utils/sendOTP.js +8 -8
  75. package/dist/js/auth/utils/sendOTP.js.map +1 -1
  76. package/dist/js/auth/utils/verifyCredentials.d.ts +2 -2
  77. package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
  78. package/dist/js/auth/utils/verifyCredentials.js +9 -9
  79. package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
  80. package/dist/js/auth/verifyOTP.d.ts +2 -2
  81. package/dist/js/auth/verifyOTP.d.ts.map +1 -1
  82. package/dist/js/auth/verifyOTP.js +14 -14
  83. package/dist/js/auth/verifyOTP.js.map +1 -1
  84. package/dist/js/config/cloudinary.d.ts +1 -1
  85. package/dist/js/config/cloudinary.d.ts.map +1 -1
  86. package/dist/js/config/cloudinary.js +4 -4
  87. package/dist/js/config/cloudinary.js.map +1 -1
  88. package/dist/js/config/duration.d.ts +1 -1
  89. package/dist/js/config/duration.d.ts.map +1 -1
  90. package/dist/js/config/duration.js +4 -4
  91. package/dist/js/config/duration.js.map +1 -1
  92. package/dist/js/config/handleReqType.d.ts.map +1 -1
  93. package/dist/js/config/handleReqType.js +3 -1
  94. package/dist/js/config/handleReqType.js.map +1 -1
  95. package/dist/js/config/sendEmail.d.ts +2 -2
  96. package/dist/js/config/sendEmail.d.ts.map +1 -1
  97. package/dist/js/config/sendEmail.js +19 -19
  98. package/dist/js/config/sendEmail.js.map +1 -1
  99. package/dist/js/crud/create.d.ts +2 -2
  100. package/dist/js/crud/create.d.ts.map +1 -1
  101. package/dist/js/crud/create.js +11 -11
  102. package/dist/js/crud/create.js.map +1 -1
  103. package/dist/js/crud/createBulk.d.ts +2 -2
  104. package/dist/js/crud/createBulk.d.ts.map +1 -1
  105. package/dist/js/crud/createBulk.js +5 -5
  106. package/dist/js/crud/createBulk.js.map +1 -1
  107. package/dist/js/crud/handleUploads/file.add.d.ts +2 -2
  108. package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
  109. package/dist/js/crud/handleUploads/file.add.js +12 -12
  110. package/dist/js/crud/handleUploads/file.add.js.map +1 -1
  111. package/dist/js/crud/handleUploads/file.delete.d.ts +2 -2
  112. package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -1
  113. package/dist/js/crud/handleUploads/file.delete.js +8 -8
  114. package/dist/js/crud/handleUploads/file.delete.js.map +1 -1
  115. package/dist/js/crud/handleUploads/file.update.d.ts +2 -2
  116. package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -1
  117. package/dist/js/crud/handleUploads/file.update.js +8 -8
  118. package/dist/js/crud/handleUploads/file.update.js.map +1 -1
  119. package/dist/js/crud/index.d.ts.map +1 -1
  120. package/dist/js/crud/index.js +14 -11
  121. package/dist/js/crud/index.js.map +1 -1
  122. package/dist/js/crud/read.d.ts +2 -2
  123. package/dist/js/crud/read.d.ts.map +1 -1
  124. package/dist/js/crud/read.js +6 -6
  125. package/dist/js/crud/read.js.map +1 -1
  126. package/dist/js/crud/readAll.d.ts +2 -2
  127. package/dist/js/crud/readAll.d.ts.map +1 -1
  128. package/dist/js/crud/readAll.js +5 -5
  129. package/dist/js/crud/readAll.js.map +1 -1
  130. package/dist/js/crud/remove.d.ts +2 -2
  131. package/dist/js/crud/remove.d.ts.map +1 -1
  132. package/dist/js/crud/remove.js +6 -6
  133. package/dist/js/crud/remove.js.map +1 -1
  134. package/dist/js/crud/removeAll.d.ts +2 -2
  135. package/dist/js/crud/removeAll.d.ts.map +1 -1
  136. package/dist/js/crud/removeAll.js +5 -5
  137. package/dist/js/crud/removeAll.js.map +1 -1
  138. package/dist/js/crud/update.d.ts +2 -2
  139. package/dist/js/crud/update.d.ts.map +1 -1
  140. package/dist/js/crud/update.js +8 -8
  141. package/dist/js/crud/update.js.map +1 -1
  142. package/dist/js/crud/utils/authroizeAccess.d.ts +2 -2
  143. package/dist/js/crud/utils/authroizeAccess.d.ts.map +1 -1
  144. package/dist/js/crud/utils/authroizeAccess.js +11 -11
  145. package/dist/js/crud/utils/authroizeAccess.js.map +1 -1
  146. package/dist/js/crud/utils/getItem.d.ts +2 -2
  147. package/dist/js/crud/utils/getItem.d.ts.map +1 -1
  148. package/dist/js/crud/utils/getItem.js +9 -9
  149. package/dist/js/crud/utils/getItem.js.map +1 -1
  150. package/dist/js/crud/utils/getParam.d.ts +2 -2
  151. package/dist/js/crud/utils/getParam.d.ts.map +1 -1
  152. package/dist/js/crud/utils/getParam.js +4 -4
  153. package/dist/js/crud/utils/getParam.js.map +1 -1
  154. package/dist/js/health/health.collection.d.ts +1 -2
  155. package/dist/js/health/health.collection.d.ts.map +1 -1
  156. package/dist/js/health/health.collection.js.map +1 -1
  157. package/dist/js/health/index.js +2 -2
  158. package/dist/js/health/index.js.map +1 -1
  159. package/dist/js/index.d.ts +5 -3
  160. package/dist/js/index.d.ts.map +1 -1
  161. package/dist/js/index.js +5 -3
  162. package/dist/js/index.js.map +1 -1
  163. package/dist/js/lib/db.d.ts.map +1 -1
  164. package/dist/js/lib/db.js +10 -3
  165. package/dist/js/lib/db.js.map +1 -1
  166. package/dist/js/lib/model.factory.d.ts +1 -2
  167. package/dist/js/lib/model.factory.d.ts.map +1 -1
  168. package/dist/js/lib/model.factory.js +3 -3
  169. package/dist/js/lib/model.factory.js.map +1 -1
  170. package/dist/js/lib/mongoose.fields.d.ts.map +1 -1
  171. package/dist/js/lib/mongoose.fields.js +0 -1
  172. package/dist/js/lib/mongoose.fields.js.map +1 -1
  173. package/dist/js/middleware/auth.middleware.d.ts +1 -1
  174. package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
  175. package/dist/js/middleware/auth.middleware.js +11 -11
  176. package/dist/js/middleware/auth.middleware.js.map +1 -1
  177. package/dist/js/middleware/multer.middleware.d.ts +1 -1
  178. package/dist/js/middleware/multer.middleware.d.ts.map +1 -1
  179. package/dist/js/middleware/multer.middleware.js +11 -11
  180. package/dist/js/middleware/multer.middleware.js.map +1 -1
  181. package/dist/js/types/Collection.d.ts +1 -2
  182. package/dist/js/types/Collection.d.ts.map +1 -1
  183. package/dist/js/types/Routepath.d.ts +1 -1
  184. package/dist/js/types/Routepath.d.ts.map +1 -1
  185. package/dist/js/upload/create.d.ts +1 -1
  186. package/dist/js/upload/create.d.ts.map +1 -1
  187. package/dist/js/upload/create.js +18 -16
  188. package/dist/js/upload/create.js.map +1 -1
  189. package/dist/js/upload/delete.d.ts +1 -1
  190. package/dist/js/upload/delete.d.ts.map +1 -1
  191. package/dist/js/upload/delete.js +28 -28
  192. package/dist/js/upload/delete.js.map +1 -1
  193. package/dist/js/upload/update.d.ts +1 -1
  194. package/dist/js/upload/update.d.ts.map +1 -1
  195. package/dist/js/upload/update.js +37 -35
  196. package/dist/js/upload/update.js.map +1 -1
  197. package/dist/js/utils/getErrorDetail.d.ts +1 -1
  198. package/dist/js/utils/getErrorDetail.d.ts.map +1 -1
  199. package/dist/js/utils/getErrorDetail.js +4 -4
  200. package/dist/js/utils/getErrorDetail.js.map +1 -1
  201. package/dist/js/utils/getModel.d.ts +3 -3
  202. package/dist/js/utils/getModel.d.ts.map +1 -1
  203. package/dist/js/utils/getModel.js +4 -4
  204. package/dist/js/utils/getModel.js.map +1 -1
  205. package/dist/js/utils/handleJWT.d.ts +4 -4
  206. package/dist/js/utils/handleJWT.d.ts.map +1 -1
  207. package/dist/js/utils/handleJWT.js +10 -10
  208. package/dist/js/utils/handleJWT.js.map +1 -1
  209. package/dist/js/utils/libsodium.d.ts +4 -4
  210. package/dist/js/utils/libsodium.d.ts.map +1 -1
  211. package/dist/js/utils/libsodium.js +17 -17
  212. package/dist/js/utils/libsodium.js.map +1 -1
  213. package/dist/js/utils/sanitize.d.ts +2 -2
  214. package/dist/js/utils/sanitize.d.ts.map +1 -1
  215. package/dist/js/utils/sanitize.js +33 -7
  216. package/dist/js/utils/sanitize.js.map +1 -1
  217. package/dist/js/utils/validate.d.ts +1 -1
  218. package/dist/js/utils/validate.d.ts.map +1 -1
  219. package/dist/js/utils/validate.js +7 -7
  220. package/dist/js/utils/validate.js.map +1 -1
  221. package/dist/js/utils/validationKeyError.d.ts +1 -1
  222. package/dist/js/utils/validationKeyError.d.ts.map +1 -1
  223. package/dist/js/utils/validationKeyError.js +6 -6
  224. package/dist/js/utils/validationKeyError.js.map +1 -1
  225. package/package.json +3 -2
  226. package/readme.md +6 -6
@@ -1,46 +1,46 @@
1
1
  import AppError from "../../utils/AppError.js";
2
2
  import AppLog from "../../utils/AppLog.js";
3
3
  import getErrorDetail from "../../utils/getErrorDetail.js";
4
- const authorizeAccess = ({ route, routeName, item, req, }) => {
5
- if (route.authRole !== "admin" && route.authRole !== "adminOrOwner")
4
+ const authorizeAccess = ({ routeObj, routeName, item, req, }) => {
5
+ if (routeObj.authRole !== "admin" && routeObj.authRole !== "adminOrOwner")
6
6
  throw new AppError({
7
7
  message: "authRole should only be 'admin' or 'adminOrOwner'",
8
8
  statusCode: 409,
9
9
  code: "FRAMEWORK_CONFIGURATION_INVALID",
10
- hint: "Make the authRole admin or adminOrOwner based on your route requirement. Checkout collection -> routes -> authRole",
11
- details: getErrorDetail(route),
10
+ hint: "Make the authRole admin or adminOrOwner based on your routeObj requirement. Checkout collection -> routes -> authRole",
11
+ details: getErrorDetail(routeObj),
12
12
  });
13
- if (route.authRole !== "admin" && route.handler === "removeAll")
13
+ if (routeObj.authRole !== "admin" && routeObj.handler === "removeAll")
14
14
  throw new AppError({
15
15
  message: "authRole should only be 'admin'",
16
16
  statusCode: 409,
17
17
  code: "FRAMEWORK_CONFIGURATION_INVALID",
18
18
  hint: "Make the authRole admin. Checkout collection -> routes -> authRole",
19
- details: getErrorDetail(route),
19
+ details: getErrorDetail(routeObj),
20
20
  });
21
21
  const ownerId = item?.owner?._id;
22
22
  const isOwner = ownerId && req.user && ownerId.equals(req.user._id);
23
23
  const isAdmin = req.user.role === "admin";
24
24
  if (!ownerId)
25
- AppLog("x", "authorization", `owner not found in item for route: '/${routeName}', method: '${route.method}' and path: '${route.path}'`);
26
- if (route.authRole === "admin") {
25
+ AppLog("x", "authorization", `owner not found in item for routeObj: '/${routeName}', method: '${routeObj.method}' and path: '${routeObj.path}'`);
26
+ if (routeObj.authRole === "admin") {
27
27
  if (!isAdmin)
28
28
  throw new AppError({
29
29
  message: "Unauthorized",
30
30
  statusCode: 403,
31
31
  code: "PERMISSION_DENIED",
32
32
  hint: "You are not the admin.",
33
- details: getErrorDetail(route),
33
+ details: getErrorDetail(routeObj),
34
34
  });
35
35
  }
36
- if (route.authRole === "adminOrOwner") {
36
+ if (routeObj.authRole === "adminOrOwner") {
37
37
  if (!isAdmin && !isOwner)
38
38
  throw new AppError({
39
39
  message: "Unauthorized",
40
40
  statusCode: 403,
41
41
  code: "PERMISSION_DENIED",
42
42
  hint: "You are not the owner.",
43
- details: getErrorDetail(route),
43
+ details: getErrorDetail(routeObj),
44
44
  });
45
45
  }
46
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authroizeAccess.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/authroizeAccess.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,KAAK,EACL,SAAS,EACT,IAAI,EACJ,GAAG,GAMJ,EAAE,EAAE;IAEH,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc;QACjE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mDAAmD;YAC5D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,oHAAoH;YAC1H,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IAGL,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW;QAC7D,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,oEAAoE;YAC1E,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;SAC/B,CAAC,CAAC;IAGL,MAAM,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAG1C,IAAI,CAAC,OAAO;QACV,MAAM,CACJ,GAAG,EACH,eAAe,EACf,wCAAwC,SAAS,eAAe,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,IAAI,GAAG,CAC1G,CAAC;IAGJ,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;IACP,CAAC;IAGD,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YACtB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"authroizeAccess.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/authroizeAccess.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,GAMJ,EAAE,EAAE;IAEH,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc;QACvE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mDAAmD;YAC5D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,uHAAuH;YAC7H,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW;QACnE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,oEAAoE;YAC1E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,MAAM,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAG1C,IAAI,CAAC,OAAO;QACV,MAAM,CACJ,GAAG,EACH,eAAe,EACf,2CAA2C,SAAS,eAAe,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,IAAI,GAAG,CACnH,CAAC;IAGJ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YACtB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { Route } from "../../types/Collection.js";
2
- declare const getItem: ({ modelName, routeName, path, _id, clean, route, }: {
2
+ declare const getItem: ({ modelName, routeName, path, _id, clean, routeObj, }: {
3
3
  modelName: string;
4
4
  routeName: string;
5
5
  path?: string;
6
6
  _id?: string;
7
7
  clean?: boolean;
8
- route: Route;
8
+ routeObj: Route;
9
9
  }) => Promise<any>;
10
10
  export default getItem;
11
11
  //# sourceMappingURL=getItem.d.ts.map
@@ -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;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
+ {"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,uDAOpB;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,QAAQ,EAAE,KAAK,CAAC;CACjB,iBAiFA,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -2,8 +2,8 @@ import AppError from "../../utils/AppError.js";
2
2
  import getErrorDetail from "../../utils/getErrorDetail.js";
3
3
  import getModel from "../../utils/getModel.js";
4
4
  import { sanitizeMany, sanitizeOne } from "../../utils/sanitize.js";
5
- const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }) => {
6
- const Model = getModel({ modelName, routeName, route });
5
+ const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj, }) => {
6
+ const Model = getModel({ modelName, routeName, routeObj });
7
7
  let data = null;
8
8
  try {
9
9
  let query;
@@ -13,7 +13,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
13
13
  else {
14
14
  query = Model.find();
15
15
  }
16
- const populateKey = route?.mongooseConfigObj?.populateKey;
16
+ const populateKey = routeObj?.mongooseConfigObj?.populateKey;
17
17
  if (populateKey) {
18
18
  if (typeof populateKey === "boolean")
19
19
  throw new AppError({
@@ -21,7 +21,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
21
21
  hint: "populateKey as boolean must be 'false' only. Else it should be string, representing the ref in your mongooseSchemaObj.",
22
22
  message: "Invalid populateKey",
23
23
  statusCode: 409,
24
- details: getErrorDetail(route),
24
+ details: getErrorDetail(routeObj),
25
25
  });
26
26
  query = query.populate(populateKey, "_id email");
27
27
  }
@@ -35,7 +35,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
35
35
  statusCode: 409,
36
36
  code: "CRUD_ITEM_NOT_FOUND",
37
37
  hint: "Check the /:id you provided in URL. It doesn't match any document's _id in database.",
38
- details: getErrorDetail(route),
38
+ details: getErrorDetail(routeObj),
39
39
  });
40
40
  }
41
41
  else {
@@ -46,7 +46,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
46
46
  statusCode: err.statusCode || 409,
47
47
  code: err.code || "CRUD_ITEM_ERROR",
48
48
  hint: err.hint || "Check the logs for detail info.",
49
- details: err.details || getErrorDetail(route),
49
+ details: err.details || getErrorDetail(routeObj),
50
50
  });
51
51
  }
52
52
  }
@@ -59,13 +59,13 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
59
59
  hint: _id
60
60
  ? `Check the '${path ?? "path"}' you provided in url: /${_id}`
61
61
  : "Hit a POST request and create an item",
62
- details: getErrorDetail(route),
62
+ details: getErrorDetail(routeObj),
63
63
  });
64
64
  }
65
65
  if (clean) {
66
66
  data = Array.isArray(data)
67
- ? sanitizeMany(data, route)
68
- : sanitizeOne(data.toObject(), route);
67
+ ? sanitizeMany(data, routeObj)
68
+ : sanitizeOne(data.toObject(), routeObj);
69
69
  }
70
70
  return data;
71
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,8 +1,8 @@
1
1
  import type { Request } from "express";
2
2
  import type { Route } from "../../types/Collection.js";
3
- declare const getParam: ({ req, route, }: {
3
+ declare const getParam: ({ req, routeObj, }: {
4
4
  req: Request;
5
- route: Route;
5
+ routeObj: Route;
6
6
  }) => string | string[] | undefined;
7
7
  export default getParam;
8
8
  //# sourceMappingURL=getParam.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getParam.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,QAAA,MAAM,QAAQ,GAAI,iBAGf;IACD,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd,kCAiBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"getParam.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,QAAA,MAAM,QAAQ,GAAI,oBAGf;IACD,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;CACjB,kCAiBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import AppError from "../../utils/AppError.js";
2
- const getParam = ({ req, route, }) => {
2
+ const getParam = ({ req, routeObj, }) => {
3
3
  const key = Object.keys(req.params)[0];
4
4
  if (!key)
5
5
  throw new AppError({
@@ -8,9 +8,9 @@ const getParam = ({ req, route, }) => {
8
8
  code: "FRAMEWORK_CONFIGURATION_INVALID",
9
9
  hint: "Provide path, check collection -> routes -> path configuration or your URL",
10
10
  details: {
11
- handler: route.handler,
12
- method: route.method,
13
- path: route.path
11
+ handler: routeObj.handler,
12
+ method: routeObj.method,
13
+ path: routeObj.path
14
14
  }
15
15
  });
16
16
  return req.params[key];
@@ -1 +1 @@
1
- {"version":3,"file":"getParam.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,GAAG,GAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;IAEhD,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,+BAA+B;YACxC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,4EAA4E;YAClF,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,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"getParam.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,GAAG,GAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;IAEhD,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,+BAA+B;YACxC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,4EAA4E;YAClF,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,3 @@
1
- import type { Collection } from "../types/Collection.js";
2
- declare const healthCollection: Collection;
1
+ declare const healthCollection: any;
3
2
  export default healthCollection;
4
3
  //# sourceMappingURL=health.collection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.collection.d.ts","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMzD,QAAA,MAAM,gBAAgB,YAiCpB,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"health.collection.d.ts","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,gBAAgB,KAiCpB,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"health.collection.js","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE;QACX;YACE,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"health.collection.js","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE;QACX;YACE,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -2,8 +2,8 @@ import { getEnvs } from "../config/envs.js";
2
2
  import handlerMap from "../config/handlerMap.js";
3
3
  const health = (app, routeName, routes) => {
4
4
  const { apiVersion } = getEnvs();
5
- for (const route of routes) {
6
- app[route.method](`/api/v${apiVersion}/${routeName}${route.path}`, handlerMap[route.handler]);
5
+ for (const routeObj of routes) {
6
+ app[routeObj.method](`/api/v${apiVersion}/${routeName}${routeObj.path}`, handlerMap[routeObj.handler]);
7
7
  }
8
8
  };
9
9
  export default health;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,GAAG,CACb,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACf,SAAS,UAAU,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,EAC/C,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,GAAG,CACb,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -4,10 +4,12 @@ declare class StarkForge {
4
4
  config: Constructor;
5
5
  constructor(object: Partial<Constructor>);
6
6
  }
7
- export default StarkForge;
8
- export { default as startServer } from "./app.js";
7
+ export { app, startServer } from "./app.js";
9
8
  export { default as mongooseFields } from "./lib/mongoose.fields.js";
10
9
  export { default as zodFields } from "./lib/zod.fields.js";
11
- export declare const collection: (object: Collection) => Collection;
12
10
  export { generateJWTSecret, generateMasterKey } from "./utils/libsodium.js";
11
+ export { default as getModel } from "./utils/getModel.js";
12
+ export { default as getItem } from "./crud/utils/getItem.js";
13
+ export declare const collection: (object: Collection) => Collection;
14
+ export default StarkForge;
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;gBACR,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;CAQzC;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,KAAG,UAE/C,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;gBACR,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;CAQzC;AAED,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,KAAG,UAE/C,CAAC;AAGF,eAAe,UAAU,CAAC"}
package/dist/js/index.js CHANGED
@@ -10,12 +10,14 @@ class StarkForge {
10
10
  setEnvs(this.config);
11
11
  }
12
12
  }
13
- export default StarkForge;
14
- export { default as startServer } from "./app.js";
13
+ export { app, startServer } from "./app.js";
15
14
  export { default as mongooseFields } from "./lib/mongoose.fields.js";
16
15
  export { default as zodFields } from "./lib/zod.fields.js";
16
+ export { generateJWTSecret, generateMasterKey } from "./utils/libsodium.js";
17
+ export { default as getModel } from "./utils/getModel.js";
18
+ export { default as getItem } from "./crud/utils/getItem.js";
17
19
  export const collection = (object) => {
18
20
  return object;
19
21
  };
20
- export { generateJWTSecret, generateMasterKey } from "./utils/libsodium.js";
22
+ export default StarkForge;
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,UAAU;IACd,MAAM,CAAc;IACpB,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,aAAa;YAChB,GAAG,MAAM;SACV,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAc,EAAE;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,UAAU;IACd,MAAM,CAAc;IACpB,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,aAAa;YAChB,GAAG,MAAM;SACV,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AAED,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAc,EAAE;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAGF,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAYA,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,0CAItB,eAAe,kBAwBjB,CAAC;AAGF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAmBA,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,0CAItB,eAAe,kBAwBjB,CAAC;AAGF,eAAe,SAAS,CAAC"}
package/dist/js/lib/db.js CHANGED
@@ -1,7 +1,14 @@
1
1
  import mongoose from "mongoose";
2
2
  import AppLog from "../utils/AppLog.js";
3
- const connectLocally = async (databaseName = "offline-db-ts") => {
4
- await mongoose.connect(`mongodb://localhost:27017/${databaseName}`);
3
+ const connectLocally = async (databaseName = "starkForge") => {
4
+ try {
5
+ await mongoose.connect(`mongodb://localhost:27017/${databaseName}`);
6
+ }
7
+ catch (error) {
8
+ AppLog("x", "db", error.message);
9
+ AppLog("x", "db", "Error while connecting to database! Check if MongoDB is installed locally and is enabled.");
10
+ process.exit(1);
11
+ }
5
12
  AppLog("check", "db", `Connected to OFFLINE-DB! Database name: '${databaseName}'`);
6
13
  };
7
14
  const connectDB = async ({ isOffline, mongoDBURI, databaseName, }) => {
@@ -19,7 +26,7 @@ const connectDB = async ({ isOffline, mongoDBURI, databaseName, }) => {
19
26
  AppLog("check", "db", `Connected successfully! Database name: '${databaseName}'`);
20
27
  }
21
28
  catch (error) {
22
- AppLog("x", "db", "Error while connecting!");
29
+ AppLog("x", "db", "Error while connecting to database!");
23
30
  AppLog("x", "db", error.message);
24
31
  process.exit(1);
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,eAAe,EAAE,EAAE;IAC9D,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IACpE,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAGF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,2FAA2F,CAAC,CAAC;QAC/G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAGF,eAAe,SAAS,CAAC"}
@@ -1,8 +1,7 @@
1
- import mongoose from "mongoose";
2
1
  import type { SchemaDefinitionProperty } from "mongoose";
3
2
  type Primitive = string | number | boolean | Date;
4
3
  type ModelField = Primitive | SchemaDefinitionProperty<unknown>;
5
4
  type ModelDefinition = Record<string, ModelField>;
6
- declare const createModel: (routeName: string, name: string, definition: ModelDefinition) => mongoose.Model<any, unknown, unknown, unknown, any, any, unknown>;
5
+ declare const createModel: (routeName: string, name: string, definition: ModelDefinition) => any;
7
6
  export default createModel;
8
7
  //# sourceMappingURL=model.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAElD,KAAK,UAAU,GAAG,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEhE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAsClD,QAAA,MAAM,WAAW,GACf,WAAW,MAAM,EACjB,MAAM,MAAM,EACZ,YAAY,eAAe,sEAwB5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAElD,KAAK,UAAU,GAAG,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEhE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAsClD,QAAA,MAAM,WAAW,GACf,WAAW,MAAM,EACjB,MAAM,MAAM,EACZ,YAAY,eAAe,KAC1B,GAuBF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -26,6 +26,9 @@ const normalizeDefinition = (definition) => {
26
26
  }));
27
27
  };
28
28
  const createModel = (routeName, name, definition) => {
29
+ if (mongoose.modelNames().includes(name)) {
30
+ return mongoose.model(name);
31
+ }
29
32
  if (!definition)
30
33
  throw new AppError({
31
34
  message: `mongooseSchema for ${routeName} is required`,
@@ -39,9 +42,6 @@ const createModel = (routeName, name, definition) => {
39
42
  },
40
43
  });
41
44
  const schema = buildSchema(normalizeDefinition(definition));
42
- if (mongoose.modelNames().includes(name)) {
43
- return mongoose.model(name);
44
- }
45
45
  AppLog("db", "modelFactory", `${name} model created!`);
46
46
  return mongoose.model(name, schema);
47
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAQ5C,MAAM,mBAAmB,GAAG,CAC1B,UAA2B,EACwB,EAAE;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAE9C,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM,IAAI,KAAK,EACf,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjD,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjD,KAAK,SAAS;gBACZ,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAElD;gBACE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CACkD,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,SAAiB,EACjB,IAAY,EACZ,UAA2B,EAC3B,EAAE;IACF,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB,SAAS,cAAc;YACtD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAQ5C,MAAM,mBAAmB,GAAG,CAC1B,UAA2B,EACwB,EAAE;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAE9C,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM,IAAI,KAAK,EACf,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjD,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjD,KAAK,SAAS;gBACZ,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAElD;gBACE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CACkD,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,SAAiB,EACjB,IAAY,EACZ,UAA2B,EACtB,EAAE;IACP,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB,SAAS,cAAc;YACtD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose.fields.d.ts","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,eAAe,CAAC;AA6MvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BV,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"mongoose.fields.d.ts","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,eAAe,CAAC;AA4MvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BV,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,eAAe,cAAc,CAAC"}
@@ -29,7 +29,6 @@ const password = {
29
29
  type: String,
30
30
  required: true,
31
31
  minlength: 6,
32
- select: false,
33
32
  };
34
33
  const requiredNumber = {
35
34
  type: Number,
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { NextFunction, Request, Response } from "express";
2
2
  import type { Route } from "../types/Collection.js";
3
- declare const protect: (route: Route) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
3
+ declare const protect: (routeObj: Route) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
4
4
  export default protect;
5
5
  //# sourceMappingURL=auth.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AA8BpD,QAAA,MAAM,OAAO,GACV,OAAO,KAAK,MAEX,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAuEd,CAAC;AAEJ,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AA8BpD,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MAEd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAuEd,CAAC;AAEJ,eAAe,OAAO,CAAC"}
@@ -3,7 +3,7 @@ import AppError from "../utils/AppError.js";
3
3
  import registerModel from "../lib/model.registry.js";
4
4
  import { getEnvs } from "../config/envs.js";
5
5
  import getErrorDetail from "../utils/getErrorDetail.js";
6
- const findUser = async (id, route) => {
6
+ const findUser = async (id, routeObj) => {
7
7
  const { userModelName } = getEnvs();
8
8
  if (!userModelName) {
9
9
  throw new AppError({
@@ -11,7 +11,7 @@ const findUser = async (id, route) => {
11
11
  statusCode: 500,
12
12
  code: "AUTH_CONFIG_ERROR",
13
13
  hint: "Configure 'userModelName' in your environment variables.",
14
- details: getErrorDetail(route),
14
+ details: getErrorDetail(routeObj),
15
15
  });
16
16
  }
17
17
  const Model = registerModel[userModelName];
@@ -21,12 +21,12 @@ const findUser = async (id, route) => {
21
21
  statusCode: 500,
22
22
  code: "AUTH_CONFIG_ERROR",
23
23
  hint: "Register the user model before enabling authentication.",
24
- details: getErrorDetail(route),
24
+ details: getErrorDetail(routeObj),
25
25
  });
26
26
  }
27
27
  return await Model.findById(id).select("+_id +email +role");
28
28
  };
29
- const protect = (route) => async (req, res, next) => {
29
+ const protect = (routeObj) => async (req, res, next) => {
30
30
  try {
31
31
  const token = req.cookies?.authToken;
32
32
  if (!token) {
@@ -34,13 +34,13 @@ const protect = (route) => async (req, res, next) => {
34
34
  message: "Authentication required",
35
35
  statusCode: 401,
36
36
  code: "AUTH_REQUIRED",
37
- hint: "Sign in to access this resource.",
38
- details: getErrorDetail(route),
37
+ hint: "Log in to access this resource.",
38
+ details: getErrorDetail(routeObj),
39
39
  }));
40
40
  }
41
41
  const payload = verifyJWT({
42
42
  token,
43
- route,
43
+ routeObj,
44
44
  });
45
45
  if (typeof payload === "string" || !payload.sub) {
46
46
  return next(new AppError({
@@ -48,17 +48,17 @@ const protect = (route) => async (req, res, next) => {
48
48
  statusCode: 401,
49
49
  code: "AUTH_INVALID_TOKEN",
50
50
  hint: "Sign in again to obtain a valid authentication token.",
51
- details: getErrorDetail(route),
51
+ details: getErrorDetail(routeObj),
52
52
  }));
53
53
  }
54
- const user = await findUser(payload.sub, route);
54
+ const user = await findUser(payload.sub, routeObj);
55
55
  if (!user) {
56
56
  return next(new AppError({
57
57
  message: "This account no longer exists",
58
58
  statusCode: 401,
59
59
  code: "AUTH_USER_NOT_FOUND",
60
60
  hint: "Sign in with an existing account.",
61
- details: getErrorDetail(route),
61
+ details: getErrorDetail(routeObj),
62
62
  }));
63
63
  }
64
64
  req.user = {
@@ -78,7 +78,7 @@ const protect = (route) => async (req, res, next) => {
78
78
  statusCode: 500,
79
79
  code: "AUTH_MIDDLEWARE_ERROR",
80
80
  hint: "This issue requires a fix from the framework developer.",
81
- details: getErrorDetail(route),
81
+ details: getErrorDetail(routeObj),
82
82
  }));
83
83
  }
84
84
  };
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import type { Upload } from "../types/upload.js";
2
2
  import type { Route } from "../types/Collection.js";
3
3
  import type { NextFunction, Request, Response } from "express";
4
- export declare const handleMulterMiddleware: (fileArray: Upload[], route: Route) => (req: Request, res: Response, next: NextFunction) => void;
4
+ export declare const handleMulterMiddleware: (fileArray: Upload[], routeObj: Route) => (req: Request, res: Response, next: NextFunction) => void;
5
5
  //# sourceMappingURL=multer.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multer.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/multer.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA+B/D,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EAAE,EACnB,OAAO,KAAK,MAsBJ,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAkFxD,CAAC"}
1
+ {"version":3,"file":"multer.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/multer.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA+B/D,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EAAE,EACnB,UAAU,KAAK,MAsBP,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAkFxD,CAAC"}
@@ -11,7 +11,7 @@ const multerMiddleware = multer({
11
11
  cb(null, true);
12
12
  },
13
13
  });
14
- export const handleMulterMiddleware = (fileArray, route) => {
14
+ export const handleMulterMiddleware = (fileArray, routeObj) => {
15
15
  if (!Array.isArray(fileArray))
16
16
  throw new AppError({
17
17
  message: "fileArray must be an array.",
@@ -19,9 +19,9 @@ export const handleMulterMiddleware = (fileArray, route) => {
19
19
  code: "UPLOAD_ARRAY_REQUIRED",
20
20
  hint: "Provide fileArray as an array in the collection configuration.",
21
21
  details: {
22
- handler: route.handler,
23
- method: route.method,
24
- path: route.path,
22
+ handler: routeObj.handler,
23
+ method: routeObj.method,
24
+ path: routeObj.path,
25
25
  },
26
26
  });
27
27
  const fields = fileArray.map((upload) => ({
@@ -71,12 +71,12 @@ export const handleMulterMiddleware = (fileArray, route) => {
71
71
  : code === "UPLOAD_TOO_MANY_FILES"
72
72
  ? "Reduce the number of uploaded files."
73
73
  : code === "UPLOAD_FIELD_NOT_FOUND"
74
- ? "Ensure the uploaded field name matches collection -> fileArray -> fieldName."
74
+ ? "Ensure the uploaded field name matches collection -> routeObj -> fileArray -> fieldName. If these are multiple files, make 'multiple: true;'"
75
75
  : "Check the upload request and try again.",
76
76
  details: {
77
- handler: route.handler,
78
- method: route.method,
79
- path: route.path,
77
+ handler: routeObj.handler,
78
+ method: routeObj.method,
79
+ path: routeObj.path,
80
80
  },
81
81
  }));
82
82
  }
@@ -86,9 +86,9 @@ export const handleMulterMiddleware = (fileArray, route) => {
86
86
  code: "UPLOAD_FAILED",
87
87
  hint: "An unexpected error occurred while processing the upload.",
88
88
  details: {
89
- handler: route.handler,
90
- method: route.method,
91
- path: route.path,
89
+ handler: routeObj.handler,
90
+ method: routeObj.method,
91
+ path: routeObj.path,
92
92
  },
93
93
  }));
94
94
  });