@starklabs/forge 1.3.24-beta.7 → 1.3.25-cors.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.map +1 -1
- package/dist/js/app.js +13 -7
- package/dist/js/app.js.map +1 -1
- package/dist/js/config/email.envs.js +1 -1
- package/dist/js/config/email.envs.js.map +1 -1
- package/dist/js/types/Constructor.d.ts +4 -0
- package/dist/js/types/Constructor.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/js/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,QAAA,MAAM,GAAG,EAAE,OAAmB,CAAC;AAkE/B,QAAA,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CA+CzC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC"}
|
package/dist/js/app.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import express from "express";
|
|
2
|
+
import cors from "cors";
|
|
2
3
|
const app = express();
|
|
3
4
|
import { getEnvs } from "./config/envs.js";
|
|
4
5
|
import handleReqType from "./config/handleReqType.js";
|
|
@@ -15,11 +16,12 @@ import { setAppInfo } from "./terminal/appInfo.js";
|
|
|
15
16
|
import printInfo from "./terminal/loggerConfig.js";
|
|
16
17
|
import createRefreshModel from "./config/refreshModel.js";
|
|
17
18
|
import { adminCollection } from "./admin/bunch.admin.js";
|
|
19
|
+
// security - middlewares
|
|
20
|
+
app.use(cookieParser());
|
|
21
|
+
app.use(helmet());
|
|
18
22
|
// body - middlewares
|
|
19
23
|
const jsonParser = express.json();
|
|
20
24
|
const urlencodedParser = express.urlencoded({ extended: true });
|
|
21
|
-
app.use(cookieParser());
|
|
22
|
-
app.use(helmet());
|
|
23
25
|
// parse body - based on situation
|
|
24
26
|
app.use((req, res, next) => {
|
|
25
27
|
if (req.is("multipart/form-data")) {
|
|
@@ -49,7 +51,11 @@ const handleCollection = (collections, authConfig) => {
|
|
|
49
51
|
};
|
|
50
52
|
// start server
|
|
51
53
|
const startServer = async () => {
|
|
52
|
-
const { port, collections, isOffline, mongoDBURI, databaseName, authConfig, adminConfig, } = getEnvs();
|
|
54
|
+
const { port, collections, isOffline, mongoDBURI, databaseName, authConfig, adminConfig, corsConfig, } = getEnvs();
|
|
55
|
+
// CORS
|
|
56
|
+
if (corsConfig) {
|
|
57
|
+
app.use(cors(corsConfig));
|
|
58
|
+
}
|
|
53
59
|
// connect db
|
|
54
60
|
await connectDB({ isOffline, mongoDBURI, databaseName });
|
|
55
61
|
await createRefreshModel();
|
|
@@ -68,14 +74,14 @@ const startServer = async () => {
|
|
|
68
74
|
handleCollection(collectionArray, authConfig);
|
|
69
75
|
// routeObj not found
|
|
70
76
|
app.use((req, res) => {
|
|
71
|
-
res.status(404).json({
|
|
77
|
+
res.status(404).json({
|
|
78
|
+
success: false,
|
|
79
|
+
message: "Route not found",
|
|
80
|
+
});
|
|
72
81
|
});
|
|
73
82
|
// error middleware
|
|
74
83
|
app.use(errorMiddleware);
|
|
75
84
|
app.listen(port, printInfo);
|
|
76
|
-
// app.listen(port, () => {
|
|
77
|
-
// console.log(`Server is running at http://localhost:${port}`);
|
|
78
|
-
// });
|
|
79
85
|
};
|
|
80
86
|
export { startServer, app };
|
|
81
87
|
//# sourceMappingURL=app.js.map
|
package/dist/js/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,GAAG,GAAY,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/js/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export const validateFrom = (emailSender) => {
|
|
|
25
25
|
method: "",
|
|
26
26
|
path: "",
|
|
27
27
|
},
|
|
28
|
-
hint:
|
|
28
|
+
hint: "Expected value: e.g, 'Starklabs <noreply@starklabs.com>'",
|
|
29
29
|
message: "Invalid email sender, 'from' or 'systemEmailSender'",
|
|
30
30
|
statusCode: 409,
|
|
31
31
|
code: "INVALID_EMAIL_SENDER",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.envs.js","sourceRoot":"","sources":["../../../src/js/config/email.envs.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,gCAAgC;YACzC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IAEL,QAAQ;IACR,MAAM,gBAAgB,GACpB,0DAA0D,CAAC;IAE7D,OAAO;IACP,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnD,gBAAgB;IAChB,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;
|
|
1
|
+
{"version":3,"file":"email.envs.js","sourceRoot":"","sources":["../../../src/js/config/email.envs.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,mFAAmF;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,EAAE;IAClD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,gCAAgC;YACzC,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,iDAAiD;YACvD,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;SACF,CAAC,CAAC;IAEL,QAAQ;IACR,MAAM,gBAAgB,GACpB,0DAA0D,CAAC;IAE7D,OAAO;IACP,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnD,gBAAgB;IAChB,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;aACT;YACA,IAAI,EAAE,0DAA0D;YACjE,OAAO,EAAE,qDAAqD;YAC9D,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;IAEL,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA+B,EAAE,EAAE;IAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CACJ,MAAM,EACN,aAAa,EACb,uFAAuF,CACxF,CAAC;QACF,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAsC;QAC9C,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,cAAc;QACd,gBAAgB;KACjB,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,CACJ,MAAM,EACN,aAAa,EACb,iCAAiC,GAAG,6EAA6E,CAClH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { Collection } from "./Collection.ts";
|
|
|
2
2
|
import type { DurationType } from "../config/duration.ts";
|
|
3
3
|
import type { UnifiedField } from "../lib/unified.types.js";
|
|
4
4
|
import type { CommonEmailPlaceholders } from "./email/static-config.type.js";
|
|
5
|
+
import type { CorsOptions } from "cors";
|
|
5
6
|
export type authMode = "credentials" | "otp";
|
|
6
7
|
export interface AuthConfig {
|
|
7
8
|
mode: "builtin" | "manual";
|
|
@@ -30,6 +31,8 @@ export interface AuthConfig {
|
|
|
30
31
|
export interface AdminConfig {
|
|
31
32
|
mode: "builtin" | "manual";
|
|
32
33
|
}
|
|
34
|
+
export interface CorsConfig extends CorsOptions {
|
|
35
|
+
}
|
|
33
36
|
export interface Constructor {
|
|
34
37
|
authConfig: AuthConfig;
|
|
35
38
|
adminConfig: AdminConfig;
|
|
@@ -57,6 +60,7 @@ export interface Constructor {
|
|
|
57
60
|
rateLimitMsg: string;
|
|
58
61
|
systemEmailSender?: string;
|
|
59
62
|
resendAPIKey?: string;
|
|
63
|
+
corsConfig?: CorsConfig;
|
|
60
64
|
}
|
|
61
65
|
export interface InternalConstructor extends Constructor {
|
|
62
66
|
userModelName?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"Constructor.d.ts","sourceRoot":"","sources":["../../../src/js/types/Constructor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED