@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
@@ -1 +1 @@
1
- {"version":3,"file":"authorizeAccess.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/authorizeAccess.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,GAMJ,EAAE,EAAE;IAEH,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc;QACvE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mDAAmD;YAC5D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,uHAAuH;YAC7H,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW;QACnE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,oEAAoE;YAC1E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAG1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,0BAA0B,CAAC,CAAC;QACzD,MAAM,CACJ,MAAM,EACN,eAAe,EACf,gGAAgG,SAAS,eAAe,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,IAAI,GAAG,CACxK,CAAC;IACJ,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,0GAA0G;gBAChH,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YACtB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,0GAA0G;gBAChH,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"authorizeAccess.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/authorizeAccess.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,GAAG,GAMJ,EAAE,EAAE;IACH,sCAAsC;IACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QACjE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,iDAAiD;YAC1D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iHAAiH;YACvH,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAEL,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW;QAC/D,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,6BAA6B;YACtC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,4DAA4D;YAClE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAEL,OAAO;IACP,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IAC5E,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAE1C,gCAAgC;IAChC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,0BAA0B,CAAC,CAAC;QACzD,MAAM,CACJ,MAAM,EACN,eAAe,EACf,2FAA2F,KAAK,eAAe,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,IAAI,GAAG,CAC/J,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qGAAqG;gBAC3G,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;IAED,+BAA+B;IAC/B,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YACtB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,qGAAqG;gBAC3G,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Route } from "../../types/Collection.js";
2
- declare const getItem: ({ modelName, routeName, path, _id, clean, routeObj, }: {
3
- modelName: string;
4
- routeName: string;
2
+ declare const getItem: ({ model, route, path, _id, clean, routeObj, }: {
3
+ model: string;
4
+ route: string;
5
5
  path?: string;
6
6
  _id?: string;
7
7
  clean?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"getItem.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMvD,QAAA,MAAM,OAAO,GAAU,uDAOpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;CACjB,iBA8EA,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"getItem.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMvD,QAAA,MAAM,OAAO,GAAU,+CAOpB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;CACjB,iBA8EA,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -2,32 +2,38 @@ import AppError from "../../utils/AppError.js";
2
2
  import getErrorDetail from "../../utils/getErrorDetail.js";
3
3
  import getModel from "../../utils/getModel.js";
4
4
  import { sanitizeMany, sanitizeOne } from "../../utils/sanitize.js";
5
- const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj, }) => {
6
- const Model = getModel({ modelName, routeName, routeObj });
5
+ const getItem = async ({ model, route, path, _id, clean = true, routeObj, }) => {
6
+ // get model
7
+ const Model = getModel({ model, route, routeObj });
8
+ // initialize data
7
9
  let data = null;
8
10
  try {
9
11
  let query;
12
+ // if _id provided?? find 1 item else find all
10
13
  if (_id) {
11
14
  query = Model.findById(_id);
12
15
  }
13
16
  else {
14
17
  query = Model.find();
15
18
  }
16
- const populateKey = routeObj?.mongooseConfigObj?.populateKey;
17
- if (populateKey) {
18
- if (typeof populateKey === "boolean")
19
+ // populate - populate
20
+ const populate = routeObj?.config?.populate;
21
+ if (populate) {
22
+ if (typeof populate === "boolean")
19
23
  throw new AppError({
20
- hint: "populateKey as boolean must be 'false' only. Else it should be string, representing the ref in your mongooseSchemaObj.",
21
- message: "Invalid populateKey",
24
+ hint: "populate as boolean must be 'false' only. Else it should be string, representing the ref in your schema.",
25
+ message: "Invalid populate",
22
26
  statusCode: 409,
23
27
  details: getErrorDetail(routeObj),
24
28
  });
25
- query = query.populate(populateKey, "_id email");
29
+ query = query.populate(populate, "_id email");
26
30
  }
27
31
  data = await query;
28
32
  }
29
33
  catch (error) {
34
+ // get err message
30
35
  const msg = error.message;
36
+ // if _id is wrong
31
37
  if (msg.includes("Cast to ObjectId failed")) {
32
38
  throw new AppError({
33
39
  message: `Invalid mongoose _id`,
@@ -37,6 +43,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj
37
43
  });
38
44
  }
39
45
  else {
46
+ // general purpose error
40
47
  const err = error;
41
48
  console.log(err);
42
49
  throw new AppError({
@@ -48,6 +55,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj
48
55
  });
49
56
  }
50
57
  }
58
+ // if item(s) not found
51
59
  const notFound = Array.isArray(data) ? data.length === 0 : data == null;
52
60
  if (notFound) {
53
61
  throw new AppError({
@@ -56,7 +64,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj
56
64
  hint: _id
57
65
  ? `Check the '${path ?? "path"}' you provided in url: /${_id}`
58
66
  : "Hit a POST request and create an item",
59
- details: getErrorDetail(routeObj, modelName),
67
+ details: getErrorDetail(routeObj, model),
60
68
  });
61
69
  }
62
70
  if (clean) {
@@ -64,6 +72,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj
64
72
  ? sanitizeMany(data, routeObj)
65
73
  : sanitizeOne(data.toObject(), routeObj);
66
74
  }
75
+ // return item or items
67
76
  return data;
68
77
  };
69
78
  export default getItem;
@@ -1 +1 @@
1
- {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"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"}
@@ -2,36 +2,36 @@ const collection = (vals) => {
2
2
  return vals;
3
3
  };
4
4
  const healthCollection = collection({
5
- routeName: "health",
6
- reqType: "health",
7
- routesArray: [
5
+ route: "health",
6
+ type: "health",
7
+ routes: [
8
8
  {
9
9
  handler: "healthGet",
10
10
  method: "get",
11
11
  path: "/",
12
- authRole: "public",
13
- validationKey: false,
12
+ auth: "public",
13
+ validation: false,
14
14
  },
15
15
  {
16
16
  handler: "healthPost",
17
17
  method: "post",
18
18
  path: "/",
19
- authRole: "public",
20
- validationKey: false,
19
+ auth: "public",
20
+ validation: false,
21
21
  },
22
22
  {
23
23
  handler: "healthPatch",
24
24
  method: "patch",
25
25
  path: "/",
26
- authRole: "public",
27
- validationKey: false,
26
+ auth: "public",
27
+ validation: false,
28
28
  },
29
29
  {
30
30
  handler: "healthDelete",
31
31
  method: "delete",
32
32
  path: "/",
33
- authRole: "public",
34
- validationKey: false,
33
+ auth: "public",
34
+ validation: false,
35
35
  },
36
36
  ],
37
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"health.collection.js","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE;QACX;YACE,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"health.collection.js","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,UAAU,CAAC;IAClC,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE;QACN;YACE,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK;SAClB;QACD;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK;SAClB;QACD;YACE,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK;SAClB;QACD;YACE,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,KAAK;SAClB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Express } from "express";
2
2
  import type { Route } from "../types/Collection.ts";
3
- declare const health: (app: Express, routeName: string, routes: Route[]) => void;
3
+ declare const health: (app: Express, route: string, routes: Route[]) => void;
4
4
  export default health;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,MAAM,GACV,KAAK,OAAO,EACZ,WAAW,MAAM,EACjB,QAAQ,KAAK,EAAE,SAUhB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,MAAM,GACV,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,QAAQ,KAAK,EAAE,SAUhB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { getEnvs } from "../config/envs.js";
2
2
  import handlerMap from "../config/handlerMap.js";
3
- const health = (app, routeName, routes) => {
3
+ const health = (app, route, routes) => {
4
4
  const { apiVersion } = getEnvs();
5
5
  for (const routeObj of routes) {
6
- app[routeObj.method](`/api/v${apiVersion}/${routeName}${routeObj.path}`, handlerMap[routeObj.handler]);
6
+ app[routeObj.method](`/api/v${apiVersion}/${route}${routeObj.path}`, handlerMap[routeObj.handler]);
7
7
  }
8
8
  };
9
9
  export default health;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,GAAG,CACb,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,GAAG,CACb,GAAY,EACZ,KAAa,EACb,MAAe,EACf,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAC9C,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -7,7 +7,7 @@ export const OAUTH_PROVIDERS = [
7
7
  "microsoft",
8
8
  "discord",
9
9
  "linkedin",
10
- "x",
10
+ "x", // formerly Twitter
11
11
  "gitlab",
12
12
  "spotify",
13
13
  "twitch",
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthProviders.js","sourceRoot":"","sources":["../../../src/js/lib/OAuthProviders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,WAAW;IACX,SAAS;IACT,UAAU;IACV,GAAG;IACH,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC"}
1
+ {"version":3,"file":"OAuthProviders.js","sourceRoot":"","sources":["../../../src/js/lib/OAuthProviders.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,WAAW;IACX,SAAS;IACT,UAAU;IACV,GAAG,EAAE,mBAAmB;IACxB,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,SAAS;CACD,CAAC"}
package/dist/js/lib/db.js CHANGED
@@ -34,5 +34,6 @@ const connectDB = async ({ isOffline, mongoDBURI, databaseName, }) => {
34
34
  process.exit(1);
35
35
  }
36
36
  };
37
+ // export
37
38
  export default connectDB;
38
39
  //# sourceMappingURL=db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CACJ,GAAG,EACH,IAAI,EACJ,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACtC,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAGF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CACJ,GAAG,EACH,IAAI,EACJ,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACtC,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,SAAS;AACT,eAAe,SAAS,CAAC"}
@@ -1,10 +1,19 @@
1
1
  import type { SchemaDefinitionProperty } from "mongoose";
2
2
  type Primitive = string | number | boolean | Date;
3
+ /**
4
+ * A field can now be:
5
+ * 1. UnifiedField → { mongoose: ..., zod: ... }
6
+ * 2. Classic Mongoose definition (backward compatible)
7
+ * 3. Primitive value (also backward compatible)
8
+ */
3
9
  type ModelField = {
4
10
  mongoose: SchemaDefinitionProperty<unknown>;
5
11
  zod?: any;
6
12
  } | SchemaDefinitionProperty<unknown> | Primitive;
7
13
  type ModelDefinition = Record<string, ModelField>;
8
- declare const createModel: (name: string, definition: ModelDefinition, routeName?: string) => any;
14
+ /**
15
+ * Creates (or returns existing) Mongoose model.
16
+ */
17
+ declare const createModel: (name: string, definition: ModelDefinition, route?: string) => any;
9
18
  export default createModel;
10
19
  //# sourceMappingURL=model.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAQlD,KAAK,UAAU,GACX;IAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1D,wBAAwB,CAAC,OAAO,CAAC,GACjC,SAAS,CAAC;AAEd,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AA8DlD,QAAA,MAAM,WAAW,GACf,MAAM,MAAM,EACZ,YAAY,eAAe,EAC3B,YAAY,MAAM,KACjB,GA6BF,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAElD;;;;;GAKG;AACH,KAAK,UAAU,GACX;IAAE,QAAQ,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAE,GAC1D,wBAAwB,CAAC,OAAO,CAAC,GACjC,SAAS,CAAC;AAEd,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AA2DlD;;GAEG;AACH,QAAA,MAAM,WAAW,GACf,MAAM,MAAM,EACZ,YAAY,eAAe,EAC3B,QAAQ,MAAM,KACb,GA6BF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -2,19 +2,25 @@ import mongoose from "mongoose";
2
2
  import buildSchema from "./schema.builder.js";
3
3
  import AppLog from "../utils/AppLog.js";
4
4
  import AppError from "../utils/AppError.js";
5
+ /**
6
+ * Extracts the pure Mongoose definition from any supported field format.
7
+ */
5
8
  const extractMongooseDefinition = (value) => {
9
+ // Case 1: Unified field → { mongoose, zod }
6
10
  if (value &&
7
11
  typeof value === "object" &&
8
12
  !Array.isArray(value) &&
9
13
  "mongoose" in value) {
10
14
  return value.mongoose;
11
15
  }
16
+ // Case 2: Already a classic Mongoose schema definition
12
17
  if (value &&
13
18
  typeof value === "object" &&
14
19
  !Array.isArray(value) &&
15
20
  "type" in value) {
16
21
  return value;
17
22
  }
23
+ // Case 3: Primitive values (string | number | boolean | Date)
18
24
  switch (typeof value) {
19
25
  case "number":
20
26
  return { type: Number, default: value };
@@ -26,27 +32,35 @@ const extractMongooseDefinition = (value) => {
26
32
  if (value instanceof Date) {
27
33
  return { type: Date, default: value };
28
34
  }
35
+ // Fallback (arrays, nested objects, etc.)
29
36
  return value;
30
37
  }
31
38
  };
39
+ /**
40
+ * Converts the whole definition object into a clean Mongoose-compatible definition.
41
+ */
32
42
  const normalizeDefinition = (definition) => {
33
43
  return Object.fromEntries(Object.entries(definition).map(([key, value]) => [
34
44
  key,
35
45
  extractMongooseDefinition(value),
36
46
  ]));
37
47
  };
38
- const createModel = (name, definition, routeName) => {
48
+ /**
49
+ * Creates (or returns existing) Mongoose model.
50
+ */
51
+ const createModel = (name, definition, route) => {
52
+ // Return existing model if already registered
39
53
  if (mongoose.modelNames().includes(name)) {
40
54
  return mongoose.model(name);
41
55
  }
42
56
  if (!definition) {
43
57
  console.log(name);
44
58
  throw new AppError({
45
- message: `mongooseSchema for ${routeName} is required`,
59
+ message: `schema for ${route} is required`,
46
60
  statusCode: 409,
47
61
  hint: name.toLowerCase() === "users" || name.toLowerCase() === "user"
48
- ? "If modelName for User model is written in auth collection, make sure mongooseSchema is written there too."
49
- : `Make sure mongooseSchema is also written in ${routeName?.endsWith("s") ? routeName.slice(0, -1) : routeName} collection.`,
62
+ ? "If model for User model is written in auth collection, make sure schema is written there too."
63
+ : `Make sure schema is also written in ${route?.endsWith("s") ? route.slice(0, -1) : route} collection.`,
50
64
  details: {
51
65
  handler: "",
52
66
  method: "",
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ // GLOBAL MODEL REGISTRY
1
2
  import createModel from "./model.factory.js";
2
3
  const registerModel = {};
3
4
  export default registerModel;
@@ -1 +1 @@
1
- {"version":3,"file":"model.registry.js","sourceRoot":"","sources":["../../../src/js/lib/model.registry.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,MAAM,aAAa,GAAmD,EAAE,CAAC;AAEzE,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"model.registry.js","sourceRoot":"","sources":["../../../src/js/lib/model.registry.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,MAAM,aAAa,GAAmD,EAAE,CAAC;AAEzE,eAAe,aAAa,CAAC"}
@@ -87,6 +87,26 @@ const userRefArray = [
87
87
  ref: "User",
88
88
  },
89
89
  ];
90
+ /*
91
+ const customRef = (model: string): ObjectIdField => ({
92
+ type: ObjectId,
93
+ ref: model,
94
+ });
95
+
96
+ const customRequiredRef = (model: string): ObjectIdField => ({
97
+ type: ObjectId,
98
+ ref: model,
99
+ required: true,
100
+ });
101
+
102
+ const customRefArray = (model: string) =>
103
+ [
104
+ {
105
+ type: ObjectId,
106
+ ref: model,
107
+ },
108
+ ] as const;
109
+ */
90
110
  const timestamps = {
91
111
  createdAt: dateNow,
92
112
  updatedAt: dateNow,
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ const buildSchema = (definition) => {
3
3
  const schemaObject = {};
4
4
  for (const key in definition) {
5
5
  const value = definition[key];
6
+ // CASE 1: primitive constructors (String, Number, Boolean, Date, etc.)
6
7
  if (value === String ||
7
8
  value === Number ||
8
9
  value === Boolean ||
@@ -11,10 +12,12 @@ const buildSchema = (definition) => {
11
12
  schemaObject[key] = { type: value };
12
13
  continue;
13
14
  }
15
+ // CASE 2: already mongoose-style object
14
16
  if (typeof value === "object" && value !== null && !Array.isArray(value)) {
15
17
  schemaObject[key] = value;
16
18
  continue;
17
19
  }
20
+ // CASE 3: array schema
18
21
  if (Array.isArray(value)) {
19
22
  schemaObject[key] = value;
20
23
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.builder.js","sourceRoot":"","sources":["../../../src/js/lib/schema.builder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAK5C,MAAM,WAAW,GAAG,CAAC,UAAiC,EAAU,EAAE;IAChE,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAG9B,IACE,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,OAAO;YACjB,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,MAAM,EAChB,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAGD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,SAAS;QACX,CAAC;QAGD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;QACvC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"schema.builder.js","sourceRoot":"","sources":["../../../src/js/lib/schema.builder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAK5C,MAAM,WAAW,GAAG,CAAC,UAAiC,EAAU,EAAE;IAChE,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAE9B,uEAAuE;QACvE,IACE,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,OAAO;YACjB,KAAK,KAAK,IAAI;YACd,KAAK,KAAK,MAAM,EAChB,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;QACvC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import type { UnifiedField } from "./unified.types.ts";
2
+ /**
3
+ * =========================
4
+ * EXPORT
5
+ * =========================
6
+ */
2
7
  export declare const fields: {
3
8
  readonly requiredString: UnifiedField;
4
9
  readonly optionalString: UnifiedField;
@@ -1 +1 @@
1
- {"version":3,"file":"unified.fields.d.ts","sourceRoot":"","sources":["../../../src/js/lib/unified.fields.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAwbvD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAC5C,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AAEzD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"unified.fields.d.ts","sourceRoot":"","sources":["../../../src/js/lib/unified.fields.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmbvD;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCT,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAC5C,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;AAEzD,eAAe,MAAM,CAAC"}
@@ -1,9 +1,15 @@
1
+ // fields.ts
1
2
  import { z } from "zod";
2
3
  import mongoose from "mongoose";
3
4
  import { ROLES } from "./roles.js";
4
5
  import { OAUTH_PROVIDERS } from "./OAuthProviders.js";
5
6
  import otpPurposes from "../utils/otpPurposes.js";
6
7
  const { ObjectId } = mongoose.Schema.Types;
8
+ /**
9
+ * =========================
10
+ * STRING FIELDS
11
+ * =========================
12
+ */
7
13
  const requiredString = {
8
14
  mongoose: {
9
15
  type: String,
@@ -55,6 +61,11 @@ const password = {
55
61
  },
56
62
  zod: z.string().min(6, "Password must be at least 6 characters"),
57
63
  };
64
+ /**
65
+ * =========================
66
+ * NUMBER FIELDS
67
+ * =========================
68
+ */
58
69
  const requiredNumber = {
59
70
  mongoose: {
60
71
  type: Number,
@@ -69,6 +80,11 @@ const optionalNumber = {
69
80
  },
70
81
  zod: z.coerce.number().default(0),
71
82
  };
83
+ /**
84
+ * =========================
85
+ * BOOLEAN FIELDS
86
+ * =========================
87
+ */
72
88
  const boolean = {
73
89
  mongoose: { type: Boolean },
74
90
  zod: z.boolean(),
@@ -81,6 +97,11 @@ const booleanFalse = {
81
97
  mongoose: { type: Boolean, default: false },
82
98
  zod: z.boolean().default(false),
83
99
  };
100
+ /**
101
+ * =========================
102
+ * DATE FIELDS
103
+ * =========================
104
+ */
84
105
  const dateNow = {
85
106
  mongoose: {
86
107
  type: Date,
@@ -101,6 +122,11 @@ const optionalDate = {
101
122
  },
102
123
  zod: z.coerce.date().optional(),
103
124
  };
125
+ /**
126
+ * =========================
127
+ * ARRAYS
128
+ * =========================
129
+ */
104
130
  const stringArray = {
105
131
  mongoose: {
106
132
  type: [String],
@@ -166,6 +192,11 @@ const objectArray = {
166
192
  return [{}];
167
193
  }, z.array(z.object({})).default([{}])),
168
194
  };
195
+ /**
196
+ * =========================
197
+ * OBJECT ID / REFERENCES
198
+ * =========================
199
+ */
169
200
  const objectId = {
170
201
  mongoose: { type: ObjectId },
171
202
  zod: z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId"),
@@ -203,6 +234,11 @@ const userRefArray = {
203
234
  .array(z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId"))
204
235
  .default([]),
205
236
  };
237
+ /**
238
+ * =========================
239
+ * ENUMS & SPECIAL FIELDS
240
+ * =========================
241
+ */
206
242
  const provider = {
207
243
  mongoose: {
208
244
  type: String,
@@ -259,10 +295,20 @@ const purposeOTP = {
259
295
  },
260
296
  zod: z.enum(otpPurposes),
261
297
  };
298
+ /**
299
+ * =========================
300
+ * TIMESTAMPS (special case)
301
+ * =========================
302
+ */
262
303
  const timestamps = {
263
304
  createdAt: dateNow,
264
305
  updatedAt: dateNow,
265
306
  };
307
+ /**
308
+ * =========================
309
+ * FILE METADATA
310
+ * =========================
311
+ */
266
312
  const requiredFileMetaData = {
267
313
  mongoose: [
268
314
  {
@@ -335,6 +381,11 @@ const optionalEmptyFileMetaData = {
335
381
  height: z.number().optional(),
336
382
  }).optional()),
337
383
  };
384
+ /**
385
+ * =========================
386
+ * ENCRYPTED STRING
387
+ * =========================
388
+ */
338
389
  const encryptedString = {
339
390
  mongoose: {
340
391
  str: { type: String, required: true },
@@ -349,6 +400,11 @@ const encryptedString = {
349
400
  securedPrivateKey: z.string(),
350
401
  }),
351
402
  };
403
+ /**
404
+ * =========================
405
+ * EXPORT
406
+ * =========================
407
+ */
352
408
  export const fields = {
353
409
  requiredString,
354
410
  optionalString,