@starklabs/forge 1.1.3 → 1.3.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 (212) hide show
  1. package/dist/js/app.d.ts.map +1 -1
  2. package/dist/js/app.js +21 -12
  3. package/dist/js/app.js.map +1 -1
  4. package/dist/js/auth/auth.collection.d.ts +4 -0
  5. package/dist/js/auth/auth.collection.d.ts.map +1 -0
  6. package/dist/js/auth/auth.collection.js +58 -0
  7. package/dist/js/auth/auth.collection.js.map +1 -0
  8. package/dist/js/auth/auth.collections.d.ts +2 -0
  9. package/dist/js/auth/auth.collections.d.ts.map +1 -0
  10. package/dist/js/auth/auth.collections.js +2 -0
  11. package/dist/js/auth/auth.collections.js.map +1 -0
  12. package/dist/js/auth/builtin/auth.collection.d.ts +4 -0
  13. package/dist/js/auth/builtin/auth.collection.d.ts.map +1 -0
  14. package/dist/js/auth/builtin/auth.collection.js +58 -0
  15. package/dist/js/auth/builtin/auth.collection.js.map +1 -0
  16. package/dist/js/auth/builtin/getValidations.d.ts +11 -0
  17. package/dist/js/auth/builtin/getValidations.d.ts.map +1 -0
  18. package/dist/js/auth/builtin/getValidations.js +34 -0
  19. package/dist/js/auth/builtin/getValidations.js.map +1 -0
  20. package/dist/js/auth/forgotPassword.d.ts.map +1 -1
  21. package/dist/js/auth/forgotPassword.js +0 -1
  22. package/dist/js/auth/forgotPassword.js.map +1 -1
  23. package/dist/js/auth/index.d.ts.map +1 -1
  24. package/dist/js/auth/index.js +13 -4
  25. package/dist/js/auth/index.js.map +1 -1
  26. package/dist/js/auth/login.d.ts.map +1 -1
  27. package/dist/js/auth/login.js +1 -1
  28. package/dist/js/auth/login.js.map +1 -1
  29. package/dist/js/auth/resendOTP.d.ts.map +1 -1
  30. package/dist/js/auth/resendOTP.js +1 -2
  31. package/dist/js/auth/resendOTP.js.map +1 -1
  32. package/dist/js/auth/resetPassword.d.ts.map +1 -1
  33. package/dist/js/auth/resetPassword.js +0 -1
  34. package/dist/js/auth/resetPassword.js.map +1 -1
  35. package/dist/js/auth/signup.d.ts.map +1 -1
  36. package/dist/js/auth/signup.js +0 -2
  37. package/dist/js/auth/signup.js.map +1 -1
  38. package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
  39. package/dist/js/auth/utils/authenticateUser.js +0 -1
  40. package/dist/js/auth/utils/authenticateUser.js.map +1 -1
  41. package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
  42. package/dist/js/auth/utils/createOTPUser.js +1 -3
  43. package/dist/js/auth/utils/createOTPUser.js.map +1 -1
  44. package/dist/js/auth/utils/getOTPModel.d.ts.map +1 -1
  45. package/dist/js/auth/utils/getOTPModel.js +0 -1
  46. package/dist/js/auth/utils/getOTPModel.js.map +1 -1
  47. package/dist/js/auth/utils/getOTPUser.d.ts.map +1 -1
  48. package/dist/js/auth/utils/getOTPUser.js +0 -1
  49. package/dist/js/auth/utils/getOTPUser.js.map +1 -1
  50. package/dist/js/auth/utils/getUser.d.ts.map +1 -1
  51. package/dist/js/auth/utils/getUser.js +0 -1
  52. package/dist/js/auth/utils/getUser.js.map +1 -1
  53. package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -1
  54. package/dist/js/auth/utils/handleIsVerified.js +0 -1
  55. package/dist/js/auth/utils/handleIsVerified.js.map +1 -1
  56. package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +1 -1
  57. package/dist/js/auth/utils/otpVerifiedResponse.js +0 -1
  58. package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
  59. package/dist/js/auth/utils/sendCookie.d.ts.map +1 -1
  60. package/dist/js/auth/utils/sendCookie.js +0 -4
  61. package/dist/js/auth/utils/sendCookie.js.map +1 -1
  62. package/dist/js/auth/utils/sendOTP.d.ts.map +1 -1
  63. package/dist/js/auth/utils/sendOTP.js +0 -2
  64. package/dist/js/auth/utils/sendOTP.js.map +1 -1
  65. package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
  66. package/dist/js/auth/utils/verifyCredentials.js +0 -2
  67. package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
  68. package/dist/js/auth/verifyOTP.d.ts.map +1 -1
  69. package/dist/js/auth/verifyOTP.js +0 -5
  70. package/dist/js/auth/verifyOTP.js.map +1 -1
  71. package/dist/js/config/cloudinary.d.ts.map +1 -1
  72. package/dist/js/config/cloudinary.js +0 -1
  73. package/dist/js/config/cloudinary.js.map +1 -1
  74. package/dist/js/config/duration.d.ts.map +1 -1
  75. package/dist/js/config/duration.js +0 -1
  76. package/dist/js/config/duration.js.map +1 -1
  77. package/dist/js/config/envs.d.ts +1 -27
  78. package/dist/js/config/envs.d.ts.map +1 -1
  79. package/dist/js/config/envs.js +46 -0
  80. package/dist/js/config/envs.js.map +1 -1
  81. package/dist/js/config/sendEmail.d.ts.map +1 -1
  82. package/dist/js/config/sendEmail.js +0 -6
  83. package/dist/js/config/sendEmail.js.map +1 -1
  84. package/dist/js/crud/create.d.ts.map +1 -1
  85. package/dist/js/crud/create.js +3 -3
  86. package/dist/js/crud/create.js.map +1 -1
  87. package/dist/js/crud/encryption/handleDecryption.d.ts +4 -0
  88. package/dist/js/crud/encryption/handleDecryption.d.ts.map +1 -0
  89. package/dist/js/crud/encryption/handleDecryption.js +59 -0
  90. package/dist/js/crud/encryption/handleDecryption.js.map +1 -0
  91. package/dist/js/crud/encryption/handleEncryption.d.ts +5 -0
  92. package/dist/js/crud/encryption/handleEncryption.d.ts.map +1 -0
  93. package/dist/js/crud/encryption/handleEncryption.js +46 -0
  94. package/dist/js/crud/encryption/handleEncryption.js.map +1 -0
  95. package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
  96. package/dist/js/crud/handleUploads/file.add.js +0 -2
  97. package/dist/js/crud/handleUploads/file.add.js.map +1 -1
  98. package/dist/js/crud/index.d.ts.map +1 -1
  99. package/dist/js/crud/index.js +0 -1
  100. package/dist/js/crud/index.js.map +1 -1
  101. package/dist/js/crud/read.d.ts.map +1 -1
  102. package/dist/js/crud/read.js +3 -1
  103. package/dist/js/crud/read.js.map +1 -1
  104. package/dist/js/crud/readAll.d.ts.map +1 -1
  105. package/dist/js/crud/readAll.js +17 -4
  106. package/dist/js/crud/readAll.js.map +1 -1
  107. package/dist/js/crud/removeAll.d.ts.map +1 -1
  108. package/dist/js/crud/removeAll.js +0 -1
  109. package/dist/js/crud/removeAll.js.map +1 -1
  110. package/dist/js/crud/utils/authroizeAccess.d.ts.map +1 -1
  111. package/dist/js/crud/utils/authroizeAccess.js +0 -4
  112. package/dist/js/crud/utils/authroizeAccess.js.map +1 -1
  113. package/dist/js/crud/utils/getItem.d.ts.map +1 -1
  114. package/dist/js/crud/utils/getItem.js +0 -3
  115. package/dist/js/crud/utils/getItem.js.map +1 -1
  116. package/dist/js/crud/utils/getParam.d.ts.map +1 -1
  117. package/dist/js/crud/utils/getParam.js +0 -1
  118. package/dist/js/crud/utils/getParam.js.map +1 -1
  119. package/dist/js/index.d.ts +1 -0
  120. package/dist/js/index.d.ts.map +1 -1
  121. package/dist/js/index.js +1 -0
  122. package/dist/js/index.js.map +1 -1
  123. package/dist/js/lib/Mongoose.d.ts +6 -0
  124. package/dist/js/lib/Mongoose.d.ts.map +1 -1
  125. package/dist/js/lib/db.d.ts.map +1 -1
  126. package/dist/js/lib/db.js +5 -2
  127. package/dist/js/lib/db.js.map +1 -1
  128. package/dist/js/lib/model.factory.d.ts +4 -1
  129. package/dist/js/lib/model.factory.d.ts.map +1 -1
  130. package/dist/js/lib/model.factory.js +35 -24
  131. package/dist/js/lib/model.factory.js.map +1 -1
  132. package/dist/js/lib/mongoose.fields.d.ts +2 -1
  133. package/dist/js/lib/mongoose.fields.d.ts.map +1 -1
  134. package/dist/js/lib/mongoose.fields.js +19 -0
  135. package/dist/js/lib/mongoose.fields.js.map +1 -1
  136. package/dist/js/lib/unified.fields.d.ts +41 -0
  137. package/dist/js/lib/unified.fields.d.ts.map +1 -0
  138. package/dist/js/lib/unified.fields.js +333 -0
  139. package/dist/js/lib/unified.fields.js.map +1 -0
  140. package/dist/js/lib/unified.types.d.ts +7 -0
  141. package/dist/js/lib/unified.types.d.ts.map +1 -0
  142. package/dist/js/lib/unified.types.js +2 -0
  143. package/dist/js/lib/unified.types.js.map +1 -0
  144. package/dist/js/lib/zod.factory.d.ts +8 -0
  145. package/dist/js/lib/zod.factory.d.ts.map +1 -0
  146. package/dist/js/lib/zod.factory.js +35 -0
  147. package/dist/js/lib/zod.factory.js.map +1 -0
  148. package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
  149. package/dist/js/middleware/auth.middleware.js +0 -6
  150. package/dist/js/middleware/auth.middleware.js.map +1 -1
  151. package/dist/js/middleware/multer.middleware.d.ts.map +1 -1
  152. package/dist/js/middleware/multer.middleware.js +0 -2
  153. package/dist/js/middleware/multer.middleware.js.map +1 -1
  154. package/dist/js/terminal/appInfo.d.ts +19 -0
  155. package/dist/js/terminal/appInfo.d.ts.map +1 -0
  156. package/dist/js/terminal/appInfo.js +36 -0
  157. package/dist/js/terminal/appInfo.js.map +1 -0
  158. package/dist/js/terminal/collectionInfo.d.ts +19 -0
  159. package/dist/js/terminal/collectionInfo.d.ts.map +1 -0
  160. package/dist/js/terminal/collectionInfo.js +36 -0
  161. package/dist/js/terminal/collectionInfo.js.map +1 -0
  162. package/dist/js/terminal/logger.d.ts +3 -0
  163. package/dist/js/terminal/logger.d.ts.map +1 -0
  164. package/dist/js/terminal/logger.js +72 -0
  165. package/dist/js/terminal/logger.js.map +1 -0
  166. package/dist/js/terminal/loggerConfig.d.ts +3 -0
  167. package/dist/js/terminal/loggerConfig.d.ts.map +1 -0
  168. package/dist/js/terminal/loggerConfig.js +36 -0
  169. package/dist/js/terminal/loggerConfig.js.map +1 -0
  170. package/dist/js/terminal/terminal.d.ts +3 -0
  171. package/dist/js/terminal/terminal.d.ts.map +1 -0
  172. package/dist/js/terminal/terminal.js +36 -0
  173. package/dist/js/terminal/terminal.js.map +1 -0
  174. package/dist/js/types/Collection.d.ts +12 -10
  175. package/dist/js/types/Collection.d.ts.map +1 -1
  176. package/dist/js/types/Constructor.d.ts +16 -0
  177. package/dist/js/types/Constructor.d.ts.map +1 -1
  178. package/dist/js/types/MongooseOTPSchemaObj.d.ts +2 -2
  179. package/dist/js/types/MongooseOTPSchemaObj.d.ts.map +1 -1
  180. package/dist/js/upload/create.d.ts.map +1 -1
  181. package/dist/js/upload/create.js +0 -3
  182. package/dist/js/upload/create.js.map +1 -1
  183. package/dist/js/upload/delete.d.ts.map +1 -1
  184. package/dist/js/upload/delete.js +0 -7
  185. package/dist/js/upload/delete.js.map +1 -1
  186. package/dist/js/upload/update.d.ts.map +1 -1
  187. package/dist/js/upload/update.js +0 -8
  188. package/dist/js/upload/update.js.map +1 -1
  189. package/dist/js/utils/AppError.d.ts +2 -2
  190. package/dist/js/utils/AppError.d.ts.map +1 -1
  191. package/dist/js/utils/AppError.js +1 -1
  192. package/dist/js/utils/AppError.js.map +1 -1
  193. package/dist/js/utils/getModel.d.ts.map +1 -1
  194. package/dist/js/utils/getModel.js +0 -2
  195. package/dist/js/utils/getModel.js.map +1 -1
  196. package/dist/js/utils/handleJWT.d.ts.map +1 -1
  197. package/dist/js/utils/handleJWT.js +0 -7
  198. package/dist/js/utils/handleJWT.js.map +1 -1
  199. package/dist/js/utils/libsodium.d.ts +11 -6
  200. package/dist/js/utils/libsodium.d.ts.map +1 -1
  201. package/dist/js/utils/libsodium.js +15 -21
  202. package/dist/js/utils/libsodium.js.map +1 -1
  203. package/dist/js/utils/otpPurposes.js +0 -31
  204. package/dist/js/utils/otpPurposes.js.map +1 -1
  205. package/dist/js/utils/validate.d.ts.map +1 -1
  206. package/dist/js/utils/validate.js +0 -3
  207. package/dist/js/utils/validate.js.map +1 -1
  208. package/dist/js/utils/validationKeyError.d.ts +1 -1
  209. package/dist/js/utils/validationKeyError.d.ts.map +1 -1
  210. package/dist/js/utils/validationKeyError.js +0 -3
  211. package/dist/js/utils/validationKeyError.js.map +1 -1
  212. package/package.json +1 -1
@@ -2,38 +2,47 @@ 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
+ const extractMongooseDefinition = (value) => {
6
+ if (value &&
7
+ typeof value === "object" &&
8
+ !Array.isArray(value) &&
9
+ "mongoose" in value) {
10
+ return value.mongoose;
11
+ }
12
+ if (value &&
13
+ typeof value === "object" &&
14
+ !Array.isArray(value) &&
15
+ "type" in value) {
16
+ return value;
17
+ }
18
+ switch (typeof value) {
19
+ case "number":
20
+ return { type: Number, default: value };
21
+ case "string":
22
+ return { type: String, default: value };
23
+ case "boolean":
24
+ return { type: Boolean, default: value };
25
+ default:
26
+ if (value instanceof Date) {
27
+ return { type: Date, default: value };
28
+ }
29
+ return value;
30
+ }
31
+ };
5
32
  const normalizeDefinition = (definition) => {
6
- return Object.fromEntries(Object.entries(definition).map(([key, value]) => {
7
- if (value &&
8
- typeof value === "object" &&
9
- !Array.isArray(value) &&
10
- "type" in value) {
11
- return [key, value];
12
- }
13
- switch (typeof value) {
14
- case "number":
15
- return [key, { type: Number, default: value }];
16
- case "string":
17
- return [key, { type: String, default: value }];
18
- case "boolean":
19
- return [key, { type: Boolean, default: value }];
20
- default:
21
- if (value instanceof Date) {
22
- return [key, { type: Date, default: value }];
23
- }
24
- return [key, value];
25
- }
26
- }));
33
+ return Object.fromEntries(Object.entries(definition).map(([key, value]) => [
34
+ key,
35
+ extractMongooseDefinition(value),
36
+ ]));
27
37
  };
