@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
@@ -3,26 +3,26 @@ import { cloudinary, setupCloudinary } from "../config/cloudinary.js";
3
3
  import AppLog from "../utils/AppLog.js";
4
4
  const handleDeleteFile = async (routeObj, body, item) => {
5
5
  setupCloudinary(routeObj);
6
- const fileArray = routeObj.fileArray;
7
- if (!Array.isArray(fileArray) || fileArray.length === 0)
6
+ const files = routeObj.files;
7
+ if (!Array.isArray(files) || files.length === 0)
8
8
  throw new AppError({
9
- message: "fileArray is required.",
9
+ message: "files is required.",
10
10
  statusCode: 400,
11
- hint: "Provide fileArray in the collection routeObj configuration for delete handlers.",
11
+ hint: "Provide files in the collection routeObj configuration for delete handlers.",
12
12
  details: {
13
13
  handler: routeObj.handler,
14
14
  method: routeObj.method,
15
15
  path: routeObj.path,
16
16
  },
17
17
  });
18
- if (fileArray.length > 1)
19
- AppLog("warn", "deleteFile", `fileArray in collection has more than 1 items for handler: '${routeObj.handler}', method: '${routeObj.method}' and path: '${routeObj.path}' to delete.`);
20
- const mongooseField = fileArray[0]?.mongooseSchemaFieldName;
18
+ if (files.length > 1)
19
+ AppLog("warn", "deleteFile", `files in collection has more than 1 items for handler: '${routeObj.handler}', method: '${routeObj.method}' and path: '${routeObj.path}' to delete.`);
20
+ const mongooseField = files[0]?.schemaField;
21
21
  if (typeof mongooseField !== "string" || mongooseField.trim() === "")
22
22
  throw new AppError({
23
- message: "mongooseSchemaFieldName is required.",
23
+ message: "schemaField is required.",
24
24
  statusCode: 400,
25
- hint: "Provide mongooseSchemaFieldName in collection -> routeObj -> fileArray [{...}].",
25
+ hint: "Provide schemaField in collection -> routeObj -> files [{...}].",
26
26
  details: {
27
27
  handler: routeObj.handler,
28
28
  method: routeObj.method,
@@ -34,41 +34,41 @@ const handleDeleteFile = async (routeObj, body, item) => {
34
34
  throw new AppError({
35
35
  message: `'${mongooseField}' field not found.`,
36
36
  statusCode: 400,
37
- hint: "Ensure mongooseSchemaFieldName matches an existing schema field.",
37
+ hint: "Ensure schemaField matches an existing schema field.",
38
38
  details: {
39
39
  handler: routeObj.handler,
40
40
  method: routeObj.method,
41
41
  path: routeObj.path,
42
42
  },
43
43
  });
44
- const validationIdentifierKey = fileArray[0]?.validationIdentifierKey;
45
- if (typeof validationIdentifierKey !== "string" ||
46
- validationIdentifierKey.trim() === "")
44
+ const validationKey = files[0]?.validationKey;
45
+ if (typeof validationKey !== "string" ||
46
+ validationKey.trim() === "")
47
47
  throw new AppError({
48
- message: "validationIdentifierKey is required.",
48
+ message: "validationKey is required.",
49
49
  statusCode: 400,
50
- hint: "Provide validationIdentifierKey in collection -> routeObj -> fileArray [{...}].",
50
+ hint: "Provide validationKey in collection -> routeObj -> files [{...}].",
51
51
  details: {
52
52
  handler: routeObj.handler,
53
53
  method: routeObj.method,
54
54
  path: routeObj.path,
55
55
  },
56
56
  });
57
- if (!body[validationIdentifierKey])
57
+ if (!body[validationKey])
58
58
  throw new AppError({
59
- message: `'${validationIdentifierKey}' is required.`,
59
+ message: `'${validationKey}' is required.`,
60
60
  statusCode: 400,
61
- hint: `Provide '${validationIdentifierKey}' in the request body.`,
61
+ hint: `Provide '${validationKey}' in the request body.`,
62
62
  details: {
63
63
  handler: routeObj.handler,
64
64
  method: routeObj.method,
65
65
  path: routeObj.path,
66
66
  },
67
67
  });
68
- const targetItem = mongooseFilesArray.find((el) => el._id.toString() === body[validationIdentifierKey]);
68
+ const targetItem = mongooseFilesArray.find((el) => el._id.toString() === body[validationKey]);
69
69
  if (!targetItem)
70
70
  throw new AppError({
71
- message: `File with id '${body[validationIdentifierKey]}' not found.`,
71
+ message: `File with id '${body[validationKey]}' not found.`,
72
72
  statusCode: 404,
73
73
  hint: "Verify the provided file identifier exists in the stored file array.",
74
74
  details: {
@@ -92,7 +92,7 @@ const handleDeleteFile = async (routeObj, body, item) => {
92
92
  await cloudinary.uploader.destroy(targetItem.storageKey);
93
93
  return {
94
94
  deleted: true,
95
- _id: body[validationIdentifierKey],
95
+ _id: body[validationKey],
96
96
  mongooseField,
97
97
  };
98
98
  };
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/js/upload/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/js/upload/delete.ts"],"names":[],"mappings":"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"}
@@ -37,26 +37,26 @@ const uploadFile = (file, routeObj) => {
37
37
  };
38
38
  const handleUpdateFile = async (req, routeObj, body, item) => {
39
39
  const reqFilesArray = Object.keys(req.files ?? {});
40
- const fileArray = routeObj.fileArray;
41
- if (!Array.isArray(fileArray) || fileArray.length === 0)
40
+ const files = routeObj.files;
41
+ if (!Array.isArray(files) || files.length === 0)
42
42
  throw new AppError({
43
- message: "fileArray is required.",
43
+ message: "files is required.",
44
44
  statusCode: 400,
45
- hint: "Provide fileArray in the collection routeObj configuration for update handlers.",
45
+ hint: "Provide files in the collection routeObj configuration for update handlers.",
46
46
  details: {
47
47
  handler: routeObj.handler,
48
48
  method: routeObj.method,
49
49
  path: routeObj.path,
50
50
  },
51
51
  });
52
- if (fileArray.length > 1)
53
- AppLog("warn", "updateFile", `fileArray in collection has more than 1 items for handler: '${routeObj.handler}', method: '${routeObj.method}' and path: '${routeObj.path}' to update.`);
54
- const mongooseField = fileArray[0]?.mongooseSchemaFieldName;
52
+ if (files.length > 1)
53
+ AppLog("warn", "updateFile", `files in collection has more than 1 items for handler: '${routeObj.handler}', method: '${routeObj.method}' and path: '${routeObj.path}' to update.`);
54
+ const mongooseField = files[0]?.schemaField;
55
55
  if (typeof mongooseField !== "string" || mongooseField.trim() === "")
56
56
  throw new AppError({
57
- message: "mongooseSchemaFieldName is required.",
57
+ message: "schemaField is required.",
58
58
  statusCode: 400,
59
- hint: "Provide mongooseSchemaFieldName in collection -> routeObj -> fileArray [{...}].",
59
+ hint: "Provide schemaField in collection -> routeObj -> files [{...}].",
60
60
  details: {
61
61
  handler: routeObj.handler,
62
62
  method: routeObj.method,
@@ -81,41 +81,41 @@ const handleUpdateFile = async (req, routeObj, body, item) => {
81
81
  throw new AppError({
82
82
  message: `'${mongooseField}' field not found.`,
83
83
  statusCode: 400,
84
- hint: "Ensure mongooseSchemaFieldName matches an existing schema field.",
84
+ hint: "Ensure schemaField matches an existing schema field.",
85
85
  details: {
86
86
  handler: routeObj.handler,
87
87
  method: routeObj.method,
88
88
  path: routeObj.path,
89
89
  },
90
90
  });
91
- const validationIdentifierKey = fileArray[0].validationIdentifierKey;
92
- if (typeof validationIdentifierKey !== "string" ||
93
- validationIdentifierKey.trim() === "")
91
+ const validationKey = files[0].validationKey;
92
+ if (typeof validationKey !== "string" ||
93
+ validationKey.trim() === "")
94
94
  throw new AppError({
95
- message: "validationIdentifierKey is required.",
95
+ message: "validationKey is required.",
96
96
  statusCode: 400,
97
- hint: "Provide validationIdentifierKey in collection -> routeObj -> fileArray [{...}].",
97
+ hint: "Provide validationKey in collection -> routeObj -> files [{...}].",
98
98
  details: {
99
99
  handler: routeObj.handler,
100
100
  method: routeObj.method,
101
101
  path: routeObj.path,
102
102
  },
103
103
  });
104
- if (!body[validationIdentifierKey])
104
+ if (!body[validationKey])
105
105
  throw new AppError({
106
- message: `'${validationIdentifierKey}' is required.`,
106
+ message: `'${validationKey}' is required.`,
107
107
  statusCode: 400,
108
- hint: `Provide '${validationIdentifierKey}' in the request body.`,
108
+ hint: `Provide '${validationKey}' in the request body.`,
109
109
  details: {
110
110
  handler: routeObj.handler,
111
111
  method: routeObj.method,
112
112
  path: routeObj.path,
113
113
  },
114
114
  });
115
- const oldItem = mongooseFilesArray.find((el) => el._id.toString() === body[validationIdentifierKey]);
115
+ const oldItem = mongooseFilesArray.find((el) => el._id.toString() === body[validationKey]);
116
116
  if (!oldItem)
117
117
  throw new AppError({
118
- message: `File with id '${body[validationIdentifierKey]}' not found.`,
118
+ message: `File with id '${body[validationKey]}' not found.`,
119
119
  statusCode: 404,
120
120
  hint: "Verify the provided file identifier exists in the stored file array.",
121
121
  details: {
@@ -130,7 +130,7 @@ const handleUpdateFile = async (req, routeObj, body, item) => {
130
130
  return {
131
131
  updated,
132
132
  mongooseField,
133
- _id: body[validationIdentifierKey],
133
+ _id: body[validationKey],
134
134
  };
135
135
  }
136
136
  };
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/js/upload/update.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAItE,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,UAAU,GAAG,CACjB,IAAyB,EACzB,QAAe,EACK,EAAE;IACtB,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE1B,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,aAAa,CAC9C;YACE,MAAM,EAAE,oBAAoB,IAAI,YAAY;SAC7C,EACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtB,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,OAAO,MAAM,CACX,IAAI,QAAQ,CAAC;oBACX,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE,8EAA8E;oBACpF,OAAO,EAAE;wBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;YAED,OAAO,CAAC;gBACN,GAAG,EAAE,MAAM,CAAC,UAAU;gBACtB,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,YAAY,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC5B,GAAY,EACZ,QAAe,EACf,IAAS,EACT,IAAS,EACT,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IAErC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iFAAiF;YACvF,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QACtB,MAAM,CACJ,MAAM,EACN,YAAY,EACZ,+DAA+D,QAAQ,CAAC,OAAO,eAAe,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,IAAI,cAAc,CACzJ,CAAC;IAEJ,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC;IAE5D,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;QAClE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iFAAiF;YACvF,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,IAAI,CAAC,aAAa,CAAC,MAAM;QACvB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,kDAAkD;YACxD,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAC1B,MAAM,CACJ,MAAM,EACN,YAAY,EACZ,0CAA0C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,OAAO,eAAe,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,IAAI,cAAc,CAC/K,CAAC;IAEJ,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IAE/C,IAAI,CAAC,kBAAkB;QACrB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,IAAI,aAAa,oBAAoB;YAC9C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,kEAAkE;YACxE,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,MAAM,uBAAuB,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,uBAAuB,CAAC;IAEtE,IACE,OAAO,uBAAuB,KAAK,QAAQ;QAC3C,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE;QAErC,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sCAAsC;YAC/C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iFAAiF;YACvF,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAChC,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,IAAI,uBAAuB,gBAAgB;YACpD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,YAAY,uBAAuB,wBAAwB;YACjE,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CACrC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,uBAAuB,CAAC,CACjE,CAAC;IAEF,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,iBAAiB,IAAI,CAAC,uBAAuB,CAAC,cAAc;YACrE,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sEAAsE;YAC5E,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IAEL,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,KAAM,CAAC,aAAa,CAAC,CAAC,CAAE,CAAE,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,CAAC;QAE/E,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEtD,OAAO;YACL,OAAO;YACP,aAAa;YACb,GAAG,EAAE,IAAI,CAAC,uBAAuB,CAAC;SACnC,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/js/upload/update.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { Route } from "../types/Collection.js";
2
- declare const getErrorDetail: (routeObj: Route, modelName?: string) => {
2
+ declare const getErrorDetail: (routeObj: Route, model?: string) => {
3
3
  handler: import("../types/Route.js").Handler;
4
4
  method: import("../types/Route.js").RouteMethod;
5
5
  path: import("../types/Routepath.js").RoutePath;
6
- modelName: string | undefined;
6
+ model: string | undefined;
7
7
  };
8
8
  export default getErrorDetail;
9
9
  //# sourceMappingURL=getErrorDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getErrorDetail.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getErrorDetail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,cAAc,GAAI,UAAU,KAAK,EAAE,YAAY,MAAM;;;;;CAO1D,CAAC;AAEF,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"getErrorDetail.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getErrorDetail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,cAAc,GAAI,UAAU,KAAK,EAAE,QAAQ,MAAM;;;;;CAOtD,CAAC;AAEF,eAAe,cAAc,CAAA"}
@@ -1,9 +1,9 @@
1
- const getErrorDetail = (routeObj, modelName) => {
1
+ const getErrorDetail = (routeObj, model) => {
2
2
  return {
3
3
  handler: routeObj.handler,
4
4
  method: routeObj.method,
5
5
  path: routeObj.path,
6
- modelName
6
+ model
7
7
  };
8
8
  };
9
9
  export default getErrorDetail;
@@ -1 +1 @@
1
- {"version":3,"file":"getErrorDetail.js","sourceRoot":"","sources":["../../../src/js/utils/getErrorDetail.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,CAAC,QAAe,EAAE,SAAkB,EAAE,EAAE;IAC7D,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"getErrorDetail.js","sourceRoot":"","sources":["../../../src/js/utils/getErrorDetail.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,CAAC,QAAe,EAAE,KAAc,EAAE,EAAE;IACzD,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { Route } from "../types/Collection.js";
2
- declare const getModel: ({ modelName, routeName, routeObj, }: {
3
- modelName: string;
4
- routeName?: string;
2
+ declare const getModel: ({ model, route, routeObj, }: {
3
+ model: string;
4
+ route?: string;
5
5
  routeObj?: Route;
6
6
  }) => any;
7
7
  export default getModel;
@@ -1 +1 @@
1
- {"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,qCAIf;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,QAsBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"getModel.d.ts","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,6BAIf;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,QAsBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,19 +1,19 @@
1
1
  import registerModel from "../lib/model.registry.js";
2
2
  import AppError from "./AppError.js";
3
3
  import getErrorDetail from "./getErrorDetail.js";
4
- const getModel = ({ modelName, routeName, routeObj, }) => {
5
- if (!modelName) {
4
+ const getModel = ({ model, route, routeObj, }) => {
5
+ if (!model) {
6
6
  throw new AppError({
7
- message: `Model name is required for routeObj '${routeName}'`,
7
+ message: `Model name is required for routeObj '${route}'`,
8
8
  statusCode: 500,
9
- hint: "Provide a valid modelName when configuring the collection.",
9
+ hint: "Provide a valid model when configuring the collection.",
10
10
  details: getErrorDetail(routeObj),
11
11
  });
12
12
  }
13
- const Model = registerModel[modelName];
13
+ const Model = registerModel[model];
14
14
  if (!Model) {
15
15
  throw new AppError({
16
- message: `Model '${modelName}' is not registered`,
16
+ message: `Model '${model}' is not registered`,
17
17
  statusCode: 500,
18
18
  hint: "Register the model before using it in a collection.",
19
19
  details: getErrorDetail(routeObj),
@@ -1 +1 @@
1
- {"version":3,"file":"getModel.js","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,GAKT,EAAE,EAAE;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wCAAwC,SAAS,GAAG;YAC7D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,4DAA4D;YAClE,OAAO,EAAE,cAAc,CAAC,QAAS,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,UAAU,SAAS,qBAAqB;YACjD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qDAAqD;YAC3D,OAAO,EAAE,cAAc,CAAC,QAAS,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"getModel.js","sourceRoot":"","sources":["../../../src/js/utils/getModel.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,EAChB,KAAK,EACL,KAAK,EACL,QAAQ,GAKT,EAAE,EAAE;IACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wCAAwC,KAAK,GAAG;YACzD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,wDAAwD;YAC9D,OAAO,EAAE,cAAc,CAAC,QAAS,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,UAAU,KAAK,qBAAqB;YAC7C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qDAAqD;YAC3D,OAAO,EAAE,cAAc,CAAC,QAAS,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -3,6 +3,7 @@ import AppError from "./AppError.js";
3
3
  import getErrorDetail from "./getErrorDetail.js";
4
4
  import { getEnvs } from "../config/envs.js";
5
5
  import AppLog from "./AppLog.js";
6
+ // Hash password
6
7
  export const hash = async (str, routeObj) => {
7
8
  if (!str) {
8
9
  throw new AppError({
@@ -17,6 +18,7 @@ export const hash = async (str, routeObj) => {
17
18
  const hashStr = sodium.crypto_pwhash(32, str, salt, sodium.crypto_pwhash_OPSLIMIT_INTERACTIVE, sodium.crypto_pwhash_MEMLIMIT_INTERACTIVE, sodium.crypto_pwhash_ALG_DEFAULT);
18
19
  return `${sodium.to_base64(salt)}:${sodium.to_base64(hashStr)}`;
19
20
  };
21
+ // Verify password
20
22
  export const verifyHash = async (password, storedHash, routeObj) => {
21
23
  try {
22
24
  if (!password) {
@@ -56,6 +58,7 @@ export const verifyHash = async (password, storedHash, routeObj) => {
56
58
  return false;
57
59
  }
58
60
  };
61
+ // Generate master key
59
62
  export const generateMasterKey = async () => {
60
63
  await sodium.ready;
61
64
  const key = sodium.crypto_secretbox_keygen();
@@ -65,6 +68,7 @@ export const generateMasterKey = async () => {
65
68
  return base64Key;
66
69
  }, 1000);
67
70
  };
71
+ // Generate JWT secret
68
72
  export const generateJWTSecret = async () => {
69
73
  await sodium.ready;
70
74
  const secret = sodium.randombytes_buf(64);
@@ -74,6 +78,7 @@ export const generateJWTSecret = async () => {
74
78
  return base64Secret;
75
79
  }, 1000);
76
80
  };
81
+ // Seal
77
82
  export const seal = async (input, routeObj) => {
78
83
  try {
79
84
  if (!input) {
@@ -119,6 +124,7 @@ export const seal = async (input, routeObj) => {
119
124
  });
120
125
  }
121
126
  };
127
+ // Unseal
122
128
  export const unSeal = async ({ str, nonce, publicKey, securedPrivateKey, routeObj, }) => {
123
129
  try {
124
130
  if (!str) {
@@ -1 +1 @@
1
- {"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,45 @@
1
1
  const otpPurposes = [
2
+ // Very common
2
3
  "login",
3
4
  "signup",
4
5
  "password_reset",
6
+ // "email_verification",
7
+ // "phone_verification",
8
+ // "two_factor_auth",
9
+ // Common
10
+ // "change_password",
11
+ // "change_email",
12
+ // "change_phone",
13
+ // "new_device_login",
14
+ // "verify_device",
15
+ // "verify_session",
16
+ // "confirm_action",
17
+ // "sensitive_action",
18
+ // "identity_verification",
19
+ // "account_recovery",
20
+ // "account_unlock",
21
+ // Moderately common
22
+ // "update_profile",
23
+ // "authorize_device",
24
+ // "verify_contact",
25
+ // "magic_link_login",
26
+ // "enable_two_factor_auth",
27
+ // "disable_two_factor_auth",
28
+ // Financial
29
+ // "payment_verification",
30
+ // "transaction_verification",
31
+ // "bank_account_verification",
32
+ // "withdrawal_verification",
33
+ // Organizations & Invites
34
+ // "organization_invite",
35
+ // "invite_acceptance",
36
+ // "transfer_ownership",
37
+ // OAuth & API
38
+ // "oauth_link",
39
+ // "oauth_unlink",
40
+ // "api_key_verification",
41
+ // Rare
42
+ // "delete_account",
5
43
  ];
6
44
  export default otpPurposes;
7
45
  //# sourceMappingURL=otpPurposes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"otpPurposes.js","sourceRoot":"","sources":["../../../src/js/utils/otpPurposes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAa;IAE5B,OAAO;IACP,QAAQ;IACR,gBAAgB;CA4CjB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"otpPurposes.js","sourceRoot":"","sources":["../../../src/js/utils/otpPurposes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAa;IAC5B,cAAc;IACd,OAAO;IACP,QAAQ;IACR,gBAAgB;IAChB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IAErB,SAAS;IACT,qBAAqB;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,2BAA2B;IAC3B,sBAAsB;IACtB,oBAAoB;IAEpB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IACtB,4BAA4B;IAC5B,6BAA6B;IAE7B,YAAY;IACZ,0BAA0B;IAC1B,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAE7B,0BAA0B;IAC1B,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IAExB,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,0BAA0B;IAE1B,OAAO;IACP,oBAAoB;CACrB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,37 +1,58 @@
1
1
  export const sanitizeOne = (item, routeObj) => {
2
+ // default excluded sensitive
2
3
  const defaultExcluded = ["password"];
3
- const fields = routeObj?.mongooseConfigObj?.hiddenFieldsArray?.filter((item) => item !== "_id") ?? [];
4
+ // developer based excluded
5
+ const fields = routeObj?.config?.hiddenFields?.filter((item) => item !== "_id") ?? [];
6
+ // merged
4
7
  let merged = [...defaultExcluded, ...fields];
8
+ // remove merged[el]; if el: !item and sibling: item
5
9
  for (const el of fields) {
10
+ // if el has !
6
11
  if (el.startsWith("!")) {
12
+ // !item -> item
7
13
  const clean = el.split("!")[1];
14
+ // if defaultExcluded has !, remove it
8
15
  if (defaultExcluded.includes(clean))
9
16
  merged = merged.filter((i) => i !== clean);
17
+ // remove any element having !
10
18
  merged = merged.filter((i) => i !== el);
11
19
  }
12
20
  }
21
+ // remove merged item
13
22
  for (const el of merged) {
14
23
  delete item[el];
15
24
  }
25
+ // return cleaned item
16
26
  return item;
17
27
  };
18
28
  export const sanitizeMany = (items, routeObj) => {
19
29
  return items.map((el) => {
30
+ // make el a JS object
20
31
  const item = el.toObject();
32
+ // default excluded sensitive
21
33
  const defaultExcluded = ["password"];
22
- const fields = routeObj?.mongooseConfigObj?.hiddenFieldsArray?.filter((item) => item !== "_id") ?? [];
34
+ // developer based excluded
35
+ const fields = routeObj?.config?.hiddenFields?.filter((item) => item !== "_id") ?? [];
36
+ // merged
23
37
  let merged = [...defaultExcluded, ...fields];
38
+ // remove merged[el]; if el: !item and sibling: item
24
39
  for (const el of fields) {
40
+ // if el has !
25
41
  if (el.startsWith("!")) {
42
+ // !item -> item
26
43
  const clean = el.split("!")[1];
44
+ // if defaultExcluded has !, remove it
27
45
  if (defaultExcluded.includes(clean))
28
46
  merged = merged.filter((i) => i !== clean);
47
+ // remove any element having !
29
48
  merged = merged.filter((i) => i !== el);
30
49
  }
31
50
  }
51
+ // remove merged item
32
52
  for (const el of merged) {
33
53
  delete item[el];
34
54
  }
55
+ // return cleaned item
35
56
  return item;
36
57
  });
37
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,QAAe,EAAE,EAAE;IAExD,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;IAGrC,MAAM,MAAM,GACV,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;IAGzF,IAAI,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC;IAG7C,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QAExB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAEvB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YAGhC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAG7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAGD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAGD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,QAAe,EAAE,EAAE;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAEtB,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAG3B,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;QAGrC,MAAM,MAAM,GACV,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAGzF,IAAI,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC;QAG7C,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YAExB,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEvB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;gBAGhC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBAG7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,QAAe,EAAE,EAAE;IACxD,6BAA6B;IAC7B,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;IAErC,2BAA2B;IAC3B,MAAM,MAAM,GACV,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;IAEzE,SAAS;IACT,IAAI,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC;IAE7C,oDAAoD;IACpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,cAAc;QACd,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,gBAAgB;YAChB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YAEhC,sCAAsC;YACtC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAE7C,8BAA8B;YAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,QAAe,EAAE,EAAE;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,sBAAsB;QACtB,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE3B,6BAA6B;QAC7B,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC;QAErC,2BAA2B;QAC3B,MAAM,MAAM,GACV,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAEzE,SAAS;QACT,IAAI,MAAM,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC;QAE7C,oDAAoD;QACpD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,cAAc;YACd,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,gBAAgB;gBAChB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;gBAEhC,sCAAsC;gBACtC,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBAE7C,8BAA8B;gBAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,sBAAsB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import getDuration from "../config/duration.js";
2
2
  import getModel from "./getModel.js";
3
3
  const saveRefreshToken = async ({ hashedToken, refreshTokenAge, _id, routeObj, jti, familyId, deviceName, deviceType, ipAddress, os }) => {
4
- const RefreshToken = await getModel({ modelName: "RefreshToken" });
4
+ const RefreshToken = await getModel({ model: "RefreshToken" });
5
+ // create token
5
6
  await RefreshToken.create({
6
7
  owner: _id,
7
8
  refreshTokenHash: hashedToken,
@@ -1 +1 @@
1
- {"version":3,"file":"saveRefreshToken.js","sourceRoot":"","sources":["../../../src/js/utils/saveRefreshToken.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAerC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAC9B,WAAW,EACX,eAAe,EACf,GAAG,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,EAAE,EACW,EAAE,EAAE;IACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,EAAC,SAAS,EAAE,cAAc,EAAC,CAAC,CAAA;IAGhE,MAAM,YAAY,CAAC,MAAM,CAAC;QACxB,KAAK,EAAE,GAAG;QACV,gBAAgB,EAAE,WAAW;QAC7B,GAAG;QACH,UAAU;QACV,QAAQ;QACR,UAAU;QACV,SAAS;QACT,EAAE;QACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,eAAgB,EAAE,QAAQ,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC;AACF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"saveRefreshToken.js","sourceRoot":"","sources":["../../../src/js/utils/saveRefreshToken.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAEhD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAerC,MAAM,gBAAgB,GAAG,KAAK,EAAE,EAC9B,WAAW,EACX,eAAe,EACf,GAAG,EACH,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,EAAE,EACW,EAAE,EAAE;IACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC,CAAA;IAE5D,eAAe;IACf,MAAM,YAAY,CAAC,MAAM,CAAC;QACxB,KAAK,EAAE,GAAG;QACV,gBAAgB,EAAE,WAAW;QAC7B,GAAG;QACH,UAAU;QACV,QAAQ;QACR,UAAU;QACV,SAAS;QACT,EAAE;QACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,eAAgB,EAAE,QAAQ,CAAC;KAChE,CAAC,CAAC;AACL,CAAC,CAAC;AACF,eAAe,gBAAgB,CAAC"}
@@ -8,14 +8,14 @@ const validate = (validationSchema, body, routeObj) => {
8
8
  message: "validationSchema is required to validate",
9
9
  statusCode: 409,
10
10
  details: getErrorDetail(routeObj),
11
- hint: "Provide validation in validationsObj. Use same name as key as provided in routeObj configuration",
11
+ hint: "Provide validation in validations. Use same name as key as provided in routeObj configuration",
12
12
  });
13
13
  if (!body)
14
14
  throw new AppError({
15
15
  message: "body is required to validate",
16
16
  statusCode: 409,
17
17
  details: getErrorDetail(routeObj),
18
- hint: "Provide body (Data from frontend or postman etc.) or if uploading a file, write fileArray : [{...}] in collection -> routesArray -> routeObj.",
18
+ hint: "Provide body (Data from frontend or postman etc.) or if uploading a file, write files : [{...}] in collection -> routes -> routeObj.",
19
19
  });
20
20
  const zodBodyObj = z.object(validationSchema);
21
21
  const isValid = zodBodyObj.safeParse(body);
@@ -27,8 +27,10 @@ const validate = (validationSchema, body, routeObj) => {
27
27
  return acc ? `${acc}.${String(part)}` : String(part);
28
28
  }, "") || "body";
29
29
  let message = issue?.message ?? "Invalid input";
30
+ // Improve enum errors with typo suggestions
30
31
  if (issue?.code === "invalid_value" && "values" in issue) {
31
32
  const values = issue.values.map(String);
33
+ // Get the invalid value from the request body
32
34
  const invalidValue = issue.path.reduce((obj, key) => obj?.[key], body);
33
35
  if (typeof invalidValue === "string") {
34
36
  const nearest = closest(invalidValue, values);
@@ -47,7 +49,7 @@ const validate = (validationSchema, body, routeObj) => {
47
49
  message: `${field}: ${message}`,
48
50
  statusCode: 409,
49
51
  details: getErrorDetail(routeObj),
50
- hint: `Check the keys you provided in collection -> valdiationsObj -> ${routeObj.validationKey}. It should be similar to body -> item key`,
52
+ hint: `Check the keys you provided in collection -> valdiationsObj -> ${routeObj.validation}. It should be similar to body -> item key`,
51
53
  });
52
54
  }
53
55
  return isValid.data;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { Route, ValidationsObj } from "../types/Collection.ts";
2
- declare const getValidationKey: (routeObj: Route, validationsObj: ValidationsObj) => import("../types/Collection.ts").ValidationField | Record<string, import("../types/Collection.ts").ValidationField> | undefined;
2
+ declare const getValidationKey: (routeObj: Route, validations: ValidationsObj) => import("../types/Collection.ts").ValidationField | Record<string, import("../types/Collection.ts").ValidationField> | undefined;
3
3
  export default getValidationKey;
4
4
  //# sourceMappingURL=validationKeyError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validationKeyError.d.ts","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,gBAAgB,GAAI,UAAU,KAAK,EAAE,gBAAgB,cAAc,oIA+CxE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"validationKeyError.d.ts","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIpE,QAAA,MAAM,gBAAgB,GAAI,UAAU,KAAK,EAAE,aAAa,cAAc,oIA+CrE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}