@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,46 +1,46 @@
|
|
|
1
1
|
import AppError from "../../utils/AppError.js";
|
|
2
2
|
import AppLog from "../../utils/AppLog.js";
|
|
3
3
|
import getErrorDetail from "../../utils/getErrorDetail.js";
|
|
4
|
-
const authorizeAccess = ({
|
|
5
|
-
if (
|
|
4
|
+
const authorizeAccess = ({ routeObj, routeName, item, req, }) => {
|
|
5
|
+
if (routeObj.authRole !== "admin" && routeObj.authRole !== "adminOrOwner")
|
|
6
6
|
throw new AppError({
|
|
7
7
|
message: "authRole should only be 'admin' or 'adminOrOwner'",
|
|
8
8
|
statusCode: 409,
|
|
9
9
|
code: "FRAMEWORK_CONFIGURATION_INVALID",
|
|
10
|
-
hint: "Make the authRole admin or adminOrOwner based on your
|
|
11
|
-
details: getErrorDetail(
|
|
10
|
+
hint: "Make the authRole admin or adminOrOwner based on your routeObj requirement. Checkout collection -> routes -> authRole",
|
|
11
|
+
details: getErrorDetail(routeObj),
|
|
12
12
|
});
|
|
13
|
-
if (
|
|
13
|
+
if (routeObj.authRole !== "admin" && routeObj.handler === "removeAll")
|
|
14
14
|
throw new AppError({
|
|
15
15
|
message: "authRole should only be 'admin'",
|
|
16
16
|
statusCode: 409,
|
|
17
17
|
code: "FRAMEWORK_CONFIGURATION_INVALID",
|
|
18
18
|
hint: "Make the authRole admin. Checkout collection -> routes -> authRole",
|
|
19
|
-
details: getErrorDetail(
|
|
19
|
+
details: getErrorDetail(routeObj),
|
|
20
20
|
});
|
|
21
21
|
const ownerId = item?.owner?._id;
|
|
22
22
|
const isOwner = ownerId && req.user && ownerId.equals(req.user._id);
|
|
23
23
|
const isAdmin = req.user.role === "admin";
|
|
24
24
|
if (!ownerId)
|
|
25
|
-
AppLog("x", "authorization", `owner not found in item for
|
|
26
|
-
if (
|
|
25
|
+
AppLog("x", "authorization", `owner not found in item for routeObj: '/${routeName}', method: '${routeObj.method}' and path: '${routeObj.path}'`);
|
|
26
|
+
if (routeObj.authRole === "admin") {
|
|
27
27
|
if (!isAdmin)
|
|
28
28
|
throw new AppError({
|
|
29
29
|
message: "Unauthorized",
|
|
30
30
|
statusCode: 403,
|
|
31
31
|
code: "PERMISSION_DENIED",
|
|
32
32
|
hint: "You are not the admin.",
|
|
33
|
-
details: getErrorDetail(
|
|
33
|
+
details: getErrorDetail(routeObj),
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
if (
|
|
36
|
+
if (routeObj.authRole === "adminOrOwner") {
|
|
37
37
|
if (!isAdmin && !isOwner)
|
|
38
38
|
throw new AppError({
|
|
39
39
|
message: "Unauthorized",
|
|
40
40
|
statusCode: 403,
|
|
41
41
|
code: "PERMISSION_DENIED",
|
|
42
42
|
hint: "You are not the owner.",
|
|
43
|
-
details: getErrorDetail(
|
|
43
|
+
details: getErrorDetail(routeObj),
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authroizeAccess.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/authroizeAccess.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,
|
|
1
|
+
{"version":3,"file":"authroizeAccess.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/authroizeAccess.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAE/C,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAE3D,MAAM,eAAe,GAAG,CAAC,EACvB,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,GAAG,GAMJ,EAAE,EAAE;IAEH,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc;QACvE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,mDAAmD;YAC5D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,uHAAuH;YAC7H,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW;QACnE,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,oEAAoE;YAC1E,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IAGL,MAAM,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;IAG1C,IAAI,CAAC,OAAO;QACV,MAAM,CACJ,GAAG,EACH,eAAe,EACf,2CAA2C,SAAS,eAAe,QAAQ,CAAC,MAAM,gBAAgB,QAAQ,CAAC,IAAI,GAAG,CACnH,CAAC;IAGJ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YACtB,MAAM,IAAI,QAAQ,CAAC;gBACjB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;IACP,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Route } from "../../types/Collection.js";
|
|
2
|
-
declare const getItem: ({ modelName, routeName, path, _id, clean,
|
|
2
|
+
declare const getItem: ({ modelName, routeName, path, _id, clean, routeObj, }: {
|
|
3
3
|
modelName: string;
|
|
4
4
|
routeName: string;
|
|
5
5
|
path?: string;
|
|
6
6
|
_id?: string;
|
|
7
7
|
clean?: boolean;
|
|
8
|
-
|
|
8
|
+
routeObj: Route;
|
|
9
9
|
}) => Promise<any>;
|
|
10
10
|
export default getItem;
|
|
11
11
|
//# sourceMappingURL=getItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getItem.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMvD,QAAA,MAAM,OAAO,GAAU,
|
|
1
|
+
{"version":3,"file":"getItem.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAMvD,QAAA,MAAM,OAAO,GAAU,uDAOpB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;CACjB,iBAiFA,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -2,8 +2,8 @@ import AppError from "../../utils/AppError.js";
|
|
|
2
2
|
import getErrorDetail from "../../utils/getErrorDetail.js";
|
|
3
3
|
import getModel from "../../utils/getModel.js";
|
|
4
4
|
import { sanitizeMany, sanitizeOne } from "../../utils/sanitize.js";
|
|
5
|
-
const getItem = async ({ modelName, routeName, path, _id, clean = true,
|
|
6
|
-
const Model = getModel({ modelName, routeName,
|
|
5
|
+
const getItem = async ({ modelName, routeName, path, _id, clean = true, routeObj, }) => {
|
|
6
|
+
const Model = getModel({ modelName, routeName, routeObj });
|
|
7
7
|
let data = null;
|
|
8
8
|
try {
|
|
9
9
|
let query;
|
|
@@ -13,7 +13,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
|
|
|
13
13
|
else {
|
|
14
14
|
query = Model.find();
|
|
15
15
|
}
|
|
16
|
-
const populateKey =
|
|
16
|
+
const populateKey = routeObj?.mongooseConfigObj?.populateKey;
|
|
17
17
|
if (populateKey) {
|
|
18
18
|
if (typeof populateKey === "boolean")
|
|
19
19
|
throw new AppError({
|
|
@@ -21,7 +21,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
|
|
|
21
21
|
hint: "populateKey as boolean must be 'false' only. Else it should be string, representing the ref in your mongooseSchemaObj.",
|
|
22
22
|
message: "Invalid populateKey",
|
|
23
23
|
statusCode: 409,
|
|
24
|
-
details: getErrorDetail(
|
|
24
|
+
details: getErrorDetail(routeObj),
|
|
25
25
|
});
|
|
26
26
|
query = query.populate(populateKey, "_id email");
|
|
27
27
|
}
|
|
@@ -35,7 +35,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
|
|
|
35
35
|
statusCode: 409,
|
|
36
36
|
code: "CRUD_ITEM_NOT_FOUND",
|
|
37
37
|
hint: "Check the /:id you provided in URL. It doesn't match any document's _id in database.",
|
|
38
|
-
details: getErrorDetail(
|
|
38
|
+
details: getErrorDetail(routeObj),
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
@@ -46,7 +46,7 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
|
|
|
46
46
|
statusCode: err.statusCode || 409,
|
|
47
47
|
code: err.code || "CRUD_ITEM_ERROR",
|
|
48
48
|
hint: err.hint || "Check the logs for detail info.",
|
|
49
|
-
details: err.details || getErrorDetail(
|
|
49
|
+
details: err.details || getErrorDetail(routeObj),
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -59,13 +59,13 @@ const getItem = async ({ modelName, routeName, path, _id, clean = true, route, }
|
|
|
59
59
|
hint: _id
|
|
60
60
|
? `Check the '${path ?? "path"}' you provided in url: /${_id}`
|
|
61
61
|
: "Hit a POST request and create an item",
|
|
62
|
-
details: getErrorDetail(
|
|
62
|
+
details: getErrorDetail(routeObj),
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
if (clean) {
|
|
66
66
|
data = Array.isArray(data)
|
|
67
|
-
? sanitizeMany(data,
|
|
68
|
-
: sanitizeOne(data.toObject(),
|
|
67
|
+
? sanitizeMany(data, routeObj)
|
|
68
|
+
: sanitizeOne(data.toObject(), routeObj);
|
|
69
69
|
}
|
|
70
70
|
return data;
|
|
71
71
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,SAAS,EACT,SAAS,EACT,IAAI,EACJ,GAAG,EACH,KAAK,GAAG,IAAI,EACZ,
|
|
1
|
+
{"version":3,"file":"getItem.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Request } from "express";
|
|
2
2
|
import type { Route } from "../../types/Collection.js";
|
|
3
|
-
declare const getParam: ({ req,
|
|
3
|
+
declare const getParam: ({ req, routeObj, }: {
|
|
4
4
|
req: Request;
|
|
5
|
-
|
|
5
|
+
routeObj: Route;
|
|
6
6
|
}) => string | string[] | undefined;
|
|
7
7
|
export default getParam;
|
|
8
8
|
//# sourceMappingURL=getParam.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParam.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,QAAA,MAAM,QAAQ,GAAI,
|
|
1
|
+
{"version":3,"file":"getParam.d.ts","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,QAAA,MAAM,QAAQ,GAAI,oBAGf;IACD,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;CACjB,kCAiBA,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AppError from "../../utils/AppError.js";
|
|
2
|
-
const getParam = ({ req,
|
|
2
|
+
const getParam = ({ req, routeObj, }) => {
|
|
3
3
|
const key = Object.keys(req.params)[0];
|
|
4
4
|
if (!key)
|
|
5
5
|
throw new AppError({
|
|
@@ -8,9 +8,9 @@ const getParam = ({ req, route, }) => {
|
|
|
8
8
|
code: "FRAMEWORK_CONFIGURATION_INVALID",
|
|
9
9
|
hint: "Provide path, check collection -> routes -> path configuration or your URL",
|
|
10
10
|
details: {
|
|
11
|
-
handler:
|
|
12
|
-
method:
|
|
13
|
-
path:
|
|
11
|
+
handler: routeObj.handler,
|
|
12
|
+
method: routeObj.method,
|
|
13
|
+
path: routeObj.path
|
|
14
14
|
}
|
|
15
15
|
});
|
|
16
16
|
return req.params[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParam.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,
|
|
1
|
+
{"version":3,"file":"getParam.js","sourceRoot":"","sources":["../../../../src/js/crud/utils/getParam.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,MAAM,QAAQ,GAAG,CAAC,EAChB,GAAG,EACH,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,GAAG,GAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC;IAEhD,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,+BAA+B;YACxC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iCAAiC;YACvC,IAAI,EAAE,4EAA4E;YAClF,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,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.collection.d.ts","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.collection.d.ts","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,gBAAgB,KAiCpB,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.collection.js","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.collection.js","sourceRoot":"","sources":["../../../src/js/health/health.collection.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE;QACX;YACE,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;QACD;YACE,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
package/dist/js/health/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import { getEnvs } from "../config/envs.js";
|
|
|
2
2
|
import handlerMap from "../config/handlerMap.js";
|
|
3
3
|
const health = (app, routeName, routes) => {
|
|
4
4
|
const { apiVersion } = getEnvs();
|
|
5
|
-
for (const
|
|
6
|
-
app[
|
|
5
|
+
for (const routeObj of routes) {
|
|
6
|
+
app[routeObj.method](`/api/v${apiVersion}/${routeName}${routeObj.path}`, handlerMap[routeObj.handler]);
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
9
|
export default health;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,GAAG,CACb,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/js/health/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,GAAG,CACb,GAAY,EACZ,SAAiB,EACjB,MAAe,EACf,EAAE;IACF,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClB,SAAS,UAAU,IAAI,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,EAClD,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/js/index.d.ts
CHANGED
|
@@ -4,10 +4,12 @@ declare class StarkForge {
|
|
|
4
4
|
config: Constructor;
|
|
5
5
|
constructor(object: Partial<Constructor>);
|
|
6
6
|
}
|
|
7
|
-
export
|
|
8
|
-
export { default as startServer } from "./app.js";
|
|
7
|
+
export { app, startServer } from "./app.js";
|
|
9
8
|
export { default as mongooseFields } from "./lib/mongoose.fields.js";
|
|
10
9
|
export { default as zodFields } from "./lib/zod.fields.js";
|
|
11
|
-
export declare const collection: (object: Collection) => Collection;
|
|
12
10
|
export { generateJWTSecret, generateMasterKey } from "./utils/libsodium.js";
|
|
11
|
+
export { default as getModel } from "./utils/getModel.js";
|
|
12
|
+
export { default as getItem } from "./crud/utils/getItem.js";
|
|
13
|
+
export declare const collection: (object: Collection) => Collection;
|
|
14
|
+
export default StarkForge;
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/js/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;gBACR,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;CAQzC;AAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,cAAM,UAAU;IACd,MAAM,EAAE,WAAW,CAAC;gBACR,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC;CAQzC;AAED,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,KAAG,UAE/C,CAAC;AAGF,eAAe,UAAU,CAAC"}
|
package/dist/js/index.js
CHANGED
|
@@ -10,12 +10,14 @@ class StarkForge {
|
|
|
10
10
|
setEnvs(this.config);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
export
|
|
14
|
-
export { default as startServer } from "./app.js";
|
|
13
|
+
export { app, startServer } from "./app.js";
|
|
15
14
|
export { default as mongooseFields } from "./lib/mongoose.fields.js";
|
|
16
15
|
export { default as zodFields } from "./lib/zod.fields.js";
|
|
16
|
+
export { generateJWTSecret, generateMasterKey } from "./utils/libsodium.js";
|
|
17
|
+
export { default as getModel } from "./utils/getModel.js";
|
|
18
|
+
export { default as getItem } from "./crud/utils/getItem.js";
|
|
17
19
|
export const collection = (object) => {
|
|
18
20
|
return object;
|
|
19
21
|
};
|
|
20
|
-
export
|
|
22
|
+
export default StarkForge;
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/js/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,UAAU;IACd,MAAM,CAAc;IACpB,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,aAAa;YAChB,GAAG,MAAM;SACV,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,UAAU;IACd,MAAM,CAAc;IACpB,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,aAAa;YAChB,GAAG,MAAM;SACV,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;CACF;AAED,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAc,EAAE;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAGF,eAAe,UAAU,CAAC"}
|
package/dist/js/lib/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAyBA,KAAK,eAAe,GAAG;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,SAAS,GAAU,0CAItB,eAAe,kBAyBjB,CAAC;AAGF,eAAe,SAAS,CAAC"}
|
package/dist/js/lib/db.js
CHANGED
|
@@ -1,25 +1,35 @@
|
|
|
1
1
|
import mongoose from "mongoose";
|
|
2
2
|
import AppLog from "../utils/AppLog.js";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { appInfo } from "../terminal/appInfo.js";
|
|
4
|
+
const connectLocally = async (databaseName = "starkForge") => {
|
|
5
|
+
try {
|
|
6
|
+
await mongoose.connect(`mongodb://localhost:27017/${databaseName}`);
|
|
7
|
+
appInfo.dbConnectionStatus = "Offline";
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
AppLog("x", "db", error.message);
|
|
11
|
+
AppLog("x", "db", "Error while connecting to database! Check if MongoDB is installed locally and is enabled.");
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
5
14
|
AppLog("check", "db", `Connected to OFFLINE-DB! Database name: '${databaseName}'`);
|
|
6
15
|
};
|
|
7
16
|
const connectDB = async ({ isOffline, mongoDBURI, databaseName, }) => {
|
|
8
17
|
try {
|
|
9
18
|
if (isOffline)
|
|
10
19
|
return connectLocally(databaseName);
|
|
11
|
-
if (!
|
|
20
|
+
if (!mongoDBURI)
|
|
12
21
|
throw new Error("You are online! mongoDBURI is required");
|
|
13
22
|
if (!databaseName)
|
|
14
|
-
databaseName = "
|
|
23
|
+
databaseName = "starkForge";
|
|
15
24
|
setTimeout(() => {
|
|
16
25
|
AppLog("loading", "db", "Connecting to mongodb...");
|
|
17
26
|
}, 10);
|
|
18
27
|
await mongoose.connect(`${mongoDBURI}/${databaseName}`);
|
|
28
|
+
appInfo.dbConnectionStatus = "Online";
|
|
19
29
|
AppLog("check", "db", `Connected successfully! Database name: '${databaseName}'`);
|
|
20
30
|
}
|
|
21
31
|
catch (error) {
|
|
22
|
-
AppLog("x", "db", "Error while connecting!");
|
|
32
|
+
AppLog("x", "db", "Error while connecting to database!");
|
|
23
33
|
AppLog("x", "db", error.message);
|
|
24
34
|
process.exit(1);
|
|
25
35
|
}
|
package/dist/js/lib/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/js/lib/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,EAAE;IAC3D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CACJ,GAAG,EACH,IAAI,EACJ,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,4CAA4C,YAAY,GAAG,CAC5D,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,SAAS,GAAG,KAAK,EAAE,EACvB,SAAS,EACT,UAAU,EACV,YAAY,GACI,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,IAAI,SAAS;YAAE,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,YAAY,CAAC;QAE/C,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC;QACtC,MAAM,CACJ,OAAO,EACP,IAAI,EACJ,2CAA2C,YAAY,GAAG,CAC3D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAGF,eAAe,SAAS,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import mongoose from "mongoose";
|
|
2
1
|
import type { SchemaDefinitionProperty } from "mongoose";
|
|
3
2
|
type Primitive = string | number | boolean | Date;
|
|
4
3
|
type ModelField = Primitive | SchemaDefinitionProperty<unknown>;
|
|
5
4
|
type ModelDefinition = Record<string, ModelField>;
|
|
6
|
-
declare const createModel: (routeName: string, name: string, definition: ModelDefinition) =>
|
|
5
|
+
declare const createModel: (routeName: string, name: string, definition: ModelDefinition) => any;
|
|
7
6
|
export default createModel;
|
|
8
7
|
//# sourceMappingURL=model.factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.factory.d.ts","sourceRoot":"","sources":["../../../src/js/lib/model.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAMzD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAElD,KAAK,UAAU,GAAG,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEhE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAsClD,QAAA,MAAM,WAAW,GACf,WAAW,MAAM,EACjB,MAAM,MAAM,EACZ,YAAY,eAAe,KAC1B,GAuBF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -26,6 +26,9 @@ const normalizeDefinition = (definition) => {
|
|
|
26
26
|
}));
|
|
27
27
|
};
|
|
28
28
|
const createModel = (routeName, name, definition) => {
|
|
29
|
+
if (mongoose.modelNames().includes(name)) {
|
|
30
|
+
return mongoose.model(name);
|
|
31
|
+
}
|
|
29
32
|
if (!definition)
|
|
30
33
|
throw new AppError({
|
|
31
34
|
message: `mongooseSchema for ${routeName} is required`,
|
|
@@ -39,9 +42,6 @@ const createModel = (routeName, name, definition) => {
|
|
|
39
42
|
},
|
|
40
43
|
});
|
|
41
44
|
const schema = buildSchema(normalizeDefinition(definition));
|
|
42
|
-
if (mongoose.modelNames().includes(name)) {
|
|
43
|
-
return mongoose.model(name);
|
|
44
|
-
}
|
|
45
45
|
AppLog("db", "modelFactory", `${name} model created!`);
|
|
46
46
|
return mongoose.model(name, schema);
|
|
47
47
|
};
|
|
@@ -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,
|
|
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 +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;
|
|
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 +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;
|
|
1
|
+
{"version":3,"file":"mongoose.fields.js","sourceRoot":"","sources":["../../../src/js/lib/mongoose.fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NextFunction, Request, Response } from "express";
|
|
2
2
|
import type { Route } from "../types/Collection.js";
|
|
3
|
-
declare const protect: (
|
|
3
|
+
declare const protect: (routeObj: Route) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
4
4
|
export default protect;
|
|
5
5
|
//# sourceMappingURL=auth.middleware.d.ts.map
|
|
@@ -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,
|
|
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"}
|
|
@@ -3,7 +3,7 @@ import AppError from "../utils/AppError.js";
|
|
|
3
3
|
import registerModel from "../lib/model.registry.js";
|
|
4
4
|
import { getEnvs } from "../config/envs.js";
|
|
5
5
|
import getErrorDetail from "../utils/getErrorDetail.js";
|
|
6
|
-
const findUser = async (id,
|
|
6
|
+
const findUser = async (id, routeObj) => {
|
|
7
7
|
const { userModelName } = getEnvs();
|
|
8
8
|
if (!userModelName) {
|
|
9
9
|
throw new AppError({
|
|
@@ -11,7 +11,7 @@ const findUser = async (id, route) => {
|
|
|
11
11
|
statusCode: 500,
|
|
12
12
|
code: "AUTH_CONFIG_ERROR",
|
|
13
13
|
hint: "Configure 'userModelName' in your environment variables.",
|
|
14
|
-
details: getErrorDetail(
|
|
14
|
+
details: getErrorDetail(routeObj),
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
const Model = registerModel[userModelName];
|
|
@@ -21,12 +21,12 @@ const findUser = async (id, route) => {
|
|
|
21
21
|
statusCode: 500,
|
|
22
22
|
code: "AUTH_CONFIG_ERROR",
|
|
23
23
|
hint: "Register the user model before enabling authentication.",
|
|
24
|
-
details: getErrorDetail(
|
|
24
|
+
details: getErrorDetail(routeObj),
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
return await Model.findById(id).select("+_id +email +role");
|
|
28
28
|
};
|
|
29
|
-
const protect = (
|
|
29
|
+
const protect = (routeObj) => async (req, res, next) => {
|
|
30
30
|
try {
|
|
31
31
|
const token = req.cookies?.authToken;
|
|
32
32
|
if (!token) {
|
|
@@ -34,13 +34,13 @@ const protect = (route) => async (req, res, next) => {
|
|
|
34
34
|
message: "Authentication required",
|
|
35
35
|
statusCode: 401,
|
|
36
36
|
code: "AUTH_REQUIRED",
|
|
37
|
-
hint: "
|
|
38
|
-
details: getErrorDetail(
|
|
37
|
+
hint: "Log in to access this resource.",
|
|
38
|
+
details: getErrorDetail(routeObj),
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
41
|
const payload = verifyJWT({
|
|
42
42
|
token,
|
|
43
|
-
|
|
43
|
+
routeObj,
|
|
44
44
|
});
|
|
45
45
|
if (typeof payload === "string" || !payload.sub) {
|
|
46
46
|
return next(new AppError({
|
|
@@ -48,17 +48,17 @@ const protect = (route) => async (req, res, next) => {
|
|
|
48
48
|
statusCode: 401,
|
|
49
49
|
code: "AUTH_INVALID_TOKEN",
|
|
50
50
|
hint: "Sign in again to obtain a valid authentication token.",
|
|
51
|
-
details: getErrorDetail(
|
|
51
|
+
details: getErrorDetail(routeObj),
|
|
52
52
|
}));
|
|
53
53
|
}
|
|
54
|
-
const user = await findUser(payload.sub,
|
|
54
|
+
const user = await findUser(payload.sub, routeObj);
|
|
55
55
|
if (!user) {
|
|
56
56
|
return next(new AppError({
|
|
57
57
|
message: "This account no longer exists",
|
|
58
58
|
statusCode: 401,
|
|
59
59
|
code: "AUTH_USER_NOT_FOUND",
|
|
60
60
|
hint: "Sign in with an existing account.",
|
|
61
|
-
details: getErrorDetail(
|
|
61
|
+
details: getErrorDetail(routeObj),
|
|
62
62
|
}));
|
|
63
63
|
}
|
|
64
64
|
req.user = {
|
|
@@ -78,7 +78,7 @@ const protect = (route) => async (req, res, next) => {
|
|
|
78
78
|
statusCode: 500,
|
|
79
79
|
code: "AUTH_MIDDLEWARE_ERROR",
|
|
80
80
|
hint: "This issue requires a fix from the framework developer.",
|
|
81
|
-
details: getErrorDetail(
|
|
81
|
+
details: getErrorDetail(routeObj),
|
|
82
82
|
}));
|
|
83
83
|
}
|
|
84
84
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.middleware.js","sourceRoot":"","sources":["../../../src/js/middleware/auth.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Upload } from "../types/upload.js";
|
|
2
2
|
import type { Route } from "../types/Collection.js";
|
|
3
3
|
import type { NextFunction, Request, Response } from "express";
|
|
4
|
-
export declare const handleMulterMiddleware: (fileArray: Upload[],
|
|
4
|
+
export declare const handleMulterMiddleware: (fileArray: Upload[], routeObj: Route) => (req: Request, res: Response, next: NextFunction) => void;
|
|
5
5
|
//# sourceMappingURL=multer.middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multer.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/multer.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA+B/D,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EAAE,EACnB,
|
|
1
|
+
{"version":3,"file":"multer.middleware.d.ts","sourceRoot":"","sources":["../../../src/js/middleware/multer.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA+B/D,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EAAE,EACnB,UAAU,KAAK,MAsBP,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAkFxD,CAAC"}
|