28
38
  const createModel = (routeName, name, definition) => {
29
39
  if (mongoose.modelNames().includes(name)) {
30
40
  return mongoose.model(name);
31
41
  }
32
- if (!definition)
42
+ if (!definition) {
33
43
  throw new AppError({
34
44
  message: `mongooseSchema for ${routeName} is required`,
35
45
  statusCode: 409,
36
- code: "MODEL_FACTORY_ERROR",
37
46
  hint: "This issue requires a fix from the framework developer.",
38
47
  details: {
39
48
  handler: "",
@@ -41,7 +50,9 @@ const createModel = (routeName, name, definition) => {
41
50
  path: "",
42
51
  },
43
52
  });
44
- const schema = buildSchema(normalizeDefinition(definition));
53
+ }
54
+ const cleanDefinition = normalizeDefinition(definition);
55
+ const schema = buildSchema(cleanDefinition);
45
56
  AppLog("db", "modelFactory", `${name} model created!`);
46
57
  return mongoose.model(name, schema);
47
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAQ5C,MAAM,mBAAmB,GAAG,CAC1B,UAA2B,EACwB,EAAE;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAE9C,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM,IAAI,KAAK,EACf,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjD,KAAK,QAAQ;gBACX,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAEjD,KAAK,SAAS;gBACZ,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAElD;gBACE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CACkD,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,SAAiB,EACjB,IAAY,EACZ,UAA2B,EACtB,EAAE;IACP,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB,SAAS,cAAc;YACtD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"model.factory.js","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAC9C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAoB5C,MAAM,yBAAyB,GAAG,CAChC,KAAiB,EACkB,EAAE;IAErC,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,UAAU,IAAI,KAAK,EACnB,CAAC;QACD,OAAO,KAAK,CAAC,QAA6C,CAAC;IAC7D,CAAC;IAGD,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,MAAM,IAAI,KAAK,EACf,CAAC;QACD,OAAO,KAA0C,CAAC;IACpD,CAAC;IAGD,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC3C;YACE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACxC,CAAC;YAED,OAAO,KAA0C,CAAC;IACtD,CAAC;AACH,CAAC,CAAC;AAKF,MAAM,mBAAmB,GAAG,CAC1B,UAA2B,EACwB,EAAE;IACrD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/C,GAAG;QACH,yBAAyB,CAAC,KAAK,CAAC;KACjC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,WAAW,GAAG,CAClB,SAAiB,EACjB,IAAY,EACZ,UAA2B,EACtB,EAAE;IAEP,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,sBAAsB,SAAS,cAAc;YACtD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAE5C,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import mongoose from "mongoose";
2
- import type { BooleanField, DateField, FileMetaDataField, NumberField, ObjectArrayField, ObjectIdField, StringArrayField, StringField } from "./Mongoose.js";
2
+ import type { BooleanField, DateField, EncryptedString, FileMetaDataField, NumberField, ObjectArrayField, ObjectIdField, StringArrayField, StringField } from "./Mongoose.js";
3
3
  declare const mongooseFields: {
4
4
  readonly requiredString: StringField;
5
5
  readonly optionalString: StringField;
@@ -34,6 +34,7 @@ declare const mongooseFields: {
34
34
  readonly otpStatus: StringField;
35
35
  readonly recruitmentStatus: StringField;
36
36
  readonly fileMetaData: FileMetaDataField[];
37
+ readonly encryptedString: EncryptedString;
37
38
  };
38
39
  export type MongooseField = (typeof mongooseFields)[keyof typeof mongooseFields];
39
40
  export default mongooseFields;
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose.fields.d.ts","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,eAAe,CAAC;AA4MvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BV,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"mongoose.fields.d.ts","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,eAAe,CAAC;AA+NvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BV,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD,eAAe,cAAc,CAAC"}
@@ -123,6 +123,24 @@ const recruitmentStatus = {
123
123
  enum: ["new", "reviewing", "accepted", "rejected"],
124
124
  default: "new",
125
125
  };
126
+ const encryptedString = {
127
+ str: {
128
+ type: String,
129
+ required: true,
130
+ },
131
+ nonce: {
132
+ type: String,
133
+ required: true,
134
+ },
135
+ publicKey: {
136
+ type: String,
137
+ required: true,
138
+ },
139
+ securedPrivateKey: {
140
+ type: String,
141
+ required: true,
142
+ },
143
+ };
126
144
  const fileMetaData = [
127
145
  {
128
146
  storageKey: {
@@ -181,6 +199,7 @@ const mongooseFields = {
181
199
  otpStatus,
182
200
  recruitmentStatus,
183
201
  fileMetaData,
202
+ encryptedString,
184
203
  };
185
204
  export default mongooseFields;
186
205
  //# sourceMappingURL=mongoose.fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAY9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;AAE3C,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,oBAAoB,GAAgB;IACxC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,KAAK,GAAgB;IACzB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,OAAO,GAAiB;IAC5B,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,WAAW,GAAiB;IAChC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,YAAY,GAAiB;IACjC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,OAAO,GAAc;IACzB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI,CAAC,GAAG;CAClB,CAAC;AAEF,MAAM,WAAW,GAAqB;IACpC,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,WAAW,GAAqB;IACpC,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,QAAQ,GAAkB;IAC9B,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,gBAAgB,GAAkB;IACtC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,MAAM;KACZ;CACO,CAAC;AAuBX,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,OAAO;CACnB,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,IAAI,GAAgB;IACxB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,GAAG,GAAgB;IACvB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,SAAS,GAAgB;IAC7B,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,CAAC;IACV,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAyD,CAAC;CACrE,CAAC;AAEF,MAAM,SAAS,GAAgB;IAC7B,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;IACxC,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAAgB;IACrC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;IAClD,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,YAAY,GAAwB;IACxC;QACE,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;SACb;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;SACb;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;SACb;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;SACb;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;SACb;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;SACb;KACF;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,cAAc;IACd,cAAc;IACd,oBAAoB;IACpB,KAAK;IACL,QAAQ;IACR,cAAc;IACd,cAAc;IACd,OAAO;IACP,WAAW;IACX,YAAY;IACZ,OAAO;IACP,WAAW;IACX,WAAW;IACX,QAAQ;IACR,gBAAgB;IAChB,OAAO;IACP,eAAe;IACf,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,GAAG;IACH,SAAS;IACT,QAAQ;IACR,SAAS;IACT,iBAAiB;IACjB,YAAY;CACJ,CAAC;AAKX,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { UnifiedField } from "./unified.types.ts";
2
+ export declare const fields: {
3
+ readonly requiredString: UnifiedField;
4
+ readonly optionalString: UnifiedField;
5
+ readonly requiredUniqueString: UnifiedField;
6
+ readonly email: UnifiedField;
7
+ readonly password: UnifiedField;
8
+ readonly requiredNumber: UnifiedField;
9
+ readonly optionalNumber: UnifiedField;
10
+ readonly boolean: UnifiedField;
11
+ readonly booleanTrue: UnifiedField;
12
+ readonly booleanFalse: UnifiedField;
13
+ readonly dateNow: UnifiedField;
14
+ readonly requiredDate: UnifiedField;
15
+ readonly optionalDate: UnifiedField;
16
+ readonly stringArray: UnifiedField;
17
+ readonly requiredStringArray: UnifiedField;
18
+ readonly objectArray: UnifiedField;
19
+ readonly objectId: UnifiedField;
20
+ readonly requiredObjectId: UnifiedField;
21
+ readonly userRef: UnifiedField;
22
+ readonly requiredUserRef: UnifiedField;
23
+ readonly userRefArray: UnifiedField;
24
+ readonly provider: UnifiedField;
25
+ readonly role: UnifiedField;
26
+ readonly otp: UnifiedField;
27
+ readonly otpExpiry: UnifiedField;
28
+ readonly otpCount: UnifiedField;
29
+ readonly otpStatus: UnifiedField;
30
+ readonly purposeOTP: UnifiedField;
31
+ readonly timestamps: {
32
+ createdAt: UnifiedField;
33
+ updatedAt: UnifiedField;
34
+ };
35
+ readonly fileMetaData: UnifiedField;
36
+ readonly encryptedString: UnifiedField;
37
+ };
38
+ export type FieldName = keyof typeof fields;
39
+ export type FieldDefinition = (typeof fields)[FieldName];
40
+ export default fields;
41
+ //# sourceMappingURL=unified.fields.d.ts.map
@@ -0,0 +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;AA4XvD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCT,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"}
@@ -0,0 +1,333 @@
1
+ import { z } from "zod";
2
+ import mongoose from "mongoose";
3
+ import { ROLES } from "./roles.js";
4
+ import { OAUTH_PROVIDERS } from "./OAuthProviders.js";
5
+ import otpPurposes from "../utils/otpPurposes.js";
6
+ const { ObjectId } = mongoose.Schema.Types;
7
+ const requiredString = {
8
+ mongoose: {
9
+ type: String,
10
+ required: true,
11
+ trim: true,
12
+ },
13
+ zod: z.string().trim().min(1, "At least 1 character is required"),
14
+ };
15
+ const optionalString = {
16
+ mongoose: {
17
+ type: String,
18
+ default: "",
19
+ trim: true,
20
+ },
21
+ zod: z.string().trim().default(""),
22
+ };
23
+ const requiredUniqueString = {
24
+ mongoose: {
25
+ type: String,
26
+ required: true,
27
+ unique: true,
28
+ trim: true,
29
+ },
30
+ zod: z.string().trim().min(1, "At least 1 character is required"),
31
+ };
32
+ const email = {
33
+ mongoose: {
34
+ type: String,
35
+ required: true,
36
+ unique: true,
37
+ lowercase: true,
38
+ trim: true,
39
+ },
40
+ zod: z
41
+ .string()
42
+ .trim()
43
+ .toLowerCase()
44
+ .email("Invalid email address"),
45
+ };
46
+ const password = {
47
+ mongoose: {
48
+ type: String,
49
+ required: true,
50
+ minlength: 6,
51
+ select: false,
52
+ },
53
+ zod: z.string().min(6, "Password must be at least 6 characters"),
54
+ };
55
+ const requiredNumber = {
56
+ mongoose: {
57
+ type: Number,
58
+ required: true,
59
+ },
60
+ zod: z.coerce.number().min(0.1, "Number must be 0.1 or greater"),
61
+ };
62
+ const optionalNumber = {
63
+ mongoose: {
64
+ type: Number,
65
+ default: 0,
66
+ },
67
+ zod: z.coerce.number().default(0),
68
+ };
69
+ const boolean = {
70
+ mongoose: { type: Boolean },
71
+ zod: z.boolean(),
72
+ };
73
+ const booleanTrue = {
74
+ mongoose: { type: Boolean, default: true },
75
+ zod: z.boolean().default(true),
76
+ };
77
+ const booleanFalse = {
78
+ mongoose: { type: Boolean, default: false },
79
+ zod: z.boolean().default(false),
80
+ };
81
+ const dateNow = {
82
+ mongoose: {
83
+ type: Date,
84
+ default: Date.now,
85
+ },
86
+ zod: z.coerce.date().default(() => new Date()),
87
+ };
88
+ const requiredDate = {
89
+ mongoose: {
90
+ type: Date,
91
+ required: true,
92
+ },
93
+ zod: z.coerce.date(),
94
+ };
95
+ const optionalDate = {
96
+ mongoose: {
97
+ type: Date,
98
+ },
99
+ zod: z.coerce.date().optional(),
100
+ };
101
+ const stringArray = {
102
+ mongoose: {
103
+ type: [String],
104
+ default: [],
105
+ },
106
+ zod: z.preprocess((val) => {
107
+ if (Array.isArray(val))
108
+ return val;
109
+ if (typeof val === "string") {
110
+ try {
111
+ const parsed = JSON.parse(val);
112
+ if (Array.isArray(parsed))
113
+ return parsed;
114
+ }
115
+ catch {
116
+ return val.split(",").map((v) => v.trim());
117
+ }
118
+ }
119
+ return [];
120
+ }, z.array(z.string()).default([])),
121
+ };
122
+ const requiredStringArray = {
123
+ mongoose: {
124
+ type: [String],
125
+ required: true,
126
+ },
127
+ zod: z.preprocess((val) => {
128
+ if (val === undefined || val === null)
129
+ return undefined;
130
+ if (Array.isArray(val))
131
+ return val;
132
+ if (typeof val === "string") {
133
+ try {
134
+ const parsed = JSON.parse(val);
135
+ if (Array.isArray(parsed))
136
+ return parsed;
137
+ }
138
+ catch {
139
+ return val.split(",").map((v) => v.trim());
140
+ }
141
+ }
142
+ return val;
143
+ }, z.array(z.string()).min(1, "Array must have at least 1 element")),
144
+ };
145
+ const objectArray = {
146
+ mongoose: {
147
+ type: [Object],
148
+ default: () => [{}],
149
+ },
150
+ zod: z.preprocess((val) => {
151
+ if (Array.isArray(val))
152
+ return val;
153
+ if (typeof val === "string") {
154
+ try {
155
+ const parsed = JSON.parse(val);
156
+ if (Array.isArray(parsed))
157
+ return parsed;
158
+ }
159
+ catch {
160
+ return [{}];
161
+ }
162
+ }
163
+ return [{}];
164
+ }, z.array(z.object({})).default([{}])),
165
+ };
166
+ const objectId = {
167
+ mongoose: { type: ObjectId },
168
+ zod: z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId"),
169
+ };
170
+ const requiredObjectId = {
171
+ mongoose: {
172
+ type: ObjectId,
173
+ required: true,
174
+ },
175
+ zod: z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId"),
176
+ };
177
+ const userRef = {
178
+ mongoose: {
179
+ type: ObjectId,
180
+ ref: "User",
181
+ },
182
+ zod: z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId"),
183
+ };
184
+ const requiredUserRef = {
185
+ mongoose: {
186
+ type: ObjectId,
187
+ ref: "User",
188
+ required: true,
189
+ },
190
+ zod: z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId"),
191
+ };
192
+ const userRefArray = {
193
+ mongoose: [
194
+ {
195
+ type: ObjectId,
196
+ ref: "User",
197
+ },
198
+ ],
199
+ zod: z.array(z.string().regex(/^[0-9a-fA-F]{24}$/, "Invalid ObjectId")).default([]),
200
+ };
201
+ const provider = {
202
+ mongoose: {
203
+ type: String,
204
+ enum: OAUTH_PROVIDERS,
205
+ default: "local",
206
+ },
207
+ zod: z.enum(OAUTH_PROVIDERS).default("local"),
208
+ };
209
+ const role = {
210
+ mongoose: {
211
+ type: String,
212
+ required: true,
213
+ trim: true,
214
+ enum: ROLES,
215
+ default: "user",
216
+ },
217
+ zod: z.enum(ROLES).default("user"),
218
+ };
219
+ const otp = {
220
+ mongoose: {
221
+ type: String,
222
+ required: true,
223
+ },
224
+ zod: z.string().min(4, "OTP is required"),
225
+ };
226
+ const otpExpiry = {
227
+ mongoose: {
228
+ type: Number,
229
+ required: true,
230
+ },
231
+ zod: z.coerce.number(),
232
+ };
233
+ const otpCount = {
234
+ mongoose: {
235
+ type: Number,
236
+ required: true,
237
+ default: 0,
238
+ max: [10, "OTP verification limit reached. Please try again later."],
239
+ },
240
+ zod: z.coerce.number().max(10),
241
+ };
242
+ const otpStatus = {
243
+ mongoose: {
244
+ type: String,
245
+ enum: ["pending", "verified", "blocked"],
246
+ default: "pending",
247
+ },
248
+ zod: z.enum(["pending", "verified", "blocked"]).default("pending"),
249
+ };
250
+ const purposeOTP = {
251
+ mongoose: {
252
+ type: String,
253
+ enum: otpPurposes,
254
+ },
255
+ zod: z.enum(otpPurposes),
256
+ };
257
+ const timestamps = {
258
+ createdAt: dateNow,
259
+ updatedAt: dateNow,
260
+ };
261
+ const fileMetaData = {
262
+ mongoose: [
263
+ {
264
+ storageKey: { type: String, required: true },
265
+ url: { type: String, required: true },
266
+ bytes: { type: Number },
267
+ format: { type: String },
268
+ mimeType: { type: String },
269
+ resourceType: { type: String },
270
+ width: { type: Number },
271
+ height: { type: Number },
272
+ },
273
+ ],
274
+ zod: z.array(z.object({
275
+ storageKey: z.string(),
276
+ url: z.string().url(),
277
+ bytes: z.number().optional(),
278
+ format: z.string().optional(),
279
+ mimeType: z.string().optional(),
280
+ resourceType: z.string().optional(),
281
+ width: z.number().optional(),
282
+ height: z.number().optional(),
283
+ })),
284
+ };
285
+ const encryptedString = {
286
+ mongoose: {
287
+ str: { type: String, required: true },
288
+ nonce: { type: String, required: true },
289
+ publicKey: { type: String, required: true },
290
+ securedPrivateKey: { type: String, required: true },
291
+ },
292
+ zod: z.object({
293
+ str: z.string(),
294
+ nonce: z.string(),
295
+ publicKey: z.string(),
296
+ securedPrivateKey: z.string(),
297
+ }),
298
+ };
299
+ export const fields = {
300
+ requiredString,
301
+ optionalString,
302
+ requiredUniqueString,
303
+ email,
304
+ password,
305
+ requiredNumber,
306
+ optionalNumber,
307
+ boolean,
308
+ booleanTrue,
309
+ booleanFalse,
310
+ dateNow,
311
+ requiredDate,
312
+ optionalDate,
313
+ stringArray,
314
+ requiredStringArray,
315
+ objectArray,
316
+ objectId,
317
+ requiredObjectId,
318
+ userRef,
319
+ requiredUserRef,
320
+ userRefArray,
321
+ provider,
322
+ role,
323
+ otp,
324
+ otpExpiry,
325
+ otpCount,
326
+ otpStatus,
327
+ purposeOTP,
328
+ timestamps,
329
+ fileMetaData,
330
+ encryptedString,
331
+ };
332
+ export default fields;
333
+ //# sourceMappingURL=unified.fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified.fields.js","sourceRoot":"","sources":["../../../src/js/lib/unified.fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { z } from "zod";
2
+ import type { SchemaDefinitionProperty } from "mongoose";
3
+ export type UnifiedField = {
4
+ mongoose?: SchemaDefinitionProperty<any> | SchemaDefinitionProperty<any>[];
5
+ zod?: z.ZodTypeAny;
6
+ };
7
+ //# sourceMappingURL=unified.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified.types.d.ts","sourceRoot":"","sources":["../../../src/js/lib/unified.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAKzD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,wBAAwB,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3E,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;CACpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=unified.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified.types.js","sourceRoot":"","sources":["../../../src/js/lib/unified.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ import type { UnifiedField } from "./unified.types.js";
3
+ type SchemaObj = Record<string, UnifiedField>;
4
+ export declare function buildZodObject(schemaObj: SchemaObj, keys?: string[], internal?: Record<string, UnifiedField>): z.ZodObject<any>;
5
+ export declare function getZodField(schemaObj: SchemaObj, key: string): z.ZodTypeAny;
6
+ export declare function buildZodObjectSafe(schemaObj: SchemaObj, keys?: string[]): z.ZodObject<any>;
7
+ export {};
8
+ //# sourceMappingURL=zod.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/zod.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAS9C,wBAAgB,cAAc,CAC5B,SAAS,EAAE,SAAS,EACpB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GACtC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAmBlB;AAKD,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,CAQ3E;AAKD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,EACpB,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAYlB"}
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ export function buildZodObject(schemaObj, keys, internal) {
3
+ const shape = {};
4
+ const fieldNames = keys ?? Object.keys(schemaObj);
5
+ for (const key of fieldNames) {
6
+ const field = schemaObj[key];
7
+ if (!field) {
8
+ throw new Error(`Field "${key}" does not exist in the schema`);
9
+ }
10
+ if (!field?.zod) {
11
+ throw new Error(`Field "${key}" is missing a zod definition`);
12
+ }
13
+ shape[key] = field.zod;
14
+ }
15
+ return z.object(shape);
16
+ }
17
+ export function getZodField(schemaObj, key) {
18
+ const field = schemaObj[key];
19
+ if (!field?.zod) {
20
+ throw new Error(`Field "${key}" not found or missing zod definition`);
21
+ }
22
+ return field.zod;
23
+ }
24
+ export function buildZodObjectSafe(schemaObj, keys) {
25
+ const shape = {};
26
+ const fieldNames = keys ?? Object.keys(schemaObj);
27
+ for (const key of fieldNames) {
28
+ const field = schemaObj[key];
29
+ if (field?.zod) {
30
+ shape[key] = field.zod;
31
+ }
32
+ }
33
+ return z.object(shape);
34
+ }
35
+ //# sourceMappingURL=zod.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.factory.js","sourceRoot":"","sources":["../../../src/js/lib/zod.factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,MAAM,UAAU,cAAc,CAC5B,SAAoB,EACpB,IAAe,EACf,QAAuC;IAEvC,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAElD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,gCAAgC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,+BAA+B,CAAC,CAAC;QAChE,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,SAAoB,EAAE,GAAW;IAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,uCAAuC,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC;AACnB,CAAC;AAKD,MAAM,UAAU,kBAAkB,CAChC,SAAoB,EACpB,IAAe;IAEf,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAElD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;YACf,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AA8BpD,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MAEd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAuEd,CAAC;AAEJ,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AA4BpD,QAAA,MAAM,OAAO,GACV,UAAU,KAAK,MAEd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAmEd,CAAC;AAEJ,eAAe,OAAO,CAAC"}