@starklabs/forge 1.3.23 → 1.3.24-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/dist/js/account/index.d.ts +1 -1
  2. package/dist/js/account/index.d.ts.map +1 -1
  3. package/dist/js/account/index.js +14 -7
  4. package/dist/js/account/index.js.map +1 -1
  5. package/dist/js/account/me.delete.d.ts +2 -2
  6. package/dist/js/account/me.delete.d.ts.map +1 -1
  7. package/dist/js/account/me.delete.js +15 -6
  8. package/dist/js/account/me.delete.js.map +1 -1
  9. package/dist/js/account/me.update.d.ts +3 -3
  10. package/dist/js/account/me.update.d.ts.map +1 -1
  11. package/dist/js/account/me.update.js +20 -7
  12. package/dist/js/account/me.update.js.map +1 -1
  13. package/dist/js/app.js +21 -8
  14. package/dist/js/app.js.map +1 -1
  15. package/dist/js/auth/builtin/auth.collection.js +11 -11
  16. package/dist/js/auth/builtin/auth.collection.js.map +1 -1
  17. package/dist/js/auth/forgotPassword.d.ts +4 -4
  18. package/dist/js/auth/forgotPassword.d.ts.map +1 -1
  19. package/dist/js/auth/forgotPassword.js +12 -6
  20. package/dist/js/auth/forgotPassword.js.map +1 -1
  21. package/dist/js/auth/index.d.ts +1 -1
  22. package/dist/js/auth/index.d.ts.map +1 -1
  23. package/dist/js/auth/index.js +16 -8
  24. package/dist/js/auth/index.js.map +1 -1
  25. package/dist/js/auth/login.d.ts +4 -4
  26. package/dist/js/auth/login.d.ts.map +1 -1
  27. package/dist/js/auth/login.js +8 -4
  28. package/dist/js/auth/login.js.map +1 -1
  29. package/dist/js/auth/logout.js +6 -1
  30. package/dist/js/auth/logout.js.map +1 -1
  31. package/dist/js/auth/refresh.js +9 -0
  32. package/dist/js/auth/refresh.js.map +1 -1
  33. package/dist/js/auth/resendOTP.d.ts +4 -4
  34. package/dist/js/auth/resendOTP.d.ts.map +1 -1
  35. package/dist/js/auth/resendOTP.js +14 -4
  36. package/dist/js/auth/resendOTP.js.map +1 -1
  37. package/dist/js/auth/resetPassword.d.ts +4 -4
  38. package/dist/js/auth/resetPassword.d.ts.map +1 -1
  39. package/dist/js/auth/resetPassword.js +14 -4
  40. package/dist/js/auth/resetPassword.js.map +1 -1
  41. package/dist/js/auth/signup.d.ts +4 -4
  42. package/dist/js/auth/signup.d.ts.map +1 -1
  43. package/dist/js/auth/signup.js +10 -5
  44. package/dist/js/auth/signup.js.map +1 -1
  45. package/dist/js/auth/utils/authenticateUser.d.ts +3 -3
  46. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  47. package/dist/js/auth/utils/authenticateUser.js +13 -3
  48. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  49. package/dist/js/auth/utils/createOTPModel.d.ts +1 -1
  50. package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
  51. package/dist/js/auth/utils/createOTPModel.js +8 -3
  52. package/dist/js/auth/utils/createOTPModel.js.map +1 -1
  53. package/dist/js/auth/utils/createOTPUser.d.ts +3 -3
  54. package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
  55. package/dist/js/auth/utils/createOTPUser.js +11 -3
  56. package/dist/js/auth/utils/createOTPUser.js.map +1 -1
  57. package/dist/js/auth/utils/createUser.d.ts +3 -3
  58. package/dist/js/auth/utils/createUser.d.ts.map +1 -1
  59. package/dist/js/auth/utils/createUser.js +12 -2
  60. package/dist/js/auth/utils/createUser.js.map +1 -1
  61. package/dist/js/auth/utils/findRefreshToken.js +5 -1
  62. package/dist/js/auth/utils/findRefreshToken.js.map +1 -1
  63. package/dist/js/auth/utils/findRefreshTokenUser.js +1 -0
  64. package/dist/js/auth/utils/findRefreshTokenUser.js.map +1 -1
  65. package/dist/js/auth/utils/getOTPUser.js +3 -0
  66. package/dist/js/auth/utils/getOTPUser.js.map +1 -1
  67. package/dist/js/auth/utils/getUser.d.ts +3 -3
  68. package/dist/js/auth/utils/getUser.d.ts.map +1 -1
  69. package/dist/js/auth/utils/getUser.js +6 -2
  70. package/dist/js/auth/utils/getUser.js.map +1 -1
  71. package/dist/js/auth/utils/handleRefreshTokenValidation.js +7 -1
  72. package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +1 -1
  73. package/dist/js/auth/utils/handleRotateRefreshToken.js +7 -1
  74. package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -1
  75. package/dist/js/auth/utils/modeMap.d.ts +12 -12
  76. package/dist/js/auth/utils/otpVerifiedResponse.js +1 -0
  77. package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
  78. package/dist/js/auth/utils/sendCookie.js +10 -0
  79. package/dist/js/auth/utils/sendCookie.js.map +1 -1
  80. package/dist/js/auth/utils/verifyCredentials.d.ts +3 -3
  81. package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
  82. package/dist/js/auth/utils/verifyCredentials.js +8 -6
  83. package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
  84. package/dist/js/auth/verifyOTP.d.ts +4 -4
  85. package/dist/js/auth/verifyOTP.d.ts.map +1 -1
  86. package/dist/js/auth/verifyOTP.js +18 -5
  87. package/dist/js/auth/verifyOTP.js.map +1 -1
  88. package/dist/js/config/cloudinary.js +1 -0
  89. package/dist/js/config/cloudinary.js.map +1 -1
  90. package/dist/js/config/duration.js +7 -0
  91. package/dist/js/config/duration.js.map +1 -1
  92. package/dist/js/config/envs.js +23 -3
  93. package/dist/js/config/envs.js.map +1 -1
  94. package/dist/js/config/handleReqType.d.ts +1 -1
  95. package/dist/js/config/handleReqType.d.ts.map +1 -1
  96. package/dist/js/config/handleReqType.js +4 -3
  97. package/dist/js/config/handleReqType.js.map +1 -1
  98. package/dist/js/config/handlerMap.js +4 -0
  99. package/dist/js/config/handlerMap.js.map +1 -1
  100. package/dist/js/config/refreshModel.js +1 -0
  101. package/dist/js/config/refreshModel.js.map +1 -1
  102. package/dist/js/config/sendEmail.js +1 -0
  103. package/dist/js/config/sendEmail.js.map +1 -1
  104. package/dist/js/crud/bunch.crud.js +2 -0
  105. package/dist/js/crud/bunch.crud.js.map +1 -1
  106. package/dist/js/crud/create.d.ts +4 -4
  107. package/dist/js/crud/create.d.ts.map +1 -1
  108. package/dist/js/crud/create.js +23 -8
  109. package/dist/js/crud/create.js.map +1 -1
  110. package/dist/js/crud/createBulk.d.ts +4 -4
  111. package/dist/js/crud/createBulk.d.ts.map +1 -1
  112. package/dist/js/crud/createBulk.js +8 -3
  113. package/dist/js/crud/createBulk.js.map +1 -1
  114. package/dist/js/crud/email/index.d.ts +2 -0
  115. package/dist/js/crud/email/index.d.ts.map +1 -0
  116. package/dist/js/crud/email/index.js +2 -0
  117. package/dist/js/crud/email/index.js.map +1 -0
  118. package/dist/js/crud/encryption/handleDecryption.js +8 -3
  119. package/dist/js/crud/encryption/handleDecryption.js.map +1 -1
  120. package/dist/js/crud/encryption/handleEncryption.js +7 -3
  121. package/dist/js/crud/encryption/handleEncryption.js.map +1 -1
  122. package/dist/js/crud/handleUploads/file.add.d.ts +4 -4
  123. package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
  124. package/dist/js/crud/handleUploads/file.add.js +16 -9
  125. package/dist/js/crud/handleUploads/file.add.js.map +1 -1
  126. package/dist/js/crud/handleUploads/file.delete.d.ts +4 -4
  127. package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -1
  128. package/dist/js/crud/handleUploads/file.delete.js +14 -5
  129. package/dist/js/crud/handleUploads/file.delete.js.map +1 -1
  130. package/dist/js/crud/handleUploads/file.update.d.ts +4 -4
  131. package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -1
  132. package/dist/js/crud/handleUploads/file.update.js +15 -5
  133. package/dist/js/crud/handleUploads/file.update.js.map +1 -1
  134. package/dist/js/crud/index.d.ts +1 -1
  135. package/dist/js/crud/index.d.ts.map +1 -1
  136. package/dist/js/crud/index.js +18 -11
  137. package/dist/js/crud/index.js.map +1 -1
  138. package/dist/js/crud/read.d.ts +4 -4
  139. package/dist/js/crud/read.d.ts.map +1 -1
  140. package/dist/js/crud/read.js +18 -9
  141. package/dist/js/crud/read.js.map +1 -1
  142. package/dist/js/crud/readAll.d.ts +3 -3
  143. package/dist/js/crud/readAll.d.ts.map +1 -1
  144. package/dist/js/crud/readAll.js +16 -8
  145. package/dist/js/crud/readAll.js.map +1 -1
  146. package/dist/js/crud/remove.d.ts +3 -3
  147. package/dist/js/crud/remove.d.ts.map +1 -1
  148. package/dist/js/crud/remove.js +19 -8
  149. package/dist/js/crud/remove.js.map +1 -1
  150. package/dist/js/crud/removeAll.d.ts +3 -3
  151. package/dist/js/crud/removeAll.d.ts.map +1 -1
  152. package/dist/js/crud/removeAll.js +13 -5
  153. package/dist/js/crud/removeAll.js.map +1 -1
  154. package/dist/js/crud/removeMultiple.d.ts +4 -4
  155. package/dist/js/crud/removeMultiple.d.ts.map +1 -1
  156. package/dist/js/crud/removeMultiple.js +18 -7
  157. package/dist/js/crud/removeMultiple.js.map +1 -1
  158. package/dist/js/crud/security/handleDecryption.js +8 -3
  159. package/dist/js/crud/security/handleDecryption.js.map +1 -1
  160. package/dist/js/crud/security/handleEncryption.js +7 -3
  161. package/dist/js/crud/security/handleEncryption.js.map +1 -1
  162. package/dist/js/crud/security/handleHashing.js +8 -3
  163. package/dist/js/crud/security/handleHashing.js.map +1 -1
  164. package/dist/js/crud/update.d.ts +4 -4
  165. package/dist/js/crud/update.d.ts.map +1 -1
  166. package/dist/js/crud/update.js +24 -9
  167. package/dist/js/crud/update.js.map +1 -1
  168. package/dist/js/crud/utils/authorizeAccess.d.ts +2 -2
  169. package/dist/js/crud/utils/authorizeAccess.d.ts.map +1 -1
  170. package/dist/js/crud/utils/authorizeAccess.js +19 -13
  171. package/dist/js/crud/utils/authorizeAccess.js.map +1 -1
  172. package/dist/js/crud/utils/getItem.d.ts +3 -3
  173. package/dist/js/crud/utils/getItem.d.ts.map +1 -1
  174. package/dist/js/crud/utils/getItem.js +18 -9
  175. package/dist/js/crud/utils/getItem.js.map +1 -1
  176. package/dist/js/health/health.collection.js +11 -11
  177. package/dist/js/health/health.collection.js.map +1 -1
  178. package/dist/js/health/index.d.ts +1 -1
  179. package/dist/js/health/index.d.ts.map +1 -1
  180. package/dist/js/health/index.js +2 -2
  181. package/dist/js/health/index.js.map +1 -1
  182. package/dist/js/lib/OAuthProviders.js +1 -1
  183. package/dist/js/lib/OAuthProviders.js.map +1 -1
  184. package/dist/js/lib/db.js +1 -0
  185. package/dist/js/lib/db.js.map +1 -1
  186. package/dist/js/lib/model.factory.d.ts +10 -1
  187. package/dist/js/lib/model.factory.d.ts.map +1 -1
  188. package/dist/js/lib/model.factory.js +18 -4
  189. package/dist/js/lib/model.factory.js.map +1 -1
  190. package/dist/js/lib/model.registry.js +1 -0
  191. package/dist/js/lib/model.registry.js.map +1 -1
  192. package/dist/js/lib/mongoose.fields.js +20 -0
  193. package/dist/js/lib/mongoose.fields.js.map +1 -1
  194. package/dist/js/lib/schema.builder.js +3 -0
  195. package/dist/js/lib/schema.builder.js.map +1 -1
  196. package/dist/js/lib/unified.fields.d.ts +5 -0
  197. package/dist/js/lib/unified.fields.d.ts.map +1 -1
  198. package/dist/js/lib/unified.fields.js +56 -0
  199. package/dist/js/lib/unified.fields.js.map +1 -1
  200. package/dist/js/lib/unified.types.d.ts +3 -0
  201. package/dist/js/lib/unified.types.d.ts.map +1 -1
  202. package/dist/js/lib/zod.factory.d.ts +13 -0
  203. package/dist/js/lib/zod.factory.d.ts.map +1 -1
  204. package/dist/js/lib/zod.factory.js +14 -0
  205. package/dist/js/lib/zod.factory.js.map +1 -1
  206. package/dist/js/lib/zod.fields.d.ts +55 -0
  207. package/dist/js/lib/zod.fields.d.ts.map +1 -1
  208. package/dist/js/lib/zod.fields.js +56 -0
  209. package/dist/js/lib/zod.fields.js.map +1 -1
  210. package/dist/js/middleware/error.middleware.js +1 -0
  211. package/dist/js/middleware/error.middleware.js.map +1 -1
  212. package/dist/js/middleware/multer.middleware.d.ts +1 -1
  213. package/dist/js/middleware/multer.middleware.d.ts.map +1 -1
  214. package/dist/js/middleware/multer.middleware.js +22 -7
  215. package/dist/js/middleware/multer.middleware.js.map +1 -1
  216. package/dist/js/terminal/appInfo.js +11 -11
  217. package/dist/js/terminal/appInfo.js.map +1 -1
  218. package/dist/js/terminal/logger.js +1 -1
  219. package/dist/js/terminal/logger.js.map +1 -1
  220. package/dist/js/types/ActionHandler.d.ts +86 -11
  221. package/dist/js/types/ActionHandler.d.ts.map +1 -1
  222. package/dist/js/types/Collection.d.ts +104 -15
  223. package/dist/js/types/Collection.d.ts.map +1 -1
  224. package/dist/js/types/Constructor.d.ts +1 -1
  225. package/dist/js/types/Constructor.d.ts.map +1 -1
  226. package/dist/js/types/Route.d.ts +131 -14
  227. package/dist/js/types/Route.d.ts.map +1 -1
  228. package/dist/js/types/Routepath.js +15 -0
  229. package/dist/js/types/Routepath.js.map +1 -1
  230. package/dist/js/types/email.js +13 -0
  231. package/dist/js/types/email.js.map +1 -1
  232. package/dist/js/types/upload.d.ts +57 -5
  233. package/dist/js/types/upload.d.ts.map +1 -1
  234. package/dist/js/upload/create.js +9 -6
  235. package/dist/js/upload/create.js.map +1 -1
  236. package/dist/js/upload/delete.js +21 -21
  237. package/dist/js/upload/delete.js.map +1 -1
  238. package/dist/js/upload/update.js +21 -21
  239. package/dist/js/upload/update.js.map +1 -1
  240. package/dist/js/utils/getErrorDetail.d.ts +2 -2
  241. package/dist/js/utils/getErrorDetail.d.ts.map +1 -1
  242. package/dist/js/utils/getErrorDetail.js +2 -2
  243. package/dist/js/utils/getErrorDetail.js.map +1 -1
  244. package/dist/js/utils/getModel.d.ts +3 -3
  245. package/dist/js/utils/getModel.d.ts.map +1 -1
  246. package/dist/js/utils/getModel.js +6 -6
  247. package/dist/js/utils/getModel.js.map +1 -1
  248. package/dist/js/utils/libsodium.js +6 -0
  249. package/dist/js/utils/libsodium.js.map +1 -1
  250. package/dist/js/utils/otpPurposes.js +38 -0
  251. package/dist/js/utils/otpPurposes.js.map +1 -1
  252. package/dist/js/utils/sanitize.js +23 -2
  253. package/dist/js/utils/sanitize.js.map +1 -1
  254. package/dist/js/utils/saveRefreshToken.js +2 -1
  255. package/dist/js/utils/saveRefreshToken.js.map +1 -1
  256. package/dist/js/utils/validate.js +5 -3
  257. package/dist/js/utils/validate.js.map +1 -1
  258. package/dist/js/utils/validationKeyError.d.ts +1 -1
  259. package/dist/js/utils/validationKeyError.d.ts.map +1 -1
  260. package/dist/js/utils/validationKeyError.js +13 -8
  261. package/dist/js/utils/validationKeyError.js.map +1 -1
  262. package/package.json +1 -1
  263. package/readme.md +29 -29
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/js/crud/email/index.ts"],"names":[],"mappings":""}
@@ -2,29 +2,34 @@ import { unSeal } from "../../utils/libsodium.js";
2
2
  import AppError from "../../utils/AppError.js";
