@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.
- package/dist/js/account/index.d.ts +1 -1
- package/dist/js/account/index.d.ts.map +1 -1
- package/dist/js/account/index.js +14 -7
- package/dist/js/account/index.js.map +1 -1
- package/dist/js/account/me.delete.d.ts +2 -2
- package/dist/js/account/me.delete.d.ts.map +1 -1
- package/dist/js/account/me.delete.js +15 -6
- package/dist/js/account/me.delete.js.map +1 -1
- package/dist/js/account/me.update.d.ts +3 -3
- package/dist/js/account/me.update.d.ts.map +1 -1
- package/dist/js/account/me.update.js +20 -7
- package/dist/js/account/me.update.js.map +1 -1
- package/dist/js/app.js +21 -8
- package/dist/js/app.js.map +1 -1
- package/dist/js/auth/builtin/auth.collection.js +11 -11
- package/dist/js/auth/builtin/auth.collection.js.map +1 -1
- package/dist/js/auth/forgotPassword.d.ts +4 -4
- package/dist/js/auth/forgotPassword.d.ts.map +1 -1
- package/dist/js/auth/forgotPassword.js +12 -6
- package/dist/js/auth/forgotPassword.js.map +1 -1
- package/dist/js/auth/index.d.ts +1 -1
- package/dist/js/auth/index.d.ts.map +1 -1
- package/dist/js/auth/index.js +16 -8
- package/dist/js/auth/index.js.map +1 -1
- package/dist/js/auth/login.d.ts +4 -4
- package/dist/js/auth/login.d.ts.map +1 -1
- package/dist/js/auth/login.js +8 -4
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/logout.js +6 -1
- package/dist/js/auth/logout.js.map +1 -1
- package/dist/js/auth/refresh.js +9 -0
- package/dist/js/auth/refresh.js.map +1 -1
- package/dist/js/auth/resendOTP.d.ts +4 -4
- package/dist/js/auth/resendOTP.d.ts.map +1 -1
- package/dist/js/auth/resendOTP.js +14 -4
- package/dist/js/auth/resendOTP.js.map +1 -1
- package/dist/js/auth/resetPassword.d.ts +4 -4
- package/dist/js/auth/resetPassword.d.ts.map +1 -1
- package/dist/js/auth/resetPassword.js +14 -4
- package/dist/js/auth/resetPassword.js.map +1 -1
- package/dist/js/auth/signup.d.ts +4 -4
- package/dist/js/auth/signup.d.ts.map +1 -1
- package/dist/js/auth/signup.js +10 -5
- package/dist/js/auth/signup.js.map +1 -1
- package/dist/js/auth/utils/authenticateUser.d.ts +3 -3
- package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
- package/dist/js/auth/utils/authenticateUser.js +13 -3
- package/dist/js/auth/utils/authenticateUser.js.map +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts +1 -1
- package/dist/js/auth/utils/createOTPModel.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPModel.js +8 -3
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createOTPUser.d.ts +3 -3
- package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPUser.js +11 -3
- package/dist/js/auth/utils/createOTPUser.js.map +1 -1
- package/dist/js/auth/utils/createUser.d.ts +3 -3
- package/dist/js/auth/utils/createUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createUser.js +12 -2
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/findRefreshToken.js +5 -1
- package/dist/js/auth/utils/findRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/findRefreshTokenUser.js +1 -0
- package/dist/js/auth/utils/findRefreshTokenUser.js.map +1 -1
- package/dist/js/auth/utils/getOTPUser.js +3 -0
- package/dist/js/auth/utils/getOTPUser.js.map +1 -1
- package/dist/js/auth/utils/getUser.d.ts +3 -3
- package/dist/js/auth/utils/getUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getUser.js +6 -2
- package/dist/js/auth/utils/getUser.js.map +1 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js +7 -1
- package/dist/js/auth/utils/handleRefreshTokenValidation.js.map +1 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js +7 -1
- package/dist/js/auth/utils/handleRotateRefreshToken.js.map +1 -1
- package/dist/js/auth/utils/modeMap.d.ts +12 -12
- package/dist/js/auth/utils/otpVerifiedResponse.js +1 -0
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
- package/dist/js/auth/utils/sendCookie.js +10 -0
- package/dist/js/auth/utils/sendCookie.js.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.d.ts +3 -3
- package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.js +8 -6
- package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
- package/dist/js/auth/verifyOTP.d.ts +4 -4
- package/dist/js/auth/verifyOTP.d.ts.map +1 -1
- package/dist/js/auth/verifyOTP.js +18 -5
- package/dist/js/auth/verifyOTP.js.map +1 -1
- package/dist/js/config/cloudinary.js +1 -0
- package/dist/js/config/cloudinary.js.map +1 -1
- package/dist/js/config/duration.js +7 -0
- package/dist/js/config/duration.js.map +1 -1
- package/dist/js/config/envs.js +23 -3
- package/dist/js/config/envs.js.map +1 -1
- package/dist/js/config/handleReqType.d.ts +1 -1
- package/dist/js/config/handleReqType.d.ts.map +1 -1
- package/dist/js/config/handleReqType.js +4 -3
- package/dist/js/config/handleReqType.js.map +1 -1
- package/dist/js/config/handlerMap.js +4 -0
- package/dist/js/config/handlerMap.js.map +1 -1
- package/dist/js/config/refreshModel.js +1 -0
- package/dist/js/config/refreshModel.js.map +1 -1
- package/dist/js/config/sendEmail.js +1 -0
- package/dist/js/config/sendEmail.js.map +1 -1
- package/dist/js/crud/bunch.crud.js +2 -0
- package/dist/js/crud/bunch.crud.js.map +1 -1
- package/dist/js/crud/create.d.ts +4 -4
- package/dist/js/crud/create.d.ts.map +1 -1
- package/dist/js/crud/create.js +23 -8
- package/dist/js/crud/create.js.map +1 -1
- package/dist/js/crud/createBulk.d.ts +4 -4
- package/dist/js/crud/createBulk.d.ts.map +1 -1
- package/dist/js/crud/createBulk.js +8 -3
- package/dist/js/crud/createBulk.js.map +1 -1
- package/dist/js/crud/email/index.d.ts +2 -0
- package/dist/js/crud/email/index.d.ts.map +1 -0
- package/dist/js/crud/email/index.js +2 -0
- package/dist/js/crud/email/index.js.map +1 -0
- package/dist/js/crud/encryption/handleDecryption.js +8 -3
- package/dist/js/crud/encryption/handleDecryption.js.map +1 -1
- package/dist/js/crud/encryption/handleEncryption.js +7 -3
- package/dist/js/crud/encryption/handleEncryption.js.map +1 -1
- package/dist/js/crud/handleUploads/file.add.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.add.js +16 -9
- package/dist/js/crud/handleUploads/file.add.js.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.js +14 -5
- package/dist/js/crud/handleUploads/file.delete.js.map +1 -1
- package/dist/js/crud/handleUploads/file.update.d.ts +4 -4
- package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.update.js +15 -5
- package/dist/js/crud/handleUploads/file.update.js.map +1 -1
- package/dist/js/crud/index.d.ts +1 -1
- package/dist/js/crud/index.d.ts.map +1 -1
- package/dist/js/crud/index.js +18 -11
- package/dist/js/crud/index.js.map +1 -1
- package/dist/js/crud/read.d.ts +4 -4
- package/dist/js/crud/read.d.ts.map +1 -1
- package/dist/js/crud/read.js +18 -9
- package/dist/js/crud/read.js.map +1 -1
- package/dist/js/crud/readAll.d.ts +3 -3
- package/dist/js/crud/readAll.d.ts.map +1 -1
- package/dist/js/crud/readAll.js +16 -8
- package/dist/js/crud/readAll.js.map +1 -1
- package/dist/js/crud/remove.d.ts +3 -3
- package/dist/js/crud/remove.d.ts.map +1 -1
- package/dist/js/crud/remove.js +19 -8
- package/dist/js/crud/remove.js.map +1 -1
- package/dist/js/crud/removeAll.d.ts +3 -3
- package/dist/js/crud/removeAll.d.ts.map +1 -1
- package/dist/js/crud/removeAll.js +13 -5
- package/dist/js/crud/removeAll.js.map +1 -1
- package/dist/js/crud/removeMultiple.d.ts +4 -4
- package/dist/js/crud/removeMultiple.d.ts.map +1 -1
- package/dist/js/crud/removeMultiple.js +18 -7
- package/dist/js/crud/removeMultiple.js.map +1 -1
- package/dist/js/crud/security/handleDecryption.js +8 -3
- package/dist/js/crud/security/handleDecryption.js.map +1 -1
- package/dist/js/crud/security/handleEncryption.js +7 -3
- package/dist/js/crud/security/handleEncryption.js.map +1 -1
- package/dist/js/crud/security/handleHashing.js +8 -3
- package/dist/js/crud/security/handleHashing.js.map +1 -1
- package/dist/js/crud/update.d.ts +4 -4
- package/dist/js/crud/update.d.ts.map +1 -1
- package/dist/js/crud/update.js +24 -9
- package/dist/js/crud/update.js.map +1 -1
- package/dist/js/crud/utils/authorizeAccess.d.ts +2 -2
- package/dist/js/crud/utils/authorizeAccess.d.ts.map +1 -1
- package/dist/js/crud/utils/authorizeAccess.js +19 -13
- package/dist/js/crud/utils/authorizeAccess.js.map +1 -1
- package/dist/js/crud/utils/getItem.d.ts +3 -3
- package/dist/js/crud/utils/getItem.d.ts.map +1 -1
- package/dist/js/crud/utils/getItem.js +18 -9
- package/dist/js/crud/utils/getItem.js.map +1 -1
- package/dist/js/health/health.collection.js +11 -11
- package/dist/js/health/health.collection.js.map +1 -1
- package/dist/js/health/index.d.ts +1 -1
- package/dist/js/health/index.d.ts.map +1 -1
- package/dist/js/health/index.js +2 -2
- package/dist/js/health/index.js.map +1 -1
- package/dist/js/lib/OAuthProviders.js +1 -1
- package/dist/js/lib/OAuthProviders.js.map +1 -1
- package/dist/js/lib/db.js +1 -0
- package/dist/js/lib/db.js.map +1 -1
- package/dist/js/lib/model.factory.d.ts +10 -1
- package/dist/js/lib/model.factory.d.ts.map +1 -1
- package/dist/js/lib/model.factory.js +18 -4
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/lib/model.registry.js +1 -0
- package/dist/js/lib/model.registry.js.map +1 -1
- package/dist/js/lib/mongoose.fields.js +20 -0
- package/dist/js/lib/mongoose.fields.js.map +1 -1
- package/dist/js/lib/schema.builder.js +3 -0
- package/dist/js/lib/schema.builder.js.map +1 -1
- package/dist/js/lib/unified.fields.d.ts +5 -0
- package/dist/js/lib/unified.fields.d.ts.map +1 -1
- package/dist/js/lib/unified.fields.js +56 -0
- package/dist/js/lib/unified.fields.js.map +1 -1
- package/dist/js/lib/unified.types.d.ts +3 -0
- package/dist/js/lib/unified.types.d.ts.map +1 -1
- package/dist/js/lib/zod.factory.d.ts +13 -0
- package/dist/js/lib/zod.factory.d.ts.map +1 -1
- package/dist/js/lib/zod.factory.js +14 -0
- package/dist/js/lib/zod.factory.js.map +1 -1
- package/dist/js/lib/zod.fields.d.ts +55 -0
- package/dist/js/lib/zod.fields.d.ts.map +1 -1
- package/dist/js/lib/zod.fields.js +56 -0
- package/dist/js/lib/zod.fields.js.map +1 -1
- package/dist/js/middleware/error.middleware.js +1 -0
- package/dist/js/middleware/error.middleware.js.map +1 -1
- package/dist/js/middleware/multer.middleware.d.ts +1 -1
- package/dist/js/middleware/multer.middleware.d.ts.map +1 -1
- package/dist/js/middleware/multer.middleware.js +22 -7
- package/dist/js/middleware/multer.middleware.js.map +1 -1
- package/dist/js/terminal/appInfo.js +11 -11
- package/dist/js/terminal/appInfo.js.map +1 -1
- package/dist/js/terminal/logger.js +1 -1
- package/dist/js/terminal/logger.js.map +1 -1
- package/dist/js/types/ActionHandler.d.ts +86 -11
- package/dist/js/types/ActionHandler.d.ts.map +1 -1
- package/dist/js/types/Collection.d.ts +104 -15
- package/dist/js/types/Collection.d.ts.map +1 -1
- package/dist/js/types/Constructor.d.ts +1 -1
- package/dist/js/types/Constructor.d.ts.map +1 -1
- package/dist/js/types/Route.d.ts +131 -14
- package/dist/js/types/Route.d.ts.map +1 -1
- package/dist/js/types/Routepath.js +15 -0
- package/dist/js/types/Routepath.js.map +1 -1
- package/dist/js/types/email.js +13 -0
- package/dist/js/types/email.js.map +1 -1
- package/dist/js/types/upload.d.ts +57 -5
- package/dist/js/types/upload.d.ts.map +1 -1
- package/dist/js/upload/create.js +9 -6
- package/dist/js/upload/create.js.map +1 -1
- package/dist/js/upload/delete.js +21 -21
- package/dist/js/upload/delete.js.map +1 -1
- package/dist/js/upload/update.js +21 -21
- package/dist/js/upload/update.js.map +1 -1
- package/dist/js/utils/getErrorDetail.d.ts +2 -2
- package/dist/js/utils/getErrorDetail.d.ts.map +1 -1
- package/dist/js/utils/getErrorDetail.js +2 -2
- package/dist/js/utils/getErrorDetail.js.map +1 -1
- package/dist/js/utils/getModel.d.ts +3 -3
- package/dist/js/utils/getModel.d.ts.map +1 -1
- package/dist/js/utils/getModel.js +6 -6
- package/dist/js/utils/getModel.js.map +1 -1
- package/dist/js/utils/libsodium.js +6 -0
- package/dist/js/utils/libsodium.js.map +1 -1
- package/dist/js/utils/otpPurposes.js +38 -0
- package/dist/js/utils/otpPurposes.js.map +1 -1
- package/dist/js/utils/sanitize.js +23 -2
- package/dist/js/utils/sanitize.js.map +1 -1
- package/dist/js/utils/saveRefreshToken.js +2 -1
- package/dist/js/utils/saveRefreshToken.js.map +1 -1
- package/dist/js/utils/validate.js +5 -3
- package/dist/js/utils/validate.js.map +1 -1
- package/dist/js/utils/validationKeyError.d.ts +1 -1
- package/dist/js/utils/validationKeyError.d.ts.map +1 -1
- package/dist/js/utils/validationKeyError.js +13 -8
- package/dist/js/utils/validationKeyError.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +29 -29
|
@@ -9,29 +9,35 @@ import appResponse from "../utils/response.js";
|
|
|
9
9
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
10
10
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
11
11
|
import { getEnvs } from "../config/envs.js";
|
|
12
|
-
const verifyOTP = ({
|
|
12
|
+
const verifyOTP = ({ model, validations, route, routeObj, }) => {
|
|
13
13
|
return async (req, res) => {
|
|
14
|
+
// get dynamic auth field keys
|
|
14
15
|
const { authConfigObj } = getEnvs();
|
|
15
16
|
const { fieldsObj } = authConfigObj;
|
|
16
17
|
const emailKey = fieldsObj?.email;
|
|
17
18
|
const otpKey = fieldsObj?.otp;
|
|
18
19
|
const purposeKey = fieldsObj?.purpose;
|
|
19
|
-
|
|
20
|
+
// validationObj
|
|
21
|
+
const validationObj = getValidationKey(routeObj, validations);
|
|
22
|
+
// validate
|
|
20
23
|
const body = validate(validationObj, req.body, routeObj);
|
|
24
|
+
// if required fields not found
|
|
21
25
|
if (!req.body?.[emailKey] ||
|
|
22
26
|
!req.body?.[otpKey] ||
|
|
23
27
|
!req.body?.[purposeKey])
|
|
24
28
|
throw new AppError({
|
|
25
29
|
message: `${emailKey}, ${otpKey} and ${purposeKey} are required.`,
|
|
26
30
|
statusCode: 400,
|
|
27
|
-
hint: `Check if ${emailKey}, ${otpKey} or ${purposeKey} is missing in collection ->
|
|
31
|
+
hint: `Check if ${emailKey}, ${otpKey} or ${purposeKey} is missing in collection -> validations -> ${routeObj.validation}.`,
|
|
28
32
|
details: getErrorDetail(routeObj),
|
|
29
33
|
});
|
|
34
|
+
// OTPModel: otp model
|
|
30
35
|
const OTPModel = getOTPModel(routeObj);
|
|
31
36
|
const OTPData = await OTPModel.findOne({
|
|
32
37
|
[emailKey]: body[emailKey],
|
|
33
38
|
[purposeKey]: body[purposeKey],
|
|
34
39
|
}).select("+password");
|
|
40
|
+
// if otp request not found
|
|
35
41
|
if (!OTPData)
|
|
36
42
|
throw new AppError({
|
|
37
43
|
message: "OTP request not found.",
|
|
@@ -39,6 +45,7 @@ const verifyOTP = ({ modelName, validationsObj, routeName, routeObj, }) => {
|
|
|
39
45
|
hint: `Request a new OTP or verify the provided ${emailKey} and ${purposeKey}.`,
|
|
40
46
|
details: getErrorDetail(routeObj),
|
|
41
47
|
});
|
|
48
|
+
// if otp already verified
|
|
42
49
|
if (OTPData.isVerified) {
|
|
43
50
|
appResponse({
|
|
44
51
|
res,
|
|
@@ -51,6 +58,7 @@ const verifyOTP = ({ modelName, validationsObj, routeName, routeObj, }) => {
|
|
|
51
58
|
});
|
|
52
59
|
return;
|
|
53
60
|
}
|
|
61
|
+
// if otp try limit reached
|
|
54
62
|
if (OTPData.otpCount > OTPData.maxOTPTries)
|
|
55
63
|
throw new AppError({
|
|
56
64
|
message: "Maximum OTP verification attempts exceeded.",
|
|
@@ -58,6 +66,7 @@ const verifyOTP = ({ modelName, validationsObj, routeName, routeObj, }) => {
|
|
|
58
66
|
hint: "Request a new OTP before trying again.",
|
|
59
67
|
details: getErrorDetail(routeObj),
|
|
60
68
|
});
|
|
69
|
+
// if otp expired
|
|
61
70
|
if (new Date() > OTPData.otpExpiry)
|
|
62
71
|
throw new AppError({
|
|
63
72
|
message: "OTP has expired.",
|
|
@@ -65,6 +74,7 @@ const verifyOTP = ({ modelName, validationsObj, routeName, routeObj, }) => {
|
|
|
65
74
|
hint: "Request a new OTP and try again.",
|
|
66
75
|
details: getErrorDetail(routeObj),
|
|
67
76
|
});
|
|
77
|
+
// if otp didn't match
|
|
68
78
|
const isValid = await verifyHash(body[otpKey], OTPData[otpKey], routeObj);
|
|
69
79
|
if (!isValid) {
|
|
70
80
|
await OTPModel.updateOne({ _id: OTPData._id }, { $inc: { otpCount: 1 } });
|
|
@@ -75,17 +85,20 @@ const verifyOTP = ({ modelName, validationsObj, routeName, routeObj, }) => {
|
|
|
75
85
|
details: getErrorDetail(routeObj),
|
|
76
86
|
});
|
|
77
87
|
}
|
|
88
|
+
// update - isVerified: true
|
|
78
89
|
await OTPModel.updateOne({ _id: OTPData._id }, { $set: { isVerified: true } });
|
|
90
|
+
// purpose: func - map
|
|
79
91
|
const purposeMap = {
|
|
80
92
|
signup: createUser,
|
|
81
93
|
login: authenticateUser,
|
|
82
94
|
password_reset: otpVerifiedResponse,
|
|
83
95
|
};
|
|
96
|
+
// call func via map
|
|
84
97
|
purposeMap[OTPData[purposeKey]]({
|
|
85
98
|
body: OTPData,
|
|
86
99
|
res,
|
|
87
|
-
|
|
88
|
-
|
|
100
|
+
route,
|
|
101
|
+
model,
|
|
89
102
|
routeObj,
|
|
90
103
|
req,
|
|
91
104
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyOTP.js","sourceRoot":"","sources":["../../../src/js/auth/verifyOTP.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,SAAS,GAAG,CAAC,EACjB,
|
|
1
|
+
{"version":3,"file":"verifyOTP.js","sourceRoot":"","sources":["../../../src/js/auth/verifyOTP.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { v2 as cloudinary } from "cloudinary";
|
|
2
2
|
import { getEnvs } from "./envs.js";
|
|
3
3
|
import AppError from "../utils/AppError.js";
|
|
4
|
+
// setup cloudinary
|
|
4
5
|
const setupCloudinary = (routeObj) => {
|
|
5
6
|
const { cloudinaryAPIKey, cloudinaryCloudName, cloudinaryAPISecret } = getEnvs();
|
|
6
7
|
if (!cloudinaryAPIKey || !cloudinaryCloudName || !cloudinaryAPISecret)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudinary.js","sourceRoot":"","sources":["../../../src/js/config/cloudinary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cloudinary.js","sourceRoot":"","sources":["../../../src/js/config/cloudinary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,mBAAmB;AACnB,MAAM,eAAe,GAAG,CAAC,QAAe,EAAE,EAAE;IAC1C,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAClE,OAAO,EAAE,CAAC;IAEZ,IAAI,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB;QACnE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EACL,4EAA4E;YAC9E,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,8FAA8F;YACpG,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,UAAU,CAAC,MAAM,CAAC;QAChB,UAAU,EAAE,mBAA6B;QACzC,OAAO,EAAE,gBAA0B;QACnC,UAAU,EAAE,mBAA6B;KAC1C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import AppError from "../utils/AppError.js";
|
|
2
2
|
export const DURATIONS = {
|
|
3
|
+
// Seconds
|
|
3
4
|
"0s": 1 * 1000,
|
|
4
5
|
"5s": 5 * 1000,
|
|
5
6
|
"10s": 10 * 1000,
|
|
@@ -7,6 +8,7 @@ export const DURATIONS = {
|
|
|
7
8
|
"20s": 20 * 1000,
|
|
8
9
|
"30s": 30 * 1000,
|
|
9
10
|
"45s": 45 * 1000,
|
|
11
|
+
// Minutes
|
|
10
12
|
"1m": 1 * 60 * 1000,
|
|
11
13
|
"2m": 2 * 60 * 1000,
|
|
12
14
|
"3m": 3 * 60 * 1000,
|
|
@@ -16,6 +18,7 @@ export const DURATIONS = {
|
|
|
16
18
|
"20m": 20 * 60 * 1000,
|
|
17
19
|
"30m": 30 * 60 * 1000,
|
|
18
20
|
"45m": 45 * 60 * 1000,
|
|
21
|
+
// Hours
|
|
19
22
|
"1h": 1 * 60 * 60 * 1000,
|
|
20
23
|
"2h": 2 * 60 * 60 * 1000,
|
|
21
24
|
"3h": 3 * 60 * 60 * 1000,
|
|
@@ -25,6 +28,7 @@ export const DURATIONS = {
|
|
|
25
28
|
"12h": 12 * 60 * 60 * 1000,
|
|
26
29
|
"18h": 18 * 60 * 60 * 1000,
|
|
27
30
|
"24h": 24 * 60 * 60 * 1000,
|
|
31
|
+
// Days
|
|
28
32
|
"1d": 1 * 24 * 60 * 60 * 1000,
|
|
29
33
|
"2d": 2 * 24 * 60 * 60 * 1000,
|
|
30
34
|
"3d": 3 * 24 * 60 * 60 * 1000,
|
|
@@ -35,18 +39,21 @@ export const DURATIONS = {
|
|
|
35
39
|
"14d": 14 * 24 * 60 * 60 * 1000,
|
|
36
40
|
"21d": 21 * 24 * 60 * 60 * 1000,
|
|
37
41
|
"30d": 30 * 24 * 60 * 60 * 1000,
|
|
42
|
+
// Weeks
|
|
38
43
|
"1w": 7 * 24 * 60 * 60 * 1000,
|
|
39
44
|
"2w": 14 * 24 * 60 * 60 * 1000,
|
|
40
45
|
"3w": 21 * 24 * 60 * 60 * 1000,
|
|
41
46
|
"4w": 28 * 24 * 60 * 60 * 1000,
|
|
42
47
|
"6w": 42 * 24 * 60 * 60 * 1000,
|
|
43
48
|
"8w": 56 * 24 * 60 * 60 * 1000,
|
|
49
|
+
// Months (30-day approximation)
|
|
44
50
|
"1mo": 30 * 24 * 60 * 60 * 1000,
|
|
45
51
|
"2mo": 60 * 24 * 60 * 60 * 1000,
|
|
46
52
|
"3mo": 90 * 24 * 60 * 60 * 1000,
|
|
47
53
|
"6mo": 180 * 24 * 60 * 60 * 1000,
|
|
48
54
|
"9mo": 270 * 24 * 60 * 60 * 1000,
|
|
49
55
|
"12mo": 365 * 24 * 60 * 60 * 1000,
|
|
56
|
+
// Years
|
|
50
57
|
"1y": 365 * 24 * 60 * 60 * 1000,
|
|
51
58
|
"2y": 2 * 365 * 24 * 60 * 60 * 1000,
|
|
52
59
|
"3y": 3 * 365 * 24 * 60 * 60 * 1000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/js/config/duration.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,MAAM,CAAC,MAAM,SAAS,GAAG;
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/js/config/duration.ts"],"names":[],"mappings":"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"}
|
package/dist/js/config/envs.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import AppLog from "../utils/AppLog.js";
|
|
2
2
|
import { defaultConfig } from "./defaultConfig.js";
|
|
3
3
|
let envs = { ...defaultConfig };
|
|
4
|
+
// validateAuthConfigError handling
|
|
4
5
|
const vAError = (str) => {
|
|
5
6
|
throw new Error(`authConfigObj.${str} is requried in StarkForge({}) -> authConfigObj.`);
|
|
6
7
|
};
|
|
@@ -9,23 +10,32 @@ const placeholderError = (key, value) => {
|
|
|
9
10
|
throw new Error(`"${value}" is just a placeholder, use a valid value for the key "${key}" in StarkForge({}) -> authConfigObj.`);
|
|
10
11
|
}
|
|
11
12
|
};
|
|
13
|
+
// validateAuthConfigError
|
|
12
14
|
const validateAuth = (config) => {
|
|
13
15
|
try {
|
|
16
|
+
// if mode is manual -> return;
|
|
14
17
|
if (config.mode !== "builtin")
|
|
15
18
|
return;
|
|
19
|
+
// if value -> [placeholder]
|
|
16
20
|
for (const [key, value] of Object.entries(config.fieldsObj)) {
|
|
17
21
|
placeholderError(key, value);
|
|
18
22
|
}
|
|
23
|
+
// if config.schemaObj isn't found -> error
|
|
19
24
|
if (!config.schemaObj)
|
|
20
25
|
vAError("schemaObj");
|
|
26
|
+
// keys that are required
|
|
21
27
|
const requiredKeys = ["email", "password", "otp", "purpose"];
|
|
28
|
+
// loop for missing keys
|
|
22
29
|
for (const key of requiredKeys) {
|
|
23
30
|
if (!(key in config.fieldsObj))
|
|
24
31
|
vAError(`fieldsObj.${key}`);
|
|
25
32
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
33
|
+
// if model -> [model]
|
|
34
|
+
placeholderError("model", config.schemaObj?.model);
|
|
35
|
+
// if model isn't found
|
|
36
|
+
if (!config.schemaObj?.model)
|
|
37
|
+
vAError("schemaObj.model");
|
|
38
|
+
// if schema is missing
|
|
29
39
|
if (!config.schemaObj?.schema)
|
|
30
40
|
vAError("schemaObj.schema");
|
|
31
41
|
}
|
|
@@ -36,28 +46,38 @@ const validateAuth = (config) => {
|
|
|
36
46
|
};
|
|
37
47
|
const setEnvs = (values) => {
|
|
38
48
|
const authConfig = values.authConfigObj;
|
|
49
|
+
// Token expiration
|
|
39
50
|
authConfig.accessTokenAge ??= "10m";
|
|
40
51
|
authConfig.refreshTokenAge ??= "30d";
|
|
52
|
+
// Token rotation
|
|
41
53
|
authConfig.rotateRefreshToken ??= true;
|
|
42
54
|
authConfig.refreshTokenRotationInterval ??= "0s";
|
|
55
|
+
// Token names
|
|
43
56
|
authConfig.accessTokenName ??= "accessToken";
|
|
44
57
|
authConfig.refreshTokenName ??= "refreshToken";
|
|
58
|
+
// Return tokens
|
|
45
59
|
authConfig.returnAccessToken ??= false;
|
|
46
60
|
authConfig.returnRefreshToken ??= false;
|
|
61
|
+
// User verification
|
|
47
62
|
authConfig.verifyAccessUser ??= true;
|
|
63
|
+
// Modes
|
|
48
64
|
authConfig.loginMode ??= "otp";
|
|
49
65
|
authConfig.signupMode ??= "otp";
|
|
66
|
+
// Fields
|
|
50
67
|
authConfig.fieldsObj ??= {
|
|
51
68
|
email: "email",
|
|
52
69
|
otp: "otp",
|
|
53
70
|
password: "password",
|
|
54
71
|
purpose: "purpose",
|
|
55
72
|
};
|
|
73
|
+
// fieldNames
|
|
56
74
|
authConfig.fieldsObj.email ??= "email";
|
|
57
75
|
authConfig.fieldsObj.otp ??= "otp";
|
|
58
76
|
authConfig.fieldsObj.password ??= "password";
|
|
59
77
|
authConfig.fieldsObj.purpose ??= "purpose";
|
|
78
|
+
// Validation checkpoint
|
|
60
79
|
validateAuth(authConfig);
|
|
80
|
+
// Save final config
|
|
61
81
|
envs = values;
|
|
62
82
|
};
|
|
63
83
|
const getEnvs = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,IAAI,IAAI,GAAwB,EAAE,GAAG,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"envs.js","sourceRoot":"","sources":["../../../src/js/config/envs.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ import type { Express } from "express";
|
|
|
2
2
|
import type { ReqType } from "../types/Collection.ts";
|
|
3
3
|
import type { Route } from "../types/Collection.ts";
|
|
4
4
|
import type { MongooseSchema, ValidationsObj } from "../types/Collection.ts";
|
|
5
|
-
declare const handleReqType: (
|
|
5
|
+
declare const handleReqType: (type: ReqType, app: Express, route: string, routes: Route[], model: string | undefined, validations?: ValidationsObj, schema?: MongooseSchema) => void;
|
|
6
6
|
export default handleReqType;
|
|
7
7
|
//# sourceMappingURL=handleReqType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleReqType.d.ts","sourceRoot":"","sources":["../../../src/js/config/handleReqType.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAS7E,QAAA,MAAM,aAAa,GACjB,
|
|
1
|
+
{"version":3,"file":"handleReqType.d.ts","sourceRoot":"","sources":["../../../src/js/config/handleReqType.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAS7E,QAAA,MAAM,aAAa,GACjB,MAAM,OAAO,EACb,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,QAAQ,KAAK,EAAE,EACf,OAAO,MAAM,GAAG,SAAS,EACzB,cAAc,cAAc,EAC5B,SAAS,cAAc,SAcxB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -8,10 +8,11 @@ const reqMap = {
|
|
|
8
8
|
crud,
|
|
9
9
|
account
|
|
10
10
|
};
|
|
11
|
-
const handleReqType = (
|
|
12
|
-
if (!
|
|
11
|
+
const handleReqType = (type, app, route, routes, model, validations, schema) => {
|
|
12
|
+
if (!type)
|
|
13
13
|
return;
|
|
14
|
-
|
|
14
|
+
// health(app, health, [{...}])
|
|
15
|
+
reqMap[type](app, route, routes, model, validations, schema);
|
|
15
16
|
};
|
|
16
17
|
export default handleReqType;
|
|
17
18
|
//# sourceMappingURL=handleReqType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleReqType.js","sourceRoot":"","sources":["../../../src/js/config/handleReqType.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAM1C,MAAM,MAAM,GAAG;IACb,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,OAAO;CACR,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,
|
|
1
|
+
{"version":3,"file":"handleReqType.js","sourceRoot":"","sources":["../../../src/js/config/handleReqType.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAM1C,MAAM,MAAM,GAAG;IACb,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,OAAO;CACR,CAAC;AAEF,MAAM,aAAa,GAAG,CACpB,IAAa,EACb,GAAY,EACZ,KAAa,EACb,MAAe,EACf,KAAyB,EACzB,WAA4B,EAC5B,MAAuB,EACvB,EAAE;IAEF,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,+BAA+B;IAC/B,MAAM,CAAC,IAAI,CAAC,CACV,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,WAAW,EACX,MAAM,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
// health handlers
|
|
1
2
|
import { healthDelete, healthGet, healthPatch, healthPost, healthPut, } from "../health/bunch.health.js";
|
|
3
|
+
// auth handlers
|
|
2
4
|
import { signup, verifyOTP, login, resendOTP, forgotPassword, resetPassword, logout, refresh, } from "../auth/bunch.auth.js";
|
|
5
|
+
// account handlers
|
|
3
6
|
import { getMe, updateMe, deleteMe } from "../account/bunch.account.js";
|
|
7
|
+
// crud handlers
|
|
4
8
|
import { read, create, readAll, createBulk, remove, removeMultiple, removeAll, update, updateFile, deleteFile, addFile, } from "../crud/bunch.crud.js";
|
|
5
9
|
const handlerMap = {
|
|
6
10
|
healthDelete,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlerMap.js","sourceRoot":"","sources":["../../../src/js/config/handlerMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlerMap.js","sourceRoot":"","sources":["../../../src/js/config/handlerMap.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,2BAA2B,CAAC;AAEnC,gBAAgB;AAChB,OAAO,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,MAAM,EACN,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAExE,gBAAgB;AAChB,OAAO,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,UAAU,EACV,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,UAAU,EACV,UAAU,EACV,OAAO,GACR,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,GAAwB;IACtC,YAAY;IACZ,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,KAAK;IACL,SAAS;IACT,cAAc;IACd,aAAa;IACb,MAAM;IACN,OAAO;IACP,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,cAAc;IACd,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;CACT,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -46,6 +46,7 @@ const refreshModelDefinition = {
|
|
|
46
46
|
index: true,
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
|
+
// create refresh model
|
|
49
50
|
const createRefreshModel = async () => (registerModel["RefreshToken"] = createModel("RefreshToken", refreshModelDefinition));
|
|
50
51
|
export default createRefreshModel;
|
|
51
52
|
//# sourceMappingURL=refreshModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refreshModel.js","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpC,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;KACf;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ;IAED,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;KACZ;IAED,UAAU,EAAE,UAAU;IAEtB,UAAU,EAAE,UAAU;IAEtB,SAAS,EAAE,UAAU;IAErB,EAAE,EAAE,UAAU;IAEd,OAAO,EAAE,UAAU;IAEnB,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACtB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACZ;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"refreshModel.js","sourceRoot":"","sources":["../../../src/js/config/refreshModel.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAErD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ;QACpC,GAAG,EAAE,MAAM;QACX,QAAQ,EAAE,IAAI;KACf;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;KACf;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ;IAED,GAAG,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;KACZ;IAED,UAAU,EAAE,UAAU;IAEtB,UAAU,EAAE,UAAU;IAEtB,SAAS,EAAE,UAAU;IAErB,EAAE,EAAE,UAAU;IAEd,OAAO,EAAE,UAAU;IAEnB,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,GAAG;KAClB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KACtB;IAED,OAAO,EAAE;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;KACZ;CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE,CACpC,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,WAAW,CAC1C,cAAc,EACd,sBAAsB,CACvB,CAAC,CAAC;AAEL,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../../src/js/config/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAW5C,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,EAAE,EACF,QAAQ,GACF,EAAoB,EAAE;IAC5B,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,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,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../../src/js/config/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAW5C,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,EAAE,EACF,QAAQ,GACF,EAAoB,EAAE;IAC5B,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,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,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,6CAA6C;IAE7C,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,0BAA0B;YACnC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IAExC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,IAAI;QACJ,EAAE;QACF,OAAO;QACP,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// ./
|
|
1
2
|
export { default as read } from "./read.js";
|
|
2
3
|
export { default as readAll } from "./readAll.js";
|
|
3
4
|
export { default as createBulk } from "./createBulk.js";
|
|
@@ -6,6 +7,7 @@ export { default as update } from "./update.js";
|
|
|
6
7
|
export { default as remove } from "./remove.js";
|
|
7
8
|
export { default as removeMultiple } from "./removeMultiple.js";
|
|
8
9
|
export { default as removeAll } from "./removeAll.js";
|
|
10
|
+
// ./files
|
|
9
11
|
export { default as updateFile } from "./handleUploads/file.update.js";
|
|
10
12
|
export { default as deleteFile } from "./handleUploads/file.delete.js";
|
|
11
13
|
export { default as addFile } from "./handleUploads/file.add.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bunch.crud.js","sourceRoot":"","sources":["../../../src/js/crud/bunch.crud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bunch.crud.js","sourceRoot":"","sources":["../../../src/js/crud/bunch.crud.ts"],"names":[],"mappings":"AAAA,KAAK;AACL,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,6BAA6B,CAAC"}
|
package/dist/js/crud/create.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { Route, ValidationsObj } from "../types/Collection.js";
|
|
3
|
-
declare const create: ({
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const create: ({ model, route, routeObj, validations, }: {
|
|
4
|
+
model: string;
|
|
5
|
+
route: string;
|
|
6
6
|
routeObj: Route;
|
|
7
|
-
|
|
7
|
+
validations: ValidationsObj;
|
|
8
8
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
9
9
|
export default create;
|
|
10
10
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAcpE,QAAA,MAAM,MAAM,GAAI,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAcpE,QAAA,MAAM,MAAM,GAAI,0CAKb;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAyGzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/js/crud/create.js
CHANGED
|
@@ -10,27 +10,35 @@ import getErrorDetail from "../utils/getErrorDetail.js";
|
|
|
10
10
|
import handleEncryption from "./encryption/handleEncryption.js";
|
|
11
11
|
import handleHashing from "./security/handleHashing.js";
|
|
12
12
|
import runActions from "./utils/runActions.js";
|
|
13
|
-
const create = ({
|
|
13
|
+
const create = ({ model, route, routeObj, validations, }) => {
|
|
14
14
|
return async (req, res) => {
|
|
15
|
-
|
|
15
|
+
// validationObj
|
|
16
|
+
const validationObj = getValidationKey(routeObj, validations);
|
|
17
|
+
// validate
|
|
16
18
|
const body = validate(validationObj, req.body, routeObj);
|
|
19
|
+
// if files
|
|
17
20
|
const fileMetaData = await handleUploadFiles(req, routeObj);
|
|
21
|
+
// if encryptedFields
|
|
18
22
|
const encryptedFields = await handleEncryption(req.body, routeObj);
|
|
23
|
+
// if hashedFields
|
|
19
24
|
const hashedFields = await handleHashing(req.body, routeObj);
|
|
20
|
-
|
|
25
|
+
// model
|
|
26
|
+
const Model = getModel({ model, route, routeObj });
|
|
27
|
+
// owner
|
|
21
28
|
const owner = req.user?._id;
|
|
22
29
|
if (!owner)
|
|
23
30
|
throw new AppError({
|
|
24
|
-
message: "
|
|
31
|
+
message: "auth should'nt be public",
|
|
25
32
|
statusCode: 409,
|
|
26
|
-
hint: "Make the
|
|
33
|
+
hint: "Make the auth admin or admin-or-owner",
|
|
27
34
|
details: getErrorDetail(routeObj),
|
|
28
35
|
});
|
|
36
|
+
// runActions object
|
|
29
37
|
const ActionObj = {
|
|
30
38
|
req,
|
|
31
39
|
user: req.user,
|
|
32
|
-
|
|
33
|
-
|
|
40
|
+
route,
|
|
41
|
+
model,
|
|
34
42
|
Model,
|
|
35
43
|
data: {
|
|
36
44
|
owner,
|
|
@@ -40,10 +48,12 @@ const create = ({ modelName, routeName, routeObj, validationsObj, }) => {
|
|
|
40
48
|
hashedFields,
|
|
41
49
|
},
|
|
42
50
|
};
|
|
51
|
+
// before action
|
|
43
52
|
let modifiedResponse = await runActions(routeObj.actions?.before, {
|
|
44
53
|
operation: "create",
|
|
45
54
|
...ActionObj,
|
|
46
55
|
});
|
|
56
|
+
// create
|
|
47
57
|
let newItem = null;
|
|
48
58
|
try {
|
|
49
59
|
newItem = await Model.create({
|
|
@@ -55,13 +65,15 @@ const create = ({ modelName, routeName, routeObj, validationsObj, }) => {
|
|
|
55
65
|
});
|
|
56
66
|
}
|
|
57
67
|
catch (err) {
|
|
68
|
+
// err as Error
|
|
58
69
|
const e = err;
|
|
70
|
+
// if duplicate key error
|
|
59
71
|
if (e.name === "MongoServerError") {
|
|
60
72
|
const field = Object.keys(err.keyPattern)[0];
|
|
61
73
|
throw new AppError({
|
|
62
74
|
message: `Item with this '${field}' already exists`,
|
|
63
75
|
statusCode: 409,
|
|
64
|
-
hint: `'${field}' is declared as unique in collection ->
|
|
76
|
+
hint: `'${field}' is declared as unique in collection -> schema`,
|
|
65
77
|
details: {
|
|
66
78
|
handler: routeObj.handler,
|
|
67
79
|
method: routeObj.method,
|
|
@@ -69,6 +81,7 @@ const create = ({ modelName, routeName, routeObj, validationsObj, }) => {
|
|
|
69
81
|
},
|
|
70
82
|
});
|
|
71
83
|
}
|
|
84
|
+
// throw e.message
|
|
72
85
|
throw new AppError({
|
|
73
86
|
message: e.message,
|
|
74
87
|
statusCode: 409,
|
|
@@ -77,11 +90,13 @@ const create = ({ modelName, routeName, routeObj, validationsObj, }) => {
|
|
|
77
90
|
});
|
|
78
91
|
}
|
|
79
92
|
const cleaned = sanitizeOne(newItem.toObject(), routeObj);
|
|
93
|
+
// after action
|
|
80
94
|
modifiedResponse = await runActions(routeObj.actions?.after, {
|
|
81
95
|
...ActionObj,
|
|
82
96
|
operation: "create",
|
|
83
97
|
item: cleaned,
|
|
84
98
|
});
|
|
99
|
+
// appresponse
|
|
85
100
|
appResponse({
|
|
86
101
|
res,
|
|
87
102
|
data: modifiedResponse ?? cleaned,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,aAAa,MAAM,6BAA6B,CAAC;AACxD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,MAAM,GAAG,CAAC,EACd,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/js/crud/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Request, Response } from "express";
|
|
2
2
|
import type { ValidationsObj, Route } from "../types/Collection.js";
|
|
3
|
-
declare const createBulk: ({
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const createBulk: ({ model, route, validations, routeObj, }: {
|
|
4
|
+
model: string;
|
|
5
|
+
route: string;
|
|
6
6
|
routeObj: Route;
|
|
7
|
-
|
|
7
|
+
validations: ValidationsObj;
|
|
8
8
|
}) => (req: Request, res: Response) => Promise<void>;
|
|
9
9
|
export default createBulk;
|
|
10
10
|
//# sourceMappingURL=createBulk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBulk.d.ts","sourceRoot":"","sources":["../../../src/js/crud/createBulk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,UAAU,GAAI,
|
|
1
|
+
{"version":3,"file":"createBulk.d.ts","sourceRoot":"","sources":["../../../src/js/crud/createBulk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAOpE,QAAA,MAAM,UAAU,GAAI,0CAKjB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;IAChB,WAAW,EAAE,cAAc,CAAC;CAC7B,MACe,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAoBzD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -3,12 +3,17 @@ import getModel from "../utils/getModel.js";
|
|
|
3
3
|
import { sanitizeMany } from "../utils/sanitize.js";
|
|
4
4
|
import appResponse from "../utils/response.js";
|
|
5
5
|
import getValidationKey from "../utils/validationKeyError.js";
|
|
6
|
-
const createBulk = ({
|
|
6
|
+
const createBulk = ({ model, route, validations, routeObj, }) => {
|
|
7
7
|
return async (req, res) => {
|
|
8
|
-
|
|
8
|
+
// validationObj
|
|
9
|
+
const validationObj = getValidationKey(routeObj, validations);
|
|
10
|
+
// validate
|
|
9
11
|
const body = validate(validationObj, req.body, routeObj);
|
|
10
|
-
|
|
12
|
+
// model
|
|
13
|
+
const Model = getModel({ model, route, routeObj });
|
|
14
|
+
// create
|
|
11
15
|
const newItems = await Model.insertMany(body);
|
|
16
|
+
// return response
|
|
12
17
|
appResponse({
|
|
13
18
|
res,
|
|
14
19
|
data: sanitizeMany(newItems, routeObj),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBulk.js","sourceRoot":"","sources":["../../../src/js/crud/createBulk.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,MAAM,UAAU,GAAG,CAAC,EAClB,
|
|
1
|
+
{"version":3,"file":"createBulk.js","sourceRoot":"","sources":["../../../src/js/crud/createBulk.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,GAMT,EAAE,EAAE;IACH,OAAO,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QAC1D,gBAAgB;QAChB,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,WAAW;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzD,QAAQ;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE9C,kBAAkB;QAClB,WAAW,CAAC;YACV,GAAG;YACH,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACtC,OAAO,EAAE,6BAA6B;SACvC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/email/index.ts"],"names":[],"mappings":""}
|