@starklabs/forge 1.1.2 → 1.2.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/app.d.ts +2 -1
- package/dist/js/app.d.ts.map +1 -1
- package/dist/js/app.js +5 -3
- package/dist/js/app.js.map +1 -1
- package/dist/js/auth/forgotPassword.d.ts +2 -2
- package/dist/js/auth/forgotPassword.d.ts.map +1 -1
- package/dist/js/auth/forgotPassword.js +6 -6
- package/dist/js/auth/forgotPassword.js.map +1 -1
- package/dist/js/auth/index.js +5 -5
- package/dist/js/auth/index.js.map +1 -1
- package/dist/js/auth/login.d.ts +2 -2
- package/dist/js/auth/login.d.ts.map +1 -1
- package/dist/js/auth/login.js +6 -6
- package/dist/js/auth/login.js.map +1 -1
- package/dist/js/auth/logout.d.ts +1 -1
- package/dist/js/auth/logout.d.ts.map +1 -1
- package/dist/js/auth/logout.js +2 -2
- package/dist/js/auth/logout.js.map +1 -1
- package/dist/js/auth/resendOTP.d.ts +2 -2
- package/dist/js/auth/resendOTP.d.ts.map +1 -1
- package/dist/js/auth/resendOTP.js +8 -8
- package/dist/js/auth/resendOTP.js.map +1 -1
- package/dist/js/auth/resetPassword.d.ts +2 -2
- package/dist/js/auth/resetPassword.d.ts.map +1 -1
- package/dist/js/auth/resetPassword.js +9 -9
- package/dist/js/auth/resetPassword.js.map +1 -1
- package/dist/js/auth/signup.d.ts +2 -2
- package/dist/js/auth/signup.d.ts.map +1 -1
- package/dist/js/auth/signup.js +8 -8
- package/dist/js/auth/signup.js.map +1 -1
- package/dist/js/auth/utils/authenticateUser.d.ts +2 -2
- package/dist/js/auth/utils/authenticateUser.d.ts.map +1 -1
- package/dist/js/auth/utils/authenticateUser.js +8 -8
- 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 +17 -8
- package/dist/js/auth/utils/createOTPModel.js.map +1 -1
- package/dist/js/auth/utils/createOTPUser.d.ts +2 -2
- package/dist/js/auth/utils/createOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createOTPUser.js +10 -10
- package/dist/js/auth/utils/createOTPUser.js.map +1 -1
- package/dist/js/auth/utils/createUser.d.ts +2 -2
- package/dist/js/auth/utils/createUser.d.ts.map +1 -1
- package/dist/js/auth/utils/createUser.js +7 -7
- package/dist/js/auth/utils/createUser.js.map +1 -1
- package/dist/js/auth/utils/getOTPModel.d.ts +1 -1
- package/dist/js/auth/utils/getOTPModel.d.ts.map +1 -1
- package/dist/js/auth/utils/getOTPModel.js +4 -4
- package/dist/js/auth/utils/getOTPModel.js.map +1 -1
- package/dist/js/auth/utils/getOTPUser.d.ts +2 -2
- package/dist/js/auth/utils/getOTPUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getOTPUser.js +5 -5
- package/dist/js/auth/utils/getOTPUser.js.map +1 -1
- package/dist/js/auth/utils/getUser.d.ts +2 -2
- package/dist/js/auth/utils/getUser.d.ts.map +1 -1
- package/dist/js/auth/utils/getUser.js +5 -5
- package/dist/js/auth/utils/getUser.js.map +1 -1
- package/dist/js/auth/utils/handleIsVerified.d.ts +2 -2
- package/dist/js/auth/utils/handleIsVerified.d.ts.map +1 -1
- package/dist/js/auth/utils/handleIsVerified.js +3 -3
- package/dist/js/auth/utils/handleIsVerified.js.map +1 -1
- package/dist/js/auth/utils/modeMap.d.ts +8 -8
- package/dist/js/auth/utils/otpVerifiedResponse.d.ts +2 -2
- package/dist/js/auth/utils/otpVerifiedResponse.d.ts.map +1 -1
- package/dist/js/auth/utils/otpVerifiedResponse.js +4 -4
- package/dist/js/auth/utils/otpVerifiedResponse.js.map +1 -1
- package/dist/js/auth/utils/sendCookie.d.ts +4 -4
- package/dist/js/auth/utils/sendCookie.d.ts.map +1 -1
- package/dist/js/auth/utils/sendCookie.js +16 -16
- package/dist/js/auth/utils/sendCookie.js.map +1 -1
- package/dist/js/auth/utils/sendOTP.d.ts +1 -1
- package/dist/js/auth/utils/sendOTP.d.ts.map +1 -1
- package/dist/js/auth/utils/sendOTP.js +8 -8
- package/dist/js/auth/utils/sendOTP.js.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.d.ts +2 -2
- package/dist/js/auth/utils/verifyCredentials.d.ts.map +1 -1
- package/dist/js/auth/utils/verifyCredentials.js +9 -9
- package/dist/js/auth/utils/verifyCredentials.js.map +1 -1
- package/dist/js/auth/verifyOTP.d.ts +2 -2
- package/dist/js/auth/verifyOTP.d.ts.map +1 -1
- package/dist/js/auth/verifyOTP.js +14 -14
- package/dist/js/auth/verifyOTP.js.map +1 -1
- package/dist/js/config/cloudinary.d.ts +1 -1
- package/dist/js/config/cloudinary.d.ts.map +1 -1
- package/dist/js/config/cloudinary.js +4 -4
- package/dist/js/config/cloudinary.js.map +1 -1
- package/dist/js/config/duration.d.ts +1 -1
- package/dist/js/config/duration.d.ts.map +1 -1
- package/dist/js/config/duration.js +4 -4
- package/dist/js/config/duration.js.map +1 -1
- package/dist/js/config/handleReqType.d.ts.map +1 -1
- package/dist/js/config/handleReqType.js +3 -1
- package/dist/js/config/handleReqType.js.map +1 -1
- package/dist/js/config/sendEmail.d.ts +2 -2
- package/dist/js/config/sendEmail.d.ts.map +1 -1
- package/dist/js/config/sendEmail.js +19 -19
- package/dist/js/config/sendEmail.js.map +1 -1
- package/dist/js/crud/create.d.ts +2 -2
- package/dist/js/crud/create.d.ts.map +1 -1
- package/dist/js/crud/create.js +11 -11
- package/dist/js/crud/create.js.map +1 -1
- package/dist/js/crud/createBulk.d.ts +2 -2
- package/dist/js/crud/createBulk.d.ts.map +1 -1
- package/dist/js/crud/createBulk.js +5 -5
- package/dist/js/crud/createBulk.js.map +1 -1
- package/dist/js/crud/handleUploads/file.add.d.ts +2 -2
- package/dist/js/crud/handleUploads/file.add.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.add.js +12 -12
- package/dist/js/crud/handleUploads/file.add.js.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.d.ts +2 -2
- package/dist/js/crud/handleUploads/file.delete.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.delete.js +8 -8
- package/dist/js/crud/handleUploads/file.delete.js.map +1 -1
- package/dist/js/crud/handleUploads/file.update.d.ts +2 -2
- package/dist/js/crud/handleUploads/file.update.d.ts.map +1 -1
- package/dist/js/crud/handleUploads/file.update.js +8 -8
- package/dist/js/crud/handleUploads/file.update.js.map +1 -1
- package/dist/js/crud/index.d.ts.map +1 -1
- package/dist/js/crud/index.js +14 -11
- package/dist/js/crud/index.js.map +1 -1
- package/dist/js/crud/read.d.ts +2 -2
- package/dist/js/crud/read.d.ts.map +1 -1
- package/dist/js/crud/read.js +6 -6
- package/dist/js/crud/read.js.map +1 -1
- package/dist/js/crud/readAll.d.ts +2 -2
- package/dist/js/crud/readAll.d.ts.map +1 -1
- package/dist/js/crud/readAll.js +5 -5
- package/dist/js/crud/readAll.js.map +1 -1
- package/dist/js/crud/remove.d.ts +2 -2
- package/dist/js/crud/remove.d.ts.map +1 -1
- package/dist/js/crud/remove.js +6 -6
- package/dist/js/crud/remove.js.map +1 -1
- package/dist/js/crud/removeAll.d.ts +2 -2
- package/dist/js/crud/removeAll.d.ts.map +1 -1
- package/dist/js/crud/removeAll.js +5 -5
- package/dist/js/crud/removeAll.js.map +1 -1
- package/dist/js/crud/update.d.ts +2 -2
- package/dist/js/crud/update.d.ts.map +1 -1
- package/dist/js/crud/update.js +8 -8
- package/dist/js/crud/update.js.map +1 -1
- package/dist/js/crud/utils/authroizeAccess.d.ts +2 -2
- package/dist/js/crud/utils/authroizeAccess.d.ts.map +1 -1
- package/dist/js/crud/utils/authroizeAccess.js +11 -11
- package/dist/js/crud/utils/authroizeAccess.js.map +1 -1
- package/dist/js/crud/utils/getItem.d.ts +2 -2
- package/dist/js/crud/utils/getItem.d.ts.map +1 -1
- package/dist/js/crud/utils/getItem.js +9 -9
- package/dist/js/crud/utils/getItem.js.map +1 -1
- package/dist/js/crud/utils/getParam.d.ts +2 -2
- package/dist/js/crud/utils/getParam.d.ts.map +1 -1
- package/dist/js/crud/utils/getParam.js +4 -4
- package/dist/js/crud/utils/getParam.js.map +1 -1
- package/dist/js/health/health.collection.d.ts +1 -2
- package/dist/js/health/health.collection.d.ts.map +1 -1
- package/dist/js/health/health.collection.js.map +1 -1
- package/dist/js/health/index.js +2 -2
- package/dist/js/health/index.js.map +1 -1
- package/dist/js/index.d.ts +5 -3
- package/dist/js/index.d.ts.map +1 -1
- package/dist/js/index.js +5 -3
- package/dist/js/index.js.map +1 -1
- package/dist/js/lib/db.d.ts.map +1 -1
- package/dist/js/lib/db.js +15 -5
- package/dist/js/lib/db.js.map +1 -1
- package/dist/js/lib/model.factory.d.ts +1 -2
- package/dist/js/lib/model.factory.d.ts.map +1 -1
- package/dist/js/lib/model.factory.js +3 -3
- package/dist/js/lib/model.factory.js.map +1 -1
- package/dist/js/lib/mongoose.fields.d.ts.map +1 -1
- package/dist/js/lib/mongoose.fields.js +0 -1
- package/dist/js/lib/mongoose.fields.js.map +1 -1
- package/dist/js/middleware/auth.middleware.d.ts +1 -1
- package/dist/js/middleware/auth.middleware.d.ts.map +1 -1
- package/dist/js/middleware/auth.middleware.js +11 -11
- package/dist/js/middleware/auth.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 +11 -11
- package/dist/js/middleware/multer.middleware.js.map +1 -1
- package/dist/js/terminal/appInfo.d.ts +19 -0
- package/dist/js/terminal/appInfo.d.ts.map +1 -0
- package/dist/js/terminal/appInfo.js +36 -0
- package/dist/js/terminal/appInfo.js.map +1 -0
- package/dist/js/terminal/collectionInfo.d.ts +19 -0
- package/dist/js/terminal/collectionInfo.d.ts.map +1 -0
- package/dist/js/terminal/collectionInfo.js +36 -0
- package/dist/js/terminal/collectionInfo.js.map +1 -0
- package/dist/js/terminal/logger.d.ts +3 -0
- package/dist/js/terminal/logger.d.ts.map +1 -0
- package/dist/js/terminal/logger.js +72 -0
- package/dist/js/terminal/logger.js.map +1 -0
- package/dist/js/terminal/loggerConfig.d.ts +3 -0
- package/dist/js/terminal/loggerConfig.d.ts.map +1 -0
- package/dist/js/terminal/loggerConfig.js +36 -0
- package/dist/js/terminal/loggerConfig.js.map +1 -0
- package/dist/js/terminal/terminal.d.ts +3 -0
- package/dist/js/terminal/terminal.d.ts.map +1 -0
- package/dist/js/terminal/terminal.js +36 -0
- package/dist/js/terminal/terminal.js.map +1 -0
- package/dist/js/types/Collection.d.ts +1 -2
- package/dist/js/types/Collection.d.ts.map +1 -1
- package/dist/js/types/Routepath.d.ts +1 -1
- package/dist/js/types/Routepath.d.ts.map +1 -1
- package/dist/js/upload/create.d.ts +1 -1
- package/dist/js/upload/create.d.ts.map +1 -1
- package/dist/js/upload/create.js +18 -16
- package/dist/js/upload/create.js.map +1 -1
- package/dist/js/upload/delete.d.ts +1 -1
- package/dist/js/upload/delete.d.ts.map +1 -1
- package/dist/js/upload/delete.js +28 -28
- package/dist/js/upload/delete.js.map +1 -1
- package/dist/js/upload/update.d.ts +1 -1
- package/dist/js/upload/update.d.ts.map +1 -1
- package/dist/js/upload/update.js +37 -35
- package/dist/js/upload/update.js.map +1 -1
- package/dist/js/utils/getErrorDetail.d.ts +1 -1
- package/dist/js/utils/getErrorDetail.d.ts.map +1 -1
- package/dist/js/utils/getErrorDetail.js +4 -4
- 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 +4 -4
- package/dist/js/utils/getModel.js.map +1 -1
- package/dist/js/utils/handleJWT.d.ts +4 -4
- package/dist/js/utils/handleJWT.d.ts.map +1 -1
- package/dist/js/utils/handleJWT.js +10 -10
- package/dist/js/utils/handleJWT.js.map +1 -1
- package/dist/js/utils/libsodium.d.ts +4 -4
- package/dist/js/utils/libsodium.d.ts.map +1 -1
- package/dist/js/utils/libsodium.js +17 -17
- package/dist/js/utils/libsodium.js.map +1 -1
- package/dist/js/utils/sanitize.d.ts +2 -2
- package/dist/js/utils/sanitize.d.ts.map +1 -1
- package/dist/js/utils/sanitize.js +33 -7
- package/dist/js/utils/sanitize.js.map +1 -1
- package/dist/js/utils/validate.d.ts +1 -1
- package/dist/js/utils/validate.d.ts.map +1 -1
- package/dist/js/utils/validate.js +7 -7
- 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 +6 -6
- package/dist/js/utils/validationKeyError.js.map +1 -1
- package/package.json +3 -2
- package/readme.md +6 -6
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import sodium from "libsodium-wrappers-sumo";
|
|
2
2
|
import AppError from "./AppError.js";
|
|
3
3
|
import getErrorDetail from "./getErrorDetail.js";
|
|
4
|
-
export const hash = async (str,
|
|
4
|
+
export const hash = async (str, routeObj) => {
|
|
5
5
|
if (!str) {
|
|
6
6
|
throw new AppError({
|
|
7
7
|
message: "string is required to hash",
|
|
8
8
|
statusCode: 404,
|
|
9
9
|
code: "LIBSODIUM_HASH_ERROR",
|
|
10
10
|
hint: "This issue requires a fix from the framework developer.",
|
|
11
|
-
details: getErrorDetail(
|
|
11
|
+
details: getErrorDetail(routeObj),
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
await sodium.ready;
|
|
@@ -16,14 +16,14 @@ export const hash = async (str, route) => {
|
|
|
16
16
|
const hashStr = sodium.crypto_pwhash(32, str, salt, sodium.crypto_pwhash_OPSLIMIT_INTERACTIVE, sodium.crypto_pwhash_MEMLIMIT_INTERACTIVE, sodium.crypto_pwhash_ALG_DEFAULT);
|
|
17
17
|
return `${sodium.to_base64(salt)}:${sodium.to_base64(hashStr)}`;
|
|
18
18
|
};
|
|
19
|
-
export const verifyHash = async (password, storedHash,
|
|
19
|
+
export const verifyHash = async (password, storedHash, routeObj) => {
|
|
20
20
|
if (!password) {
|
|
21
21
|
throw new AppError({
|
|
22
22
|
message: "string is required to verify",
|
|
23
23
|
statusCode: 404,
|
|
24
24
|
code: "LIBSODIUM_HASH_ERROR",
|
|
25
25
|
hint: "This issue requires a fix from the framework developer.",
|
|
26
|
-
details: getErrorDetail(
|
|
26
|
+
details: getErrorDetail(routeObj),
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
if (!storedHash) {
|
|
@@ -32,7 +32,7 @@ export const verifyHash = async (password, storedHash, route) => {
|
|
|
32
32
|
statusCode: 404,
|
|
33
33
|
code: "LIBSODIUM_HASH_ERROR",
|
|
34
34
|
hint: "This issue requires a fix from the framework developer.",
|
|
35
|
-
details: getErrorDetail(
|
|
35
|
+
details: getErrorDetail(routeObj),
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
await sodium.ready;
|
|
@@ -43,7 +43,7 @@ export const verifyHash = async (password, storedHash, route) => {
|
|
|
43
43
|
statusCode: 404,
|
|
44
44
|
code: "LIBSODIUM_HASH_ERROR",
|
|
45
45
|
hint: "This issue requires a fix from the framework developer.",
|
|
46
|
-
details: getErrorDetail(
|
|
46
|
+
details: getErrorDetail(routeObj),
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
const salt = sodium.from_base64(saltB64);
|
|
@@ -65,7 +65,7 @@ export const generateJWTSecret = async () => {
|
|
|
65
65
|
console.log(base64Secret);
|
|
66
66
|
return base64Secret;
|
|
67
67
|
};
|
|
68
|
-
export const seal = async (input, masterKey,
|
|
68
|
+
export const seal = async (input, masterKey, routeObj) => {
|
|
69
69
|
try {
|
|
70
70
|
if (!input) {
|
|
71
71
|
throw new AppError({
|
|
@@ -73,7 +73,7 @@ export const seal = async (input, masterKey, route) => {
|
|
|
73
73
|
statusCode: 404,
|
|
74
74
|
code: "LIBSODIUM_HASH_ERROR",
|
|
75
75
|
hint: "Provide a string to encrypt it.",
|
|
76
|
-
details: getErrorDetail(
|
|
76
|
+
details: getErrorDetail(routeObj),
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
if (!masterKey) {
|
|
@@ -82,7 +82,7 @@ export const seal = async (input, masterKey, route) => {
|
|
|
82
82
|
statusCode: 404,
|
|
83
83
|
code: "LIBSODIUM_HASH_ERROR",
|
|
84
84
|
hint: "Provide masterkey in StarkForge({}) - initializing class",
|
|
85
|
-
details: getErrorDetail(
|
|
85
|
+
details: getErrorDetail(routeObj),
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
await sodium.ready;
|
|
@@ -108,11 +108,11 @@ export const seal = async (input, masterKey, route) => {
|
|
|
108
108
|
statusCode: 404,
|
|
109
109
|
code: "LIBSODIUM_HASH_ERROR",
|
|
110
110
|
hint: "This issue requires a fix from the framework developer.",
|
|
111
|
-
details: getErrorDetail(
|
|
111
|
+
details: getErrorDetail(routeObj),
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
|
-
export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey,
|
|
115
|
+
export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey, routeObj) => {
|
|
116
116
|
try {
|
|
117
117
|
if (!str) {
|
|
118
118
|
throw new AppError({
|
|
@@ -120,7 +120,7 @@ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey
|
|
|
120
120
|
statusCode: 400,
|
|
121
121
|
code: "LIBSODIUM_DECRYPT_ERROR",
|
|
122
122
|
hint: "Provide the encrypted string returned by seal().",
|
|
123
|
-
details: getErrorDetail(
|
|
123
|
+
details: getErrorDetail(routeObj),
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
if (!nonce) {
|
|
@@ -129,7 +129,7 @@ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey
|
|
|
129
129
|
statusCode: 400,
|
|
130
130
|
code: "LIBSODIUM_DECRYPT_ERROR",
|
|
131
131
|
hint: "Provide the nonce returned by seal().",
|
|
132
|
-
details: getErrorDetail(
|
|
132
|
+
details: getErrorDetail(routeObj),
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
135
|
if (!publicKey) {
|
|
@@ -138,7 +138,7 @@ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey
|
|
|
138
138
|
statusCode: 400,
|
|
139
139
|
code: "LIBSODIUM_DECRYPT_ERROR",
|
|
140
140
|
hint: "Provide the public key returned by seal().",
|
|
141
|
-
details: getErrorDetail(
|
|
141
|
+
details: getErrorDetail(routeObj),
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
if (!securedPrivateKey) {
|
|
@@ -147,7 +147,7 @@ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey
|
|
|
147
147
|
statusCode: 400,
|
|
148
148
|
code: "LIBSODIUM_DECRYPT_ERROR",
|
|
149
149
|
hint: "Provide the secured private key returned by seal().",
|
|
150
|
-
details: getErrorDetail(
|
|
150
|
+
details: getErrorDetail(routeObj),
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
if (!masterKey) {
|
|
@@ -156,7 +156,7 @@ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey
|
|
|
156
156
|
statusCode: 400,
|
|
157
157
|
code: "LIBSODIUM_DECRYPT_ERROR",
|
|
158
158
|
hint: "Provide the master key used during encryption.",
|
|
159
|
-
details: getErrorDetail(
|
|
159
|
+
details: getErrorDetail(routeObj),
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
await sodium.ready;
|
|
@@ -178,7 +178,7 @@ export const unSeal = async (str, nonce, publicKey, securedPrivateKey, masterKey
|
|
|
178
178
|
statusCode: 500,
|
|
179
179
|
code: "LIBSODIUM_DECRYPT_ERROR",
|
|
180
180
|
hint: "This issue requires a fix from the framework developer.",
|
|
181
|
-
details: getErrorDetail(
|
|
181
|
+
details: getErrorDetail(routeObj),
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAWjD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"libsodium.js","sourceRoot":"","sources":["../../../src/js/utils/libsodium.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAWjD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAE,QAAe,EAAmB,EAAE;IAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,4BAA4B;YACrC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,CAAC,KAAK,CAAC;IAEnB,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAClC,EAAE,EACF,GAAG,EACH,IAAI,EACJ,MAAM,CAAC,kCAAkC,EACzC,MAAM,CAAC,kCAAkC,EACzC,MAAM,CAAC,yBAAyB,CACjC,CAAC;IAEF,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;AAClE,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,QAAgB,EAChB,UAAkB,EAClB,QAAe,EACG,EAAE;IACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,8BAA8B;YACvC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,CAAC,KAAK,CAAC;IAEnB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CACnC,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,CAAC,kCAAkC,EACzC,MAAM,CAAC,kCAAkC,EACzC,MAAM,CAAC,yBAAyB,CACjC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAqB,EAAE;IAC3D,MAAM,MAAM,CAAC,KAAK,CAAC;IAEnB,MAAM,GAAG,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;IAE7C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEzE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAqB,EAAE;IAC3D,MAAM,MAAM,CAAC,KAAK,CAAC;IAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CACnC,MAAM,EACN,MAAM,CAAC,eAAe,CAAC,QAAQ,CAChC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1B,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EACvB,KAAa,EACb,SAAiB,EACjB,QAAe,EACM,EAAE;IACvB,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,+BAA+B;gBACxC,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,iCAAiC;gBACvC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,uCAAuC;gBAChD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,0DAA0D;gBAChE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,CAAC,KAAK,CAAC;QAEnB,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAEtE,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,SAAS,EACT,MAAM,CAAC,eAAe,CAAC,QAAQ,CAChC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAEzE,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CACtD,OAAO,CAAC,UAAU,EAClB,KAAK,EACL,cAAc,CACf,CAAC;QAEF,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;YAChC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;YAC9C,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;SACzD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAC;QAE3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,GAAW,EACX,KAAa,EACb,SAAiB,EACjB,iBAAyB,EACzB,SAAiB,EACjB,QAAe,EACE,EAAE;IACnB,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,6CAA6C;gBACtD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,kDAAkD;gBACxD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,kCAAkC;gBAC3C,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,uCAAuC;gBAC7C,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,uCAAuC;gBAChD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,4CAA4C;gBAClD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,gDAAgD;gBACzD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,qDAAqD;gBAC3D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,uCAAuC;gBAChD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,gDAAgD;gBACtD,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,CAAC,KAAK,CAAC;QAEnB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,SAAS,EACT,MAAM,CAAC,eAAe,CAAC,QAAQ,CAChC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,CAAC,0BAA0B,CAClD,sBAAsB,EACtB,UAAU,EACV,cAAc,CACf,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,CAC3C,cAAc,EACd,cAAc,EACd,UAAU,CACX,CAAC;QAEF,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,QAAQ;YAAE,MAAM,KAAK,CAAC;QAE3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAErB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,wBAAwB;YACjC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,yDAAyD;YAC/D,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Route } from "../types/Collection.js";
|
|
2
|
-
export declare const sanitizeOne: (item: any,
|
|
3
|
-
export declare const sanitizeMany: (items: any[],
|
|
2
|
+
export declare const sanitizeOne: (item: any, routeObj: Route) => any;
|
|
3
|
+
export declare const sanitizeMany: (items: any[], routeObj: Route) => any[];
|
|
4
4
|
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/js/utils/sanitize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,EAAE,UAAU,KAAK,QAkCrD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,EAAE,EAAE,UAAU,KAAK,UAuCzD,CAAC"}
|
|
@@ -1,12 +1,38 @@
|
|
|
1
|
-
export const sanitizeOne = (item,
|
|
2
|
-
["password"
|
|
1
|
+
export const sanitizeOne = (item, routeObj) => {
|
|
2
|
+
const defaultExcluded = ["password"];
|
|
3
|
+
const fields = routeObj?.mongooseConfigObj?.hiddenFieldsArray?.filter(() => true) ?? [];
|
|
4
|
+
let merged = [...defaultExcluded, ...fields];
|
|
5
|
+
for (const el of fields) {
|
|
6
|
+
if (el.startsWith("!")) {
|
|
7
|
+
const clean = el.split("!")[1];
|
|
8
|
+
if (defaultExcluded.includes(clean))
|
|
9
|
+
merged = merged.filter((i) => i !== clean);
|
|
10
|
+
merged = merged.filter((i) => i !== el);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
for (const el of merged) {
|
|
14
|
+
delete item[el];
|
|
15
|
+
}
|
|
3
16
|
return item;
|
|
4
17
|
};
|
|
5
|
-
export const sanitizeMany = (items,
|
|
6
|
-
return items.map((
|
|
7
|
-
const
|
|
8
|
-
["password"
|
|
9
|
-
|
|
18
|
+
export const sanitizeMany = (items, routeObj) => {
|
|
19
|
+
return items.map((el) => {
|
|
20
|
+
const item = el.toObject();
|
|
21
|
+
const defaultExcluded = ["password"];
|
|
22
|
+
const fields = routeObj?.mongooseConfigObj?.hiddenFieldsArray?.filter(() => true) ?? [];
|
|
23
|
+
let merged = [...defaultExcluded, ...fields];
|
|
24
|
+
for (const el of fields) {
|
|
25
|
+
if (el.startsWith("!")) {
|
|
26
|
+
const clean = el.split("!")[1];
|
|
27
|
+
if (defaultExcluded.includes(clean))
|
|
28
|
+
merged = merged.filter((i) => i !== clean);
|
|
29
|
+
merged = merged.filter((i) => i !== el);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
for (const el of merged) {
|
|
33
|
+
delete item[el];
|
|
34
|
+
}
|
|
35
|
+
return item;
|
|
10
36
|
});
|
|
11
37
|
};
|
|
12
38
|
//# sourceMappingURL=sanitize.js.map
|
|
@@ -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,
|
|
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,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAG3E,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,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAG3E,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,4 +1,4 @@
|
|
|
1
1
|
import type { Route } from "../types/Collection.js";
|
|
2
|
-
declare const validate: (validationSchema: any, body: any,
|
|
2
|
+
declare const validate: (validationSchema: any, body: any, routeObj: Route) => Record<string, unknown>;
|
|
3
3
|
export default validate;
|
|
4
4
|
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,kBAAkB,GAAG,EAAE,MAAM,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD,QAAA,MAAM,QAAQ,GAAI,kBAAkB,GAAG,EAAE,MAAM,GAAG,EAAE,UAAU,KAAK,4BAmElE,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -2,22 +2,22 @@ import AppError from "./AppError.js";
|
|
|
2
2
|
import z from "zod";
|
|
3
3
|
import { closest, distance } from "fastest-levenshtein";
|
|
4
4
|
import getErrorDetail from "./getErrorDetail.js";
|
|
5
|
-
const validate = (validationSchema, body,
|
|
5
|
+
const validate = (validationSchema, body, routeObj) => {
|
|
6
6
|
if (!validationSchema)
|
|
7
7
|
throw new AppError({
|
|
8
8
|
message: "validationSchema is required to validate",
|
|
9
9
|
statusCode: 409,
|
|
10
10
|
code: "VALIDATION_SCHEMA_REQUIRED",
|
|
11
|
-
details: getErrorDetail(
|
|
12
|
-
hint: "Provide validation in validationsObj. Use same name as key as provided in
|
|
11
|
+
details: getErrorDetail(routeObj),
|
|
12
|
+
hint: "Provide validation in validationsObj. Use same name as key as provided in routeObj configuration",
|
|
13
13
|
});
|
|
14
14
|
if (!body)
|
|
15
15
|
throw new AppError({
|
|
16
16
|
message: "body is required to validate",
|
|
17
17
|
statusCode: 409,
|
|
18
18
|
code: "BODY_MISSING",
|
|
19
|
-
details: getErrorDetail(
|
|
20
|
-
hint: "Provide body (Data from frontend or postman etc.)",
|
|
19
|
+
details: getErrorDetail(routeObj),
|
|
20
|
+
hint: "Provide body (Data from frontend or postman etc.) or if uploading a file, write fileArray : [{...}] in collection -> routesArray -> routeObj.",
|
|
21
21
|
});
|
|
22
22
|
const zodBodyObj = z.object(validationSchema);
|
|
23
23
|
const isValid = zodBodyObj.safeParse(body);
|
|
@@ -49,8 +49,8 @@ const validate = (validationSchema, body, route) => {
|
|
|
49
49
|
message: `${field}: ${message}`,
|
|
50
50
|
statusCode: 409,
|
|
51
51
|
code: "VALIDATION_FAILED",
|
|
52
|
-
details: getErrorDetail(
|
|
53
|
-
hint:
|
|
52
|
+
details: getErrorDetail(routeObj),
|
|
53
|
+
hint: `Check the keys you provided in collection -> valdiationsObj -> ${routeObj.validationKey}. It should be similar to body -> item key`,
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
return isValid.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/js/utils/validate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAGjD,MAAM,QAAQ,GAAG,CAAC,gBAAqB,EAAE,IAAS,EAAE,
|
|
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: (
|
|
2
|
+
declare const getValidationKey: (routeObj: Route, validationsObj: ValidationsObj) => import("../lib/zod.fields.js").ZodValidation | 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,
|
|
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,6DA0CxE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import AppError from "./AppError.js";
|
|
2
2
|
import getErrorDetail from "./getErrorDetail.js";
|
|
3
|
-
const getValidationKey = (
|
|
4
|
-
const key =
|
|
3
|
+
const getValidationKey = (routeObj, validationsObj) => {
|
|
4
|
+
const key = routeObj.validationKey;
|
|
5
5
|
if (typeof key === "boolean")
|
|
6
6
|
if (key) {
|
|
7
7
|
throw new AppError({
|
|
@@ -9,7 +9,7 @@ const getValidationKey = (route, validationsObj) => {
|
|
|
9
9
|
statusCode: 400,
|
|
10
10
|
hint: "Make it false without ('', \"\" or ``)",
|
|
11
11
|
code: "ROUTE_VALIDATION_KEY_INVALID",
|
|
12
|
-
details: getErrorDetail(
|
|
12
|
+
details: getErrorDetail(routeObj),
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
@@ -20,8 +20,8 @@ const getValidationKey = (route, validationsObj) => {
|
|
|
20
20
|
message: "validationKey is required",
|
|
21
21
|
statusCode: 400,
|
|
22
22
|
code: "ROUTE_VALIDATION_KEY_REQUIRED",
|
|
23
|
-
hint: "Provide it or make it false if this
|
|
24
|
-
details: getErrorDetail(
|
|
23
|
+
hint: "Provide it or make it false if this routeObj doesn't need validation",
|
|
24
|
+
details: getErrorDetail(routeObj),
|
|
25
25
|
});
|
|
26
26
|
const validateObject = validationsObj[key];
|
|
27
27
|
if (!validateObject)
|
|
@@ -30,7 +30,7 @@ const getValidationKey = (route, validationsObj) => {
|
|
|
30
30
|
statusCode: 400,
|
|
31
31
|
code: "VALIDATION_REQUIRED_FIELD_MISSING",
|
|
32
32
|
hint: `In validationsObj, use the '${key}' as key for validation`,
|
|
33
|
-
details: getErrorDetail(
|
|
33
|
+
details: getErrorDetail(routeObj),
|
|
34
34
|
});
|
|
35
35
|
return validateObject;
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationKeyError.js","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"validationKeyError.js","sourceRoot":"","sources":["../../../src/js/utils/validationKeyError.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,gBAAgB,GAAG,CAAC,QAAe,EAAE,cAA8B,EAAE,EAAE;IAC3E,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC;IAGnC,IAAI,OAAO,GAAG,KAAK,SAAS;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,8CAA8C;gBACvD,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,wCAAwC;gBAC9C,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO;QACT,CAAC;IAGH,IAAI,GAAG,IAAI,IAAI;QACb,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,2BAA2B;YACpC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,sEAAsE;YAC5E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,MAAM,cAAc,GAAG,cAAc,CAAC,GAAa,CAAC,CAAC;IAGrD,IAAI,CAAC,cAAc;QACjB,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mBAAmB,GAAG,gCAAgC;YAC/D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,mCAAmC;YACzC,IAAI,EAAE,+BAA+B,GAAG,yBAAyB;YACjE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starklabs/forge",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A TypeScript-first Express framework for building production-ready APIs with zero boilerplate.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/js/index.js",
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"@types/morgan": "^1.9.10",
|
|
84
84
|
"@types/multer": "^2.2.0",
|
|
85
85
|
"@types/node": "^26.1.0",
|
|
86
|
-
"@types/streamifier": "^0.1.2"
|
|
86
|
+
"@types/streamifier": "^0.1.2",
|
|
87
|
+
"typescript": "^7.0.2"
|
|
87
88
|
}
|
|
88
89
|
}
|
package/readme.md
CHANGED
|
@@ -360,7 +360,7 @@ Forge is designed to eliminate repetitive backend engineering while remaining sc
|
|
|
360
360
|
### Core
|
|
361
361
|
|
|
362
362
|
- Convention-based backend architecture
|
|
363
|
-
- Dynamic
|
|
363
|
+
- Dynamic routeObj generation
|
|
364
364
|
- Automatic Mongoose model creation
|
|
365
365
|
- Built-in CRUD engine
|
|
366
366
|
- Zero controller boilerplate
|
|
@@ -602,7 +602,7 @@ Routes are declarative.
|
|
|
602
602
|
|
|
603
603
|
Instead of writing Express routers, middleware, controllers, authentication and validation manually...
|
|
604
604
|
|
|
605
|
-
You simply describe the
|
|
605
|
+
You simply describe the routeObj.
|
|
606
606
|
|
|
607
607
|
```ts
|
|
608
608
|
{
|
|
@@ -616,7 +616,7 @@ You simply describe the route.
|
|
|
616
616
|
|
|
617
617
|
Forge handles the rest.
|
|
618
618
|
|
|
619
|
-
A complete CRUD resource can be expressed in only a handful of
|
|
619
|
+
A complete CRUD resource can be expressed in only a handful of routeObj objects.
|
|
620
620
|
|
|
621
621
|
Example:
|
|
622
622
|
|
|
@@ -720,7 +720,7 @@ Forge ships with production-ready handlers.
|
|
|
720
720
|
|
|
721
721
|
No controller implementation required.
|
|
722
722
|
|
|
723
|
-
Simply reference the handler name inside your
|
|
723
|
+
Simply reference the handler name inside your routeObj.
|
|
724
724
|
|
|
725
725
|
---
|
|
726
726
|
|
|
@@ -748,13 +748,13 @@ Forge applies the appropriate middleware automatically.
|
|
|
748
748
|
|
|
749
749
|
No imports.
|
|
750
750
|
|
|
751
|
-
No
|
|
751
|
+
No routeObj protection boilerplate.
|
|
752
752
|
|
|
753
753
|
---
|
|
754
754
|
|
|
755
755
|
# Uploads
|
|
756
756
|
|
|
757
|
-
Uploads are configured per
|
|
757
|
+
Uploads are configured per routeObj.
|
|
758
758
|
|
|
759
759
|
Only routes that need uploads should configure uploads.
|
|
760
760
|
|