3
3
  import getErrorDetail from "../../utils/getErrorDetail.js";
4
4
  const handleDecryption = async (item, routeObj) => {
5
- const decArr = routeObj.decryptedFieldsArray;
5
+ const decArr = routeObj.decryptedFields;
6
+ // If decryptedFields is not configured, skip decryption.
6
7
  if (!decArr)
7
8
  return;
9
+ // Validate configuration type.
8
10
  if (!Array.isArray(decArr)) {
9
11
  throw new AppError({
10
12
  details: getErrorDetail(routeObj),
11
- hint: "decryptedFieldsArray must be an array of field names.",
13
+ hint: "decryptedFields must be an array of field names.",
12
14
  message: "Decryption configuration is invalid.",
13
15
  statusCode: 409,
14
16
  });
15
17
  }
18
+ // Validate configuration is not empty.
16
19
  if (!decArr.length) {
17
20
  throw new AppError({
18
21
  details: getErrorDetail(routeObj),
19
- hint: "Add at least one field name to decryptedFieldsArray.",
22
+ hint: "Add at least one field name to decryptedFields.",
20
23
  message: "Decryption configuration is empty.",
21
24
  statusCode: 409,
22
25
  });
23
26
  }
24
27
  const decrypted = {};
25
28
  for (let field of decArr) {
29
+ // clean the optional
26
30
  const optional = field.endsWith("?");
27
31
  field = optional ? field.slice(0, -1) : field;
32
+ // Validate that the field exists in the request body.
28
33
  if (!Object.hasOwn(item, field))
29
34
  if (optional) {
30
35
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"handleDecryption.js","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleDecryption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,QAAe,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAG7C,IAAI,CAAC,MAAM;QAAE,OAAO;IAGpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,uDAAuD;YAC7D,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,sDAAsD;YAC5D,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAG9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACjC,IAAI,EAAE,cAAc,KAAK,2BAA2B,IAAI,CAAC,GAAG,SAAS,KAAK,yCAAyC,KAAK,GAAG;oBAC3H,OAAO,EAAE,uBAAuB,KAAK,6BAA6B;oBAClE,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;YACpD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,oFAAoF;gBAC1F,OAAO,EAAE,mCAAmC;gBAC5C,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAEL,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC;YAC9B,GAAG;YACH,KAAK;YACL,SAAS;YACT,iBAAiB;YACjB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handleDecryption.js","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleDecryption.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,QAAe,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;IAExC,yDAAyD;IACzD,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,+BAA+B;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,kDAAkD;YACxD,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,qBAAqB;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE9C,sDAAsD;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACjC,IAAI,EAAE,cAAc,KAAK,2BAA2B,IAAI,CAAC,GAAG,SAAS,KAAK,yCAAyC,KAAK,GAAG;oBAC3H,OAAO,EAAE,uBAAuB,KAAK,6BAA6B;oBAClE,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB;YACpD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,oFAAoF;gBAC1F,OAAO,EAAE,mCAAmC;gBAC5C,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QAEL,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC;YAC9B,GAAG;YACH,KAAK;YACL,SAAS;YACT,iBAAiB;YACjB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -2,21 +2,24 @@ import AppError from "../../utils/AppError.js";
2
2
  import getErrorDetail from "../../utils/getErrorDetail.js";
3
3
  import { seal } from "../../utils/libsodium.js";
4
4
  const handleEncryption = async (body, routeObj) => {
5
- const encArr = routeObj.encryptedFieldsArray;
5
+ const encArr = routeObj.encryptedFields;
6
+ // If encryptedFields is not configured, skip encryption.
6
7
  if (!encArr)
7
8
  return;
9
+ // Validate configuration type.
8
10
  if (!Array.isArray(encArr)) {
9
11
  throw new AppError({
10
12
  details: getErrorDetail(routeObj),
11
- hint: "encryptedFieldsArray must be an array of field names.",
13
+ hint: "encryptedFields must be an array of field names.",
12
14
  message: "Encryption configuration is invalid.",
13
15
  statusCode: 409,
14
16
  });
15
17
  }
18
+ // Validate configuration is not empty.
16
19
  if (!encArr.length) {
17
20
  throw new AppError({
18
21
  details: getErrorDetail(routeObj),
19
- hint: "Add at least one field name to encryptedFieldsArray.",
22
+ hint: "Add at least one field name to encryptedFields.",
20
23
  message: "Encryption configuration is empty.",
21
24
  statusCode: 409,
22
25
  });
@@ -25,6 +28,7 @@ const handleEncryption = async (body, routeObj) => {
25
28
  for (let field of encArr) {
26
29
  const optional = field.endsWith("?");
27
30
  field = optional ? field.slice(0, -1) : field;
31
+ // Validate that the field exists in the request body.
28
32
  if (!Object.hasOwn(body, field))
29
33
  if (optional) {
30
34
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"handleEncryption.js","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleEncryption.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGhD,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,QAAe,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAG7C,IAAI,CAAC,MAAM;QAAE,OAAO;IAGpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,uDAAuD;YAC7D,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,sDAAsD;YAC5D,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAG9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACjC,IAAI,EAAE,cAAc,KAAK,oCAAoC;oBAC7D,OAAO,EAAE,uBAAuB,KAAK,0BAA0B;oBAC/D,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QAEH,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handleEncryption.js","sourceRoot":"","sources":["../../../../src/js/crud/encryption/handleEncryption.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGhD,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAS,EAAE,QAAe,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC;IAExC,yDAAyD;IACzD,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,+BAA+B;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,kDAAkD;YACxD,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE,oCAAoC;YAC7C,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE9C,sDAAsD;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,QAAQ,CAAC;oBACjB,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;oBACjC,IAAI,EAAE,cAAc,KAAK,oCAAoC;oBAC7D,OAAO,EAAE,uBAAuB,KAAK,0BAA0B;oBAC/D,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QAEH,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { Request, Response } from "express";
2
2
  import type { Route, ValidationsObj } from "../../types/Collection.js";
3
- declare const addFile: ({ modelName, routeName, routeObj, }: {
4
- modelName: string;
5
- routeName: string;
3
+ declare const addFile: ({ model, route, routeObj, }: {
4
+ model: string;
5
+ route: string;
6
6
  routeObj: Route;
7
- validationsObj: ValidationsObj;
7
+ validations: ValidationsObj;
8
8
  }) => (req: Request, res: Response) => Promise<void>;
9
9
  export default addFile;
10
10
  //# sourceMappingURL=file.add.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.add.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAUvE,QAAA,MAAM,OAAO,GAAI,qCAId;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA6DzD,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"file.add.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAUvE,QAAA,MAAM,OAAO,GAAI,6BAId;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA6DzD,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -5,37 +5,42 @@ import { handleUploadFiles } from "../../upload/index.js";
5
5
  import AppError from "../../utils/AppError.js";
6
6
  import authorizeAccess from "../utils/authorizeAccess.js";
7
7
  import getErrorDetail from "../../utils/getErrorDetail.js";
8
- const addFile = ({ modelName, routeName, routeObj, }) => {
8
+ const addFile = ({ model, route, routeObj, }) => {
9
9
  return async (req, res) => {
10
- if (!routeObj?.fileArray?.length)
10
+ // if files is missing
11
+ if (!routeObj?.files?.length)
11
12
  throw new AppError({
12
- message: "fileArray is missing or empty",
13
+ message: "files is missing or empty",
13
14
  statusCode: 400,
14
- hint: "Checkout the collection configuration if fileArray is missing or empty",
15
+ hint: "Checkout the collection configuration if files is missing or empty",
15
16
  details: getErrorDetail(routeObj),
16
17
  });
18
+ // get param
17
19
  const param = getParam({
18
20
  req,
19
21
  routeObj
20
22
  });
23
+ // get item
21
24
  const item = await getItem({
22
- modelName,
23
- routeName,
25
+ model,
26
+ route,
24
27
  _id: param,
25
28
  path: routeObj.path,
26
29
  clean: false,
27
30
  routeObj,
28
31
  });
29
- authorizeAccess({ routeObj, routeName, item, req });
32
+ // authorizeAccess
33
+ authorizeAccess({ routeObj, route, item, req });
34
+ // upload files
30
35
  const fileMetaData = await handleUploadFiles(req, routeObj);
31
36
  if (fileMetaData) {
32
37
  for (const [field, files] of Object.entries(fileMetaData)) {
33
38
  const mongooseSchemaField = item[field];
34
39
  if (!mongooseSchemaField)
35
40
  throw new AppError({
36
- message: `mongooseSchemaFieldName: '${field}' not found in mongodb document.`,
41
+ message: `schemaField: '${field}' not found in mongodb document.`,
37
42
  statusCode: 400,
38
- hint: "Check if 'mongooseSchemaFieldName' is wrong. It should match the array [] name of your mongodb document -> fileMetaData.",
43
+ hint: "Check if 'schemaField' is wrong. It should match the array [] name of your mongodb document -> fileMetaData.",
39
44
  details: {
40
45
  handler: routeObj.handler,
41
46
  method: routeObj.method,
@@ -45,7 +50,9 @@ const addFile = ({ modelName, routeName, routeObj, }) => {
45
50
  item[field].push(...files);
46
51
  }
47
52
  }
53
+ // save
48
54
  await item.save();
55
+ // response
49
56
  appResponse({
50
57
  res,
51
58
  data: item,
@@ -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;AAC1D,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAG3D,MAAM,OAAO,GAAG,CAAC,EACf,SAAS,EACT,SAAS,EACT,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM;YAC9B,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,wEAAwE;gBAC9E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,GAAG;YACH,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGpD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE5D,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,0HAA0H;wBAChI,OAAO,EAAE;4BACP,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACpB;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,IAAI,EAAE,IAAI;YACV,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,KAAK,EACL,KAAK,EACL,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,sBAAsB;QACtB,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;YAC1B,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,2BAA2B;gBACpC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,oEAAoE;gBAC1E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,YAAY;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,GAAG;YACH,QAAQ;SACT,CAAC,CAAC;QAEH,WAAW;QACX,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAEH,kBAAkB;QAClB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,eAAe;QACf,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE5D,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,iBAAiB,KAAK,kCAAkC;wBACjE,UAAU,EAAE,GAAG;wBACf,IAAI,EAAE,8GAA8G;wBACpH,OAAO,EAAE;4BACP,OAAO,EAAE,QAAQ,CAAC,OAAO;4BACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACpB;qBACF,CAAC,CAAC;gBACL,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO;QACP,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,WAAW;QACX,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { Route, ValidationsObj } from "../../types/Collection.ts";
2
2
  import type { Request, Response } from "express";
3
- declare const deleteFile: ({ modelName, routeName, routeObj, validationsObj, }: {
4
- modelName: string;
5
- routeName: string;
3
+ declare const deleteFile: ({ model, route, routeObj, validations, }: {
4
+ model: string;
5
+ route: string;
6
6
  routeObj: Route;
7
- validationsObj: ValidationsObj;
7
+ validations: ValidationsObj;
8
8
  }) => (req: Request, res: Response) => Promise<void>;
9
9
  export default deleteFile;
10
10
  //# sourceMappingURL=file.delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.delete.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASjD,QAAA,MAAM,UAAU,GAAI,qDAKjB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2CzD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"file.delete.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASjD,QAAA,MAAM,UAAU,GAAI,0CAKjB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CA2CzD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -5,26 +5,35 @@ import appResponse from "../../utils/response.js";
5
5
  import getValidationKey from "../../utils/validationKeyError.js";
6
6
  import validate from "../../utils/validate.js";
7
7
  import authorizeAccess from "../utils/authorizeAccess.js";
8
- const deleteFile = ({ modelName, routeName, routeObj, validationsObj, }) => {
8
+ const deleteFile = ({ model, route, routeObj, validations, }) => {
9
9
  return async (req, res) => {
10
- const validationObj = getValidationKey(routeObj, validationsObj);
10
+ // validationObj
11
+ const validationObj = getValidationKey(routeObj, validations);
12
+ // validation
11
13
  const body = validate(validationObj, req.body, routeObj);
14
+ // get param
12
15
  const param = getParam({
13
16
  req,
14
17
  routeObj
15
18
  });
19
+ // get item
16
20
  const item = await getItem({
17
- modelName,
18
- routeName,
21
+ model,
22
+ route,
19
23
  _id: param,
20
24
  path: routeObj.path,
21
25
  clean: false,
22
26
  routeObj
23
27
  });
24
- authorizeAccess({ routeObj, routeName, item, req });
28
+ // authorizeAccess
29
+ authorizeAccess({ routeObj, route, item, req });
30
+ // delete file from cloudinary
25
31
  const { _id, mongooseField } = (await handleDeleteFile(routeObj, body, item)) || {};
32
+ // remove from mongoose array
26
33
  item[mongooseField].id(_id)?.deleteOne();
34
+ // save
27
35
  await item.save();
36
+ // response
28
37
  appResponse({
29
38
  res,
30
39
  message: "File deleted successfully!",
@@ -1 +1 @@
1
- {"version":3,"file":"file.delete.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.delete.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,EAClB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,GAAG;YACH,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGpD,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAC1B,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAGvD,IAAI,CAAC,aAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC;QAGnD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAGlB,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"file.delete.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.delete.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,GAMZ,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,aAAa;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,YAAY;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC;YACrB,GAAG;YACH,QAAQ;SACT,CAAC,CAAC;QAEH,WAAW;QACX,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAEF,kBAAkB;QACnB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAC1B,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvD,6BAA6B;QAC7B,IAAI,CAAC,aAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC;QAEnD,OAAO;QACP,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,WAAW;QACX,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { Route, ValidationsObj } from "../../types/Collection.ts";
2
2
  import type { Request, Response } from "express";
3
- declare const updateFile: ({ modelName, routeName, routeObj, validationsObj, }: {
4
- modelName: string;
5
- routeName: string;
3
+ declare const updateFile: ({ model, route, routeObj, validations, }: {
4
+ model: string;
5
+ route: string;
6
6
  routeObj: Route;
7
- validationsObj: ValidationsObj;
7
+ validations: ValidationsObj;
8
8
  }) => (req: Request, res: Response) => Promise<void>;
9
9
  export default updateFile;
10
10
  //# sourceMappingURL=file.update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.update.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASjD,QAAA,MAAM,UAAU,GAAI,qDAKjB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuCzD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"file.update.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASjD,QAAA,MAAM,UAAU,GAAI,0CAKjB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuCzD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -5,24 +5,34 @@ import appResponse from "../../utils/response.js";
5
5
  import getValidationKey from "../../utils/validationKeyError.js";
6
6
  import validate from "../../utils/validate.js";
7
7
  import authorizeAccess from "../utils/authorizeAccess.js";
8
- const updateFile = ({ modelName, routeName, routeObj, validationsObj, }) => {
8
+ const updateFile = ({ model, route, routeObj, validations, }) => {
9
9
  return async (req, res) => {
10
- const validationObj = getValidationKey(routeObj, validationsObj);
10
+ // validationObj
11
+ const validationObj = getValidationKey(routeObj, validations);
12
+ // validation
11
13
  const body = validate(validationObj, req.body, routeObj);
14
+ // get param
12
15
  const param = getParam({ req, routeObj });
16
+ // get item
13
17
  let item = await getItem({
14
- modelName,
15
- routeName,
18
+ model,
19
+ route,
16
20
  _id: param,
17
21
  path: routeObj.path,
18
22
  clean: false,
19
23
  routeObj
20
24
  });
21
- authorizeAccess({ routeObj, routeName, item, req });
25
+ // authorizeAccess
26
+ authorizeAccess({ routeObj, route, item, req });
27
+ // update file
22
28
  const { updated, _id, mongooseField } = (await handleUpdateFile(req, routeObj, body, item)) || {};
29
+ // get old
23
30
  const old = item[mongooseField].id(_id);
31
+ // copy - paste updated init
24
32
  Object.assign(old, updated);
33
+ // save
25
34
  await item.save();
35
+ // app response
26
36
  appResponse({ res, message: "File updated successfully!", data: item });
27
37
  };
28
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"file.update.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,EAClB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAGjE,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGzD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG1C,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC;YACvB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAGH,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGpD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GACnC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAG5D,MAAM,GAAG,GAAG,IAAI,CAAC,aAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAGlD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAG5B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAGlB,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"file.update.js","sourceRoot":"","sources":["../../../../src/js/crud/handleUploads/file.update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,GAMZ,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,aAAa;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,YAAY;QACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE1C,WAAW;QACX,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC;YACvB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,KAAe;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,KAAK;YACZ,QAAQ;SACT,CAAC,CAAC;QAEH,kBAAkB;QAClB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,cAAc;QACd,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GACnC,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,aAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAElD,4BAA4B;QAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE5B,OAAO;QACP,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,eAAe;QACf,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Express } from "express";
2
2
  import type { ValidationsObj, Route } from "../types/Collection.ts";
3
- declare const crud: (app: Express, routeName: string, routes: Route[], modelName: string | undefined, validationsObj?: ValidationsObj) => void;
3
+ declare const crud: (app: Express, route: string, routes: Route[], model: string | undefined, validations?: ValidationsObj) => void;
4
4
  export default crud;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -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;AAMpE,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;AAMpE,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,QAAQ,KAAK,EAAE,EACf,OAAO,MAAM,GAAG,SAAS,EACzB,cAAc,cAAc,SA2C7B,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -5,29 +5,36 @@ 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
7
  import getErrorDetail from "../utils/getErrorDetail.js";
8
- const crud = (app, routeName, routes, modelName, validationsObj) => {
8
+ const crud = (app, route, routes, model, validations) => {
9
9
  const { apiVersion } = getEnvs();
10
10
  for (const routeObj of routes) {
11
- if (!routeObj.authRole ||
11
+ // push middleware to middlewares
12
+ if (!routeObj.auth ||
12
13
  !routeObj.handler ||
13
14
  !routeObj.method ||
14
15
  !routeObj.path)
15
16
  throw new AppError({
16
- message: "authRole, handler, method and path are required required",
17
+ message: "auth, handler, method and path are required required",
17
18
  statusCode: 409,
18
- hint: "Check if authRole, handler, method or path is missing in collections -> routes.",
19
+ hint: "Check if auth, handler, method or path is missing in collections -> routes.",
19
20
  details: getErrorDetail(routeObj),
20
21
  });
22
+ // middlewares array
21
23
  const middlewares = [];
22
- if (routeObj.authRole !== "public")
24
+ // protect
25
+ if (routeObj.auth !== "public")
23
26
  middlewares.push(protect(routeObj));
24
- if (routeObj?.fileArray)
25
- middlewares.push(handleMulterMiddleware(routeObj.fileArray, routeObj));
26
- app[routeObj.method](`/api/v${apiVersion}/${routeName}${routeObj.path}`, ...middlewares, asyncHandler(handlerMap[routeObj.handler]({
27
- modelName,
28
- routeName,
27
+ // upload in routeObj
28
+ if (routeObj?.files)
29
+ middlewares.push(handleMulterMiddleware(routeObj.files, routeObj));
30
+ // app.get("/", (req, res) => {})
31
+ app[routeObj.method](`/api/v${apiVersion}/${route}${routeObj.path}`, ...middlewares, asyncHandler(
32
+ // redirect -> handler
33
+ handlerMap[routeObj.handler]({
34
+ model,
35
+ route,
29
36
  routeObj,
30
- validationsObj,
37
+ validations,
31
38
  })));
32
39
  }
33
40
  };
@@ -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;AAC5E,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAExD,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,QAAQ,IAAI,MAAM,EAAE,CAAC;QAE9B,IACE,CAAC,QAAQ,CAAC,QAAQ;YAClB,CAAC,QAAQ,CAAC,OAAO;YACjB,CAAC,QAAQ,CAAC,MAAM;YAChB,CAAC,QAAQ,CAAC,IAAI;YAEd,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,0DAA0D;gBACnE,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,iFAAiF;gBACvF,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,WAAW,GAAG,EAAE,CAAC;QAGvB,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAGxE,IAAI,QAAQ,EAAE,SAAS;YACrB,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAGzE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,GAAG,WAAW,EACd,YAAY,CAEV,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,QAAQ;YACR,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;AAExD,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,KAAa,EACb,MAAe,EACf,KAAyB,EACzB,WAA4B,EAC5B,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,iCAAiC;QACjC,IACE,CAAC,QAAQ,CAAC,IAAI;YACd,CAAC,QAAQ,CAAC,OAAO;YACjB,CAAC,QAAQ,CAAC,MAAM;YAChB,CAAC,QAAQ,CAAC,IAAI;YAEd,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,sDAAsD;gBAC/D,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,6EAA6E;gBACnF,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,oBAAoB;QACpB,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,UAAU;QACV,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,qBAAqB;QACrB,IAAI,QAAQ,EAAE,KAAK;YACjB,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAErE,iCAAiC;QACjC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAC9C,GAAG,WAAW,EACd,YAAY;QACV,sBAAsB;QACtB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,KAAK;YACL,KAAK;YACL,QAAQ;YACR,WAAW;SACZ,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { Request, Response } from "express";
2
2
  import type { Route, ValidationsObj } from "../types/Collection.js";
3
- declare const read: ({ modelName, routeName, routeObj, }: {
4
- modelName: string;
5
- routeName: string;
3
+ declare const read: ({ model, route, routeObj, }: {
4
+ model: string;
5
+ route: string;
6
6
  routeObj: Route;
7
- validationsObj: ValidationsObj;
7
+ validations: ValidationsObj;
8
8
  }) => (req: Request, res: Response) => Promise<void>;
9
9
  export default read;
10
10
  //# sourceMappingURL=read.d.ts.map
@@ -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;AAKpE,QAAA,MAAM,IAAI,GAAI,qCAIX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuDzD,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;AAKpE,QAAA,MAAM,IAAI,GAAI,6BAIX;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAsDzD,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -4,39 +4,48 @@ import getParam from "./utils/getParam.js";
4
4
  import authorizeAccess from "./utils/authorizeAccess.js";
5
5
  import handleDecryption from "./encryption/handleDecryption.js";
6
6
  import runActions from "./utils/runActions.js";
7
- const read = ({ modelName, routeName, routeObj, }) => {
7
+ const read = ({ model, route, routeObj, }) => {
8
8
  return async (req, res) => {
9
+ // get /:parameter
9
10
  const id = getParam({ req, routeObj });
11
+ // runActions object
10
12
  const ActionObj = {
11
13
  req,
12
14
  user: req.user,
13
- routeName,
14
- modelName,
15
+ route,
16
+ model,
15
17
  };
18
+ // before action
16
19
  let modifiedResponse = await runActions(routeObj.actions?.before, {
17
20
  operation: "read",
18
21
  ...ActionObj,
19
22
  });
23
+ // findById item
20
24
  const item = await getItem({
21
- modelName,
22
- routeName,
25
+ model,
26
+ route,
23
27
  _id: id,
24
28
  path: routeObj.path,
25
29
  routeObj,
26
30
  });
27
- if (routeObj.authRole !== "public")
28
- authorizeAccess({ routeObj, routeName, item, req });
29
- const idExcluded = routeObj.mongooseConfigObj?.hiddenFieldsArray?.includes("_id");
31
+ // if not public -> do authorizeAccess
32
+ if (routeObj.auth !== "public")
33
+ authorizeAccess({ routeObj, route, item, req });
34
+ // if '_id' excluded
35
+ const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
30
36
  if (idExcluded)
31
37
  delete item["_id"];
38
+ // if decryption
32
39
  const decryption = await handleDecryption(item, routeObj);
40
+ // before action
33
41
  modifiedResponse = await runActions(routeObj.actions?.after, {
34
42
  operation: "read",
35
43
  ...ActionObj,
36
44
  data: {
37
- decryptedFields: decryption,
45
+ decrypted: decryption,
38
46
  },
39
47
  });
48
+ // return response
40
49
  appResponse({
41
50
  res,
42
51
  data: modifiedResponse ?? { ...item, ...decryption },
@@ -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,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAGvC,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;SACV,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YAChC,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGtD,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAGnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAG1D,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;YACZ,IAAI,EAAE;gBACJ,eAAe,EAAE,UAAU;aAC5B;SACF,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE;YACpD,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,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,KAAK,EACL,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,kBAAkB;QAClB,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEvC,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC;YACzB,KAAK;YACL,KAAK;YACL,GAAG,EAAE,EAAY;YACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAC5B,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAElD,oBAAoB;QACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,UAAU;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,gBAAgB;QAChB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE1D,gBAAgB;QAChB,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,MAAM;YACjB,GAAG,SAAS;YACZ,IAAI,EAAE;gBACJ,SAAS,EAAE,UAAU;aACtB;SACF,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,EAAE;YACpD,OAAO,EAAE,0BAA0B;SACpC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { Request, Response } from "express";
2
2
  import type { Route } from "../types/Collection.js";
3
- declare const read: ({ modelName, routeName, routeObj, }: {
4
- modelName: string;
5
- routeName: string;
3
+ declare const read: ({ model, route, routeObj, }: {
4
+ model: string;
5
+ route: string;
6
6
  routeObj: Route;
7
7
  }) => (req: Request, res: Response) => Promise<void>;
8
8
  export default read;
@@ -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,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,IAAI,GAAI,qCAIX;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiEzD,CAAC;AAEF,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,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,IAAI,GAAI,6BAIX;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAiEzD,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -3,33 +3,39 @@ import appResponse from "../utils/response.js";
3
3
  import authorizeAccess from "./utils/authorizeAccess.js";
4
4
  import runActions from "./utils/runActions.js";
5
5
  import handleDecryption from "./encryption/handleDecryption.js";
6
- const read = ({ modelName, routeName, routeObj, }) => {
6
+ const read = ({ model, route, routeObj, }) => {
7
7
  return async (req, res) => {
8
+ // runActions object
8
9
  const ActionObj = {
9
10
  req,
10
11
  user: req.user,
11
- routeName,
12
- modelName,
12
+ route,
13
+ model,
13
14
  };
15
+ // before action
14
16
  let modifiedResponse = await runActions(routeObj.actions?.before, {
15
17
  operation: "readAll",
16
18
  ...ActionObj,
17
19
  });
20
+ // Find item
18
21
  const items = await getItem({
19
- modelName,
20
- routeName,
22
+ model,
23
+ route,
21
24
  path: routeObj.path,
22
25
  routeObj,
23
26
  });
24
- if (routeObj.authRole !== "public") {
27
+ // If not public -> authorize access
28
+ if (routeObj.auth !== "public") {
25
29
  authorizeAccess({
26
30
  routeObj,
27
- routeName,
31
+ route,
28
32
  item: items[0],
29
33
  req,
30
34
  });
31
35
  }
32
- const idExcluded = routeObj.mongooseConfigObj?.hiddenFieldsArray?.includes("_id");
36
+ // if '_id' excluded
37
+ const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
38
+ // Decrypt fields
33
39
  const decryptedItems = await Promise.all(items.map(async (item) => {
34
40
  if (idExcluded)
35
41
  delete item["_id"];
@@ -39,12 +45,14 @@ const read = ({ modelName, routeName, routeObj, }) => {
39
45
  ...decryption,
40
46
  };
41
47
  }));
48
+ // before action
42
49
  modifiedResponse = await runActions(routeObj.actions?.after, {
43
50
  operation: "readAll",
44
51
  ...ActionObj,
45
52
  item: decryptedItems,
46
53
  result: decryptedItems,
47
54
  });
55
+ // Return response
48
56
  appResponse({
49
57
  res,
50
58
  data: modifiedResponse ?? decryptedItems,
@@ -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,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS;YACT,SAAS;SACV,CAAC;QAGF,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;SACb,CAAC,CAAC;QAGH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,SAAS;YACT,SAAS;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAGH,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACnC,eAAe,CAAC;gBACd,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAGjE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;YAC5B,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU;aACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAGF,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAGH,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,cAAc;YACxC,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,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,eAAe,MAAM,4BAA4B,CAAC;AACzD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,KAAK,EACL,QAAQ,GAKT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,oBAAoB;QACpB,MAAM,SAAS,GAAG;YAChB,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,KAAK;SACN,CAAC;QAEF,gBAAgB;QAChB,IAAI,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE;YAChE,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;SACb,CAAC,CAAC;QAEH,YAAY;QACZ,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;YAC1B,KAAK;YACL,KAAK;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ;SACT,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,eAAe,CAAC;gBACd,QAAQ;gBACR,KAAK;gBACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,GAAG;aACJ,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB;QACpB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEjD,iBAAiB;QACjB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;YAC5B,IAAI,UAAU;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,UAAU;aACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,gBAAgB;QAChB,gBAAgB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YAC3D,SAAS,EAAE,SAAS;YACpB,GAAG,SAAS;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,gBAAgB,IAAI,cAAc;YACxC,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}