@starklabs/forge 1.3.22 → 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 +58 -2
  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
@@ -1,5 +1,5 @@
1
1
  import type { Express } from "express";
2
2
  import type { ValidationsObj, Route } from "../types/Collection.ts";
3
- declare const account: (app: Express, routeName: string, routes: Route[], modelName: string | undefined, validationsObj?: ValidationsObj) => void;
3
+ declare const account: (app: Express, route: string, routes: Route[], model: string | undefined, validations?: ValidationsObj) => void;
4
4
  export default account;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/account/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,OAAO,GACX,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,SAuChC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/account/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,OAAO,GACX,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,QAAQ,KAAK,EAAE,EACf,OAAO,MAAM,GAAG,SAAS,EACzB,cAAc,cAAc,SAuC7B,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -5,9 +5,10 @@ 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 account = (app, routeName, routes, modelName, validationsObj) => {
8
+ const account = (app, route, routes, model, validations) => {
9
9
  const { apiVersion } = getEnvs();
10
10
  for (const routeObj of routes) {
11
+ // push middleware to middlewares
11
12
  if (!routeObj.handler || !routeObj.method || !routeObj.path)
12
13
  throw new AppError({
13
14
  message: "handler, method and path are required required",
@@ -15,15 +16,21 @@ const account = (app, routeName, routes, modelName, validationsObj) => {
15
16
  hint: "Check if handler, method or path is missing in collections -> routes.",
16
17
  details: getErrorDetail(routeObj),
17
18
  });
19
+ // middlewares array
18
20
  const middlewares = [];
21
+ // protect
19
22
  middlewares.push(protect(routeObj));
20
- if (routeObj?.fileArray)
21
- middlewares.push(handleMulterMiddleware(routeObj.fileArray, routeObj));
22
- app[routeObj.method](`/api/v${apiVersion}/${routeName}${routeObj.path}`, ...middlewares, asyncHandler(handlerMap[routeObj.handler]({
23
- modelName,
24
- routeName,
23
+ // upload in routeObj
24
+ if (routeObj?.files)
25
+ middlewares.push(handleMulterMiddleware(routeObj.files, routeObj));
26
+ // app.get("/", (req, res) => {})
27
+ app[routeObj.method](`/api/v${apiVersion}/${route}${routeObj.path}`, ...middlewares, asyncHandler(
28
+ // redirect -> handler
29
+ handlerMap[routeObj.handler]({
30
+ model,
31
+ route,
25
32
  routeObj,
26
- validationsObj,
33
+ validations,
27
34
  })));
28
35
  }
29
36
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/account/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,OAAO,GAAG,CACd,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;QAG9B,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI;YACzD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,gDAAgD;gBACzD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,uEAAuE;gBAC7E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,WAAW,GAAG,EAAE,CAAC;QAGvB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAGpC,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,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/account/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,OAAO,GAAG,CACd,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;QAE9B,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI;YACzD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,gDAAgD;gBACzD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,uEAAuE;gBAC7E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,oBAAoB;QACpB,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,UAAU;QACV,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpC,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,OAAO,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { Request, Response } from "express";
2
2
  import type { Route } from "../types/Collection.ts";
3
- declare const remove: ({ routeName, routeObj, }: {
3
+ declare const remove: ({ route, routeObj, }: {
4
4
  routeObj: Route;
5
- routeName: string;
5
+ route: string;
6
6
  }) => (req: Request, res: Response) => Promise<void>;
7
7
  export default remove;
8
8
  //# sourceMappingURL=me.delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"me.delete.d.ts","sourceRoot":"","sources":["../../../src/js/account/me.delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,MAAM,GAAI,0BAGb;IACD,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAoCzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"me.delete.d.ts","sourceRoot":"","sources":["../../../src/js/account/me.delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAKpD,QAAA,MAAM,MAAM,GAAI,sBAGb;IACD,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAoCzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -5,19 +5,28 @@ import authorizeAccess from "../crud/utils/authorizeAccess.js";
5
5
  import { sanitizeOne } from "../utils/sanitize.js";
6
6
  import { getEnvs } from "../config/envs.js";
7
7
  import { findUser } from "../middleware/auth.middleware.js";
8
- const remove = ({ routeName, routeObj, }) => {
8
+ const remove = ({ route, routeObj, }) => {
9
9
  return async (req, res) => {
10
+ // user id
10
11
  const id = req.user._id;
12
+ // user model
11
13
  const { userModelName } = getEnvs();
12
- const modelName = userModelName;
13
- const item = await findUser(id, routeObj, modelName);
14
- authorizeAccess({ routeObj, routeName, item, req });
15
- const Model = getModel({ modelName, routeName, routeObj });
14
+ const model = userModelName;
15
+ // ensure item exists
16
+ const item = await findUser(id, routeObj, model);
17
+ // authorize access
18
+ authorizeAccess({ routeObj, route, item, req });
19
+ // model
20
+ const Model = getModel({ model, route, routeObj });
21
+ // delete
16
22
  const deletedItem = await Model.findByIdAndDelete(id);
23
+ // clean
17
24
  const cleaned = sanitizeOne(deletedItem.toObject(), routeObj);
18
- const idExcluded = routeObj.mongooseConfigObj?.hiddenFieldsArray?.includes("_id");
25
+ // if '_id' excluded
26
+ const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
19
27
  if (idExcluded)
20
28
  delete cleaned["_id"];
29
+ // return response
21
30
  appResponse({
22
31
  res,
23
32
  message: "Item deleted successfully!",
@@ -1 +1 @@
1
- {"version":3,"file":"me.delete.js","sourceRoot":"","sources":["../../../src/js/account/me.delete.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,QAAQ,GAIT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAE1D,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAGxB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAc,CAAC;QAGjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QAGpD,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAGpD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAGtD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG/D,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAGtC,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"me.delete.js","sourceRoot":"","sources":["../../../src/js/account/me.delete.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,MAAM,MAAM,GAAG,CAAC,EACd,KAAK,EACL,QAAQ,GAIT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,UAAU;QACV,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAExB,aAAa;QACb,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,aAAc,CAAC;QAE7B,qBAAqB;QACrB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAEhD,mBAAmB;QACnB,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAEhD,QAAQ;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAEtD,QAAQ;QACR,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/D,oBAAoB;QACpB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtC,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { Request, Response } from "express";
2
2
  import type { ValidationsObj, Route } from "../types/Collection.js";
3
- declare const update: ({ routeName, routeObj, validationsObj, }: {
4
- routeName: string;
3
+ declare const update: ({ route, routeObj, validations, }: {
4
+ route: string;
5
5
  routeObj: Route;
6
- validationsObj: ValidationsObj;
6
+ validations: ValidationsObj;
7
7
  }) => (req: Request, res: Response) => Promise<void>;
8
8
  export default update;
9
9
  //# sourceMappingURL=me.update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"me.update.d.ts","sourceRoot":"","sources":["../../../src/js/account/me.update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAapE,QAAA,MAAM,MAAM,GAAI,0CAIb;IACD,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,CAqDzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"me.update.d.ts","sourceRoot":"","sources":["../../../src/js/account/me.update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAapE,QAAA,MAAM,MAAM,GAAI,mCAIb;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,CAqDzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -9,25 +9,38 @@ import handleEncryption from "../crud/encryption/handleEncryption.js";
9
9
  import handleHashing from "../crud/security/handleHashing.js";
10
10
  import { getEnvs } from "../config/envs.js";
11
11
  import { findUser } from "../middleware/auth.middleware.js";
12
- const update = ({ routeName, routeObj, validationsObj, }) => {
12
+ const update = ({ route, routeObj, validations, }) => {
13
13
  return async (req, res) => {
14
- const validationObj = getValidationKey(routeObj, validationsObj);
14
+ // validationObj
15
+ const validationObj = getValidationKey(routeObj, validations);
16
+ // validate
15
17
  const body = validate(validationObj, req.body, routeObj);
18
+ // user id
16
19
  const id = req.user._id;
20
+ // user model
17
21
  const { userModelName } = getEnvs();
18
- const modelName = userModelName;
19
- const item = await findUser(id, routeObj, modelName);
20
- authorizeAccess({ item, req, routeObj, routeName });
22
+ const model = userModelName;
23
+ // ensure item exists
24
+ const item = await findUser(id, routeObj, model);
25
+ // authorize access
26
+ authorizeAccess({ item, req, routeObj, route });
27
+ // if encryptedFields
21
28
  const encryptedFields = await handleEncryption(req.body, routeObj);
29
+ // if hashedFields
22
30
  const hashedFields = await handleHashing(req.body, routeObj);
23
- const Model = getModel({ modelName, routeName, routeObj });
31
+ // model
32
+ const Model = getModel({ model, route, routeObj });
33
+ // update
24
34
  const updatedItem = await Model.findByIdAndUpdate(id, { ...body, ...encryptedFields, ...hashedFields }, {
25
35
  returnDocument: "after",
26
36
  });
37
+ // cleaned
27
38
  const cleaned = sanitizeOne(updatedItem.toObject(), routeObj);
28
- const idExcluded = routeObj.mongooseConfigObj?.hiddenFieldsArray?.includes("_id");
39
+ // if '_id' excluded
40
+ const idExcluded = routeObj.config?.hiddenFields?.includes("_id");
29
41
  if (idExcluded)
30
42
  delete cleaned["_id"];
43
+ // return response
31
44
  appResponse({
32
45
  res,
33
46
  data: cleaned,
@@ -1 +1 @@
1
- {"version":3,"file":"me.update.js","sourceRoot":"","sources":["../../../src/js/account/me.update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,MAAM,MAAM,GAAG,CAAC,EACd,SAAS,EACT,QAAQ,EACR,cAAc,GAKf,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,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAGxB,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,aAAc,CAAC;QAGjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;QAGpD,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAGpD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAGnE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAG7D,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAG3D,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAC/C,EAAE,EACF,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,EAChD;YACE,cAAc,EAAE,OAAO;SACxB,CACF,CAAC;QAGF,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG/D,MAAM,UAAU,GACd,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAGtC,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,0CAA0C;SACpD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"me.update.js","sourceRoot":"","sources":["../../../src/js/account/me.update.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAE5D,MAAM,MAAM,GAAG,CAAC,EACd,KAAK,EACL,QAAQ,EACR,WAAW,GAKZ,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,WAAW;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,UAAU;QACV,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAExB,aAAa;QACb,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,aAAc,CAAC;QAE7B,qBAAqB;QACrB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QAEhD,mBAAmB;QACnB,eAAe,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhD,qBAAqB;QACrB,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEnE,kBAAkB;QAClB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7D,QAAQ;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAC/C,EAAE,EACF,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE,EAChD;YACE,cAAc,EAAE,OAAO;SACxB,CACF,CAAC;QAEF,UAAU;QACV,MAAM,OAAO,GAAG,WAAW,CAAC,WAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/D,oBAAoB;QACpB,MAAM,UAAU,GACd,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtC,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,0CAA0C;SACpD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/js/app.js CHANGED
@@ -14,11 +14,13 @@ import authCollection from "./auth/builtin/auth.collection.js";
14
14
  import { setAppInfo } from "./terminal/appInfo.js";
15
15
  import printInfo from "./terminal/loggerConfig.js";
16
16
  import createRefreshModel from "./config/refreshModel.js";
17
+ // body - middlewares
17
18
  const jsonParser = express.json();
18
19
  const urlencodedParser = express.urlencoded({ extended: true });
19
20
  app.use(cookieParser());
20
21
  app.use(helmet());
21
22
  app.use(rateLimiter());
23
+ // parse body - based on situation
22
24
  app.use((req, res, next) => {
23
25
  if (req.is("multipart/form-data")) {
24
26
  return next();
@@ -29,36 +31,47 @@ app.use((req, res, next) => {
29
31
  urlencodedParser(req, res, next);
30
32
  });
31
33
  });
34
+ // handle collection
32
35
  const handleCollection = (collections, authConfigObj) => {
33
36
  for (const Req of collections) {
34
37
  setAppInfo(Req);
35
- let { reqType, routeName, routesArray, modelName, validationsObj, mongooseSchemaObj, } = Req;
36
- if (reqType === "auth" && authConfigObj.mode === "builtin") {
37
- mongooseSchemaObj = authConfigObj.schemaObj?.schema;
38
- modelName = authConfigObj.schemaObj?.modelName;
38
+ let { type, route, routes, model, validations, schema, } = Req;
39
+ if (type === "auth" && authConfigObj.mode === "builtin") {
40
+ schema = authConfigObj.schemaObj?.schema;
41
+ model = authConfigObj.schemaObj?.model;
39
42
  }
40
- if (modelName) {
41
- const MODEL = createModel(modelName, mongooseSchemaObj, routeName);
42
- registerModel[modelName] = MODEL;
43
+ if (model) {
44
+ const MODEL = createModel(model, schema, route);
45
+ registerModel[model] = MODEL;
43
46
  }
44
- handleReqType(reqType, app, routeName, routesArray, modelName, validationsObj, mongooseSchemaObj);
47
+ handleReqType(type, app, route, routes, model, validations, schema);
45
48
  }
46
49
  };
50
+ // start server
47
51
  const startServer = async () => {
48
52
  const { port, collections, isOffline, mongoDBURI, databaseName, authConfigObj, } = getEnvs();
53
+ // connect db
49
54
  await connectDB({ isOffline, mongoDBURI, databaseName });
50
55
  await createRefreshModel();
56
+ // collectionsArray
51
57
  const collectionArray = [healthCollection];
58
+ // handleCollection config
52
59
  if (authConfigObj?.mode === "builtin")
53
60
  collectionArray.push(authCollection);
54
61
  if (collections)
55
62
  collectionArray.push(...collections);
63
+ // call - handleCollection
56
64
  handleCollection(collectionArray, authConfigObj);
65
+ // routeObj not found
57
66
  app.use((req, res) => {
58
67
  res.status(404).json({ success: false, message: "Route not found" });
59
68
  });
69
+ // error middleware
60
70
  app.use(errorMiddleware);
61
71
  app.listen(port, printInfo);
72
+ // app.listen(port, () => {
73
+ // console.log(`Server is running at http://localhost:${port}`);
74
+ // });
62
75
  };
63
76
  export { startServer, app };
64
77
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { getEnvs } from "../../config/envs.js";
2
2
  const collection = (vals) => {
3
3
  const { authConfigObj } = getEnvs();
4
- vals.mongooseSchemaObj = authConfigObj?.schemaObj?.schema;
4
+ vals.schema = authConfigObj?.schemaObj?.schema;
5
5
  return vals;
6
6
  };
7
7
  const routes = () => {
@@ -11,38 +11,38 @@ const routes = () => {
11
11
  handler: "signup",
12
12
  path: "/signup",
13
13
  mode: "otp",
14
- validationKey: "signup",
14
+ validation: "signup",
15
15
  },
16
16
  {
17
17
  method: "post",
18
18
  handler: "verifyOTP",
19
19
  path: "/verify-otp",
20
- validationKey: "verifyOTP",
20
+ validation: "verifyOTP",
21
21
  },
22
22
  {
23
23
  method: "post",
24
24
  handler: "login",
25
25
  path: "/login",
26
26
  mode: "otp",
27
- validationKey: "login",
27
+ validation: "login",
28
28
  },
29
29
  {
30
30
  method: "post",
31
31
  handler: "resendOTP",
32
32
  path: "/resend-otp",
33
- validationKey: "resendOTP",
33
+ validation: "resendOTP",
34
34
  },
35
35
  {
36
36
  method: "post",
37
37
  handler: "forgotPassword",
38
38
  path: "/forgot-password",
39
- validationKey: "forgotPassword",
39
+ validation: "forgotPassword",
40
40
  },
41
41
  {
42
42
  method: "post",
43
43
  handler: "resetPassword",
44
44
  path: "/reset-password",
45
- validationKey: "resetPassword",
45
+ validation: "resetPassword",
46
46
  },
47
47
  {
48
48
  method: "get",
@@ -67,10 +67,10 @@ const routes = () => {
67
67
  ];
68
68
  };
69
69
  export const authCollection = collection({
70
- modelName: "User",
71
- reqType: "auth",
72
- routeName: "auth",
73
- routesArray: routes(),
70
+ model: "User",
71
+ type: "auth",
72
+ route: "auth",
73
+ routes: routes(),
74
74
  });
75
75
  export default authCollection;
76
76
  //# sourceMappingURL=auth.collection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.collection.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,iBAAiB,GAAG,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC;IAE3D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,GAAY,EAAE;IAC3B,OAAO;QACL;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,QAAQ;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,aAAa,EAAE,OAAO;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,WAAW;SAC3B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,gBAAgB;SAChC;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,eAAe;SAC/B;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"auth.collection.js","sourceRoot":"","sources":["../../../../src/js/auth/builtin/auth.collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAI/C,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE;IACtC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC;IAEhD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,GAAY,EAAE;IAC3B,OAAO;QACL;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,QAAQ;SACrB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,WAAW;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,OAAO;SACpB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,WAAW;SACxB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,gBAAgB;SAC7B;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,eAAe;SAC5B;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,SAAS;SAChB;QACD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;QACD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { Route, ValidationsObj } from "../types/Collection.ts";
2
2
  import type { Request, Response } from "express";
3
- declare const forgotPassword: ({ modelName, routeName, validationsObj, routeObj, }: {
4
- modelName: string;
5
- routeName: string;
6
- validationsObj: ValidationsObj;
3
+ declare const forgotPassword: ({ model, route, validations, routeObj, }: {
4
+ model: string;
5
+ route: string;
6
+ validations: ValidationsObj;
7
7
  routeObj: Route;
8
8
  }) => (req: Request, res: Response) => Promise<void>;
9
9
  export default forgotPassword;
@@ -1 +1 @@
1
- {"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOjD,QAAA,MAAM,cAAc,GAAI,qDAKrB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAuC1C,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"forgotPassword.d.ts","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOjD,QAAA,MAAM,cAAc,GAAI,0CAKrB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,cAAc,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;CACjB,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAuC1C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -5,13 +5,17 @@ import getUser from "./utils/getUser.js";
5
5
  import getValidationKey from "../utils/validationKeyError.js";
6
6
  import getErrorDetail from "../utils/getErrorDetail.js";
7
7
  import { getEnvs } from "../config/envs.js";
8
- const forgotPassword = ({ modelName, routeName, validationsObj, routeObj, }) => {
8
+ const forgotPassword = ({ model, route, validations, routeObj, }) => {
9
9
  return async (req, res) => {
10
+ // get dynamic email and password
10
11
  const { authConfigObj } = getEnvs();
11
12
  const { fieldsObj } = authConfigObj;
12
13
  const emailKey = fieldsObj?.email;
13
- const validationObj = getValidationKey(routeObj, validationsObj);
14
+ // validationObj
15
+ const validationObj = getValidationKey(routeObj, validations);
16
+ // validate
14
17
  const body = validate(validationObj, req.body, routeObj);
18
+ // if no email
15
19
  if (!req.body?.[emailKey])
16
20
  throw new AppError({
17
21
  message: `${emailKey} is required.`,
@@ -19,18 +23,20 @@ const forgotPassword = ({ modelName, routeName, validationsObj, routeObj, }) =>
19
23
  hint: `Provide your ${emailKey} for resetting password.`,
20
24
  details: getErrorDetail(routeObj),
21
25
  });
26
+ // user
22
27
  await getUser({
23
- modelName,
24
- routeName,
28
+ model,
29
+ route,
25
30
  email: body[emailKey],
26
31
  routeObj,
27
32
  });
33
+ // send + create otp user
28
34
  await createOTPUser({
29
35
  body,
30
36
  res,
31
37
  purpose: "password_reset",
32
- routeName,
33
- modelName,
38
+ route,
39
+ model,
34
40
  routeObj,
35
41
  });
36
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,cAAc,GAAG,CAAC,EACtB,SAAS,EACT,SAAS,EACT,cAAc,EACd,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAGlC,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,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,eAAe;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,gBAAgB,QAAQ,0BAA0B;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAGL,MAAM,OAAO,CAAC;YACZ,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,QAAS,CAAW;YAChC,QAAQ;SACT,CAAC,CAAC;QAGH,MAAM,aAAa,CAAC;YAClB,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,gBAAgB;YACzB,SAAS;YACT,SAAS;YACT,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"forgotPassword.js","sourceRoot":"","sources":["../../../src/js/auth/forgotPassword.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC3C,iCAAiC;QACjC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAElC,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,WAAW;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,cAAc;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC;YACxB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,eAAe;gBACnC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,gBAAgB,QAAQ,0BAA0B;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,OAAO;QACP,MAAM,OAAO,CAAC;YACZ,KAAK;YACL,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,QAAS,CAAW;YAChC,QAAQ;SACT,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,aAAa,CAAC;YAClB,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,gBAAgB;YACzB,KAAK;YACL,KAAK;YACL,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Express } from "express";
2
2
  import type { Route, ValidationsObj, MongooseSchema } from "../types/Collection.ts";
3
- declare const auth: (app: Express, routeName: string, routes: Route[], modelName: string | undefined, validationsObj?: ValidationsObj, mongooseSchemaObj?: MongooseSchema) => void;
3
+ declare const auth: (app: Express, route: string, routes: Route[], model: string | undefined, validations?: ValidationsObj, schema?: MongooseSchema) => void;
4
4
  export default auth;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAShC,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,EACf,WAAW,MAAM,GAAG,SAAS,EAC7B,iBAAiB,cAAc,EAC/B,oBAAoB,cAAc,SAiDnC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACf,MAAM,wBAAwB,CAAC;AAShC,QAAA,MAAM,IAAI,GACR,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,QAAQ,KAAK,EAAE,EACf,OAAO,MAAM,GAAG,SAAS,EACzB,cAAc,cAAc,EAC5B,SAAS,cAAc,SAiDxB,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -5,7 +5,7 @@ import registerModel from "../lib/model.registry.js";
5
5
  import createOTPModel from "./utils/createOTPModel.js";
6
6
  import protect from "../middleware/auth.middleware.js";
7
7
  import getValidationsObj from "./builtin/getValidations.js";
8
- const auth = (app, routeName, routes, modelName, validationsObj, mongooseSchemaObj) => {
8
+ const auth = (app, route, routes, model, validations, schema) => {
9
9
  const { apiVersion, authConfigObj } = getEnvs();
10
10
  let builtInValidation = null;
11
11
  if (authConfigObj?.mode === "builtin") {
@@ -16,20 +16,28 @@ const auth = (app, routeName, routes, modelName, validationsObj, mongooseSchemaO
16
16
  ? { ...item, mode: authConfigObj.signupMode }
17
17
  : item);
18
18
  }
19
- envs.userModelName = modelName;
20
- if (!mongooseSchemaObj)
19
+ // set userModelName in envs
20
+ envs.userModelName = model;
21
+ if (!schema)
21
22
  throw new Error("User model schema should also be written in auth collection");
22
- const otpUserModel = createOTPModel(routeName, mongooseSchemaObj);
23
+ // === create otp model ===
24
+ // const otpRoute = routes.some((r) => r.mode === "otp");
25
+ // if (otpRoute) {
26
+ const otpUserModel = createOTPModel(route, schema);
23
27
  registerModel["otpUser"] = otpUserModel;
28
+ // }
24
29
  for (const routeObj of routes) {
30
+ // auth.middleware.ts
25
31
  const middleware = [];
26
32
  if (routeObj.path === "/logout")
27
33
  middleware.push(protect(routeObj));
28
- app[routeObj.method](`/api/v${apiVersion}/${routeName}${routeObj.path}`, ...middleware, asyncHandler(handlerMap[routeObj.handler]({
29
- modelName,
30
- routeName,
34
+ app[routeObj.method](
35
+ // /api/v1/auth/signup
36
+ `/api/v${apiVersion}/${route}${routeObj.path}`, ...middleware, asyncHandler(handlerMap[routeObj.handler]({
37
+ model,
38
+ route,
31
39
  routeObj,
32
- validationsObj: builtInValidation || validationsObj,
40
+ validations: builtInValidation || validations,
33
41
  })));
34
42
  }
35
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAE5D,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,SAA6B,EAC7B,cAA+B,EAC/B,iBAAkC,EAClC,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,SAAU,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,UAAW,EAAE;gBAC/C,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,aAAa,GAAG,SAAmB,CAAC;IAEzC,IAAI,CAAC,iBAAiB;QACpB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IAKJ,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,iBAAkB,CAAC,CAAC;IACnE,aAAa,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IAGxC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAE9B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAElB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,GAAG,UAAU,EACb,YAAY,CACV,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;YACT,SAAS;YACT,QAAQ;YACR,cAAc,EAAE,iBAAiB,IAAI,cAAc;SACpD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,iBAAiB,MAAM,6BAA6B,CAAC;AAE5D,MAAM,IAAI,GAAG,CACX,GAAY,EACZ,KAAa,EACb,MAAe,EACf,KAAyB,EACzB,WAA4B,EAC5B,MAAuB,EACvB,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACtC,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,MAAO,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAW,EAAE,EAAE,CAClC,IAAI,CAAC,OAAO,KAAK,OAAO;YACtB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,SAAU,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAc,CAAC,UAAW,EAAE;gBAC/C,CAAC,CAAC,IAAI,CACX,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,aAAa,GAAG,KAAe,CAAC;IAErC,IAAI,CAAC,MAAM;QACT,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IAEJ,2BAA2B;IAC3B,yDAAyD;IACzD,kBAAkB;IAClB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,EAAE,MAAO,CAAC,CAAC;IACpD,aAAa,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;IACxC,IAAI;IAEJ,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,qBAAqB;QACrB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClB,sBAAsB;QACtB,SAAS,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAC9C,GAAG,UAAU,EACb,YAAY,CACV,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,KAAK;YACL,KAAK;YACL,QAAQ;YACR,WAAW,EAAE,iBAAiB,IAAI,WAAW;SAC9C,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.ts";
3
- declare const login: ({ modelName, routeObj, routeName, validationsObj, }: {
4
- modelName: string;
3
+ declare const login: ({ model, routeObj, route, validations, }: {
4
+ model: string;
5
5
  routeObj: Route;
6
- routeName: string;
7
- validationsObj: ValidationsObj;
6
+ route: string;
7
+ validations: ValidationsObj;
8
8
  }) => (req: Request, res: Response) => Promise<void>;
9
9
  export default login;
10
10
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQpE,QAAA,MAAM,KAAK,GAAI,qDAKZ;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgC1C,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQpE,QAAA,MAAM,KAAK,GAAI,0CAKZ;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,kBAgC1C,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -4,14 +4,18 @@ import AppError from "../utils/AppError.js";
4
4
  import getValidationKey from "../utils/validationKeyError.js";
5
5
  import getErrorDetail from "../utils/getErrorDetail.js";
6
6
  import { getEnvs } from "../config/envs.js";
7
- const login = ({ modelName, routeObj, routeName, validationsObj, }) => {
7
+ const login = ({ model, routeObj, route, validations, }) => {
8
8
  return async (req, res) => {
9
+ // get dynamic email and password
9
10
  const { authConfigObj } = getEnvs();
10
11
  const { fieldsObj } = authConfigObj;
11
12
  const emailKey = fieldsObj?.email;
12
13
  const passwordKey = fieldsObj?.password;
13
- const validationObj = getValidationKey(routeObj, validationsObj);
14
+ // validationObj
15
+ const validationObj = getValidationKey(routeObj, validations);
16
+ // validate
14
17
  const body = validate(validationObj, req.body, routeObj);
18
+ // if no email or password in validation
15
19
  if (!req.body?.[emailKey] || !req.body?.[passwordKey])
16
20
  throw new AppError({
17
21
  message: `${emailKey} and ${passwordKey} are required.`,
@@ -23,8 +27,8 @@ const login = ({ modelName, routeObj, routeName, validationsObj, }) => {
23
27
  body,
24
28
  res,
25
29
  purpose: "login",
26
- routeName,
27
- modelName,
30
+ route,
31
+ model,
28
32
  routeObj,
29
33
  req,
30
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EACT,cAAc,GAMf,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC;QAGxC,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,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAY,CAAC;YACrD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,QAAQ,WAAW,gBAAgB;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,WAAW,QAAQ,QAAQ,WAAW,YAAY;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YAClC,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,OAAO;YAChB,SAAS;YACT,SAAS;YACT,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/js/auth/login.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,KAAK,GAAG,CAAC,EACb,KAAK,EACL,QAAQ,EACR,KAAK,EACL,WAAW,GAMZ,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAC3C,iCAAiC;QACjC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;QACpC,MAAM,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC;QAClC,MAAM,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC;QAExC,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,WAAW;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,wCAAwC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAY,CAAC;YACrD,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,GAAG,QAAQ,QAAQ,WAAW,gBAAgB;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,WAAW,QAAQ,QAAQ,WAAW,YAAY;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QAEL,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAK,CAAC,CAAC;YAClC,IAAI;YACJ,GAAG;YACH,OAAO,EAAE,OAAO;YAChB,KAAK;YACL,KAAK;YACL,QAAQ;YACR,GAAG;SACJ,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}