@etohq/framework 1.3.0 → 1.5.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/LICENSE +21 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +11 -4
- package/dist/config/config.js.map +1 -1
- package/dist/config/loader.d.ts +2 -5
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +14 -13
- package/dist/config/loader.js.map +1 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/index.js +6 -3
- package/dist/context/index.js.map +1 -1
- package/dist/database/pg-connection-loader.d.ts +1 -1
- package/dist/database/pg-connection-loader.d.ts.map +1 -1
- package/dist/database/pg-connection-loader.js +25 -3
- package/dist/database/pg-connection-loader.js.map +1 -1
- package/dist/eto-app-loader.d.ts +6 -7
- package/dist/eto-app-loader.d.ts.map +1 -1
- package/dist/eto-app-loader.js +54 -4
- package/dist/eto-app-loader.js.map +1 -1
- package/dist/eto.d.ts +7 -7
- package/dist/eto.d.ts.map +1 -1
- package/dist/eto.js +4 -13
- package/dist/eto.js.map +1 -1
- package/dist/http/middlewares/apply-default-filters.d.ts.map +1 -1
- package/dist/http/middlewares/apply-default-filters.js.map +1 -1
- package/dist/http/middlewares/apply-params-as-filters.d.ts.map +1 -1
- package/dist/http/middlewares/apply-params-as-filters.js.map +1 -1
- package/dist/http/middlewares/authenticate-middleware.d.ts +3 -1
- package/dist/http/middlewares/authenticate-middleware.d.ts.map +1 -1
- package/dist/http/middlewares/authenticate-middleware.js +19 -10
- package/dist/http/middlewares/authenticate-middleware.js.map +1 -1
- package/dist/http/middlewares/bodyparser.d.ts +2 -0
- package/dist/http/middlewares/bodyparser.d.ts.map +1 -0
- package/dist/http/middlewares/bodyparser.js +99 -0
- package/dist/http/middlewares/bodyparser.js.map +1 -0
- package/dist/http/middlewares/ensure-publishable-api-key.d.ts.map +1 -1
- package/dist/http/middlewares/ensure-publishable-api-key.js +2 -2
- package/dist/http/middlewares/ensure-publishable-api-key.js.map +1 -1
- package/dist/http/middlewares/error-handler.d.ts.map +1 -1
- package/dist/http/middlewares/error-handler.js +7 -6
- package/dist/http/middlewares/error-handler.js.map +1 -1
- package/dist/http/types.d.ts +49 -19
- package/dist/http/types.d.ts.map +1 -1
- package/dist/http/utils/get-query-config.d.ts +5 -6
- package/dist/http/utils/get-query-config.d.ts.map +1 -1
- package/dist/http/utils/get-query-config.js +7 -5
- package/dist/http/utils/get-query-config.js.map +1 -1
- package/dist/http/utils/maybe-apply-link-filter.d.ts.map +1 -1
- package/dist/http/utils/maybe-apply-link-filter.js +12 -14
- package/dist/http/utils/maybe-apply-link-filter.js.map +1 -1
- package/dist/http/utils/refetch-entities.d.ts +1 -1
- package/dist/http/utils/refetch-entities.d.ts.map +1 -1
- package/dist/http/utils/refetch-entities.js +2 -2
- package/dist/http/utils/refetch-entities.js.map +1 -1
- package/dist/http/utils/validate-query.d.ts.map +1 -1
- package/dist/http/utils/validate-query.js +2 -1
- package/dist/http/utils/validate-query.js.map +1 -1
- package/dist/http/utils/wrap-handler.d.ts +2 -0
- package/dist/http/utils/wrap-handler.d.ts.map +1 -0
- package/dist/http/utils/wrap-handler.js +40 -0
- package/dist/http/utils/wrap-handler.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/jobs/job-loader.d.ts +13 -16
- package/dist/jobs/job-loader.d.ts.map +1 -1
- package/dist/jobs/job-loader.js +18 -88
- package/dist/jobs/job-loader.js.map +1 -1
- package/dist/links/link-loader.js +1 -1
- package/dist/links/link-loader.js.map +1 -1
- package/dist/loader.d.ts +8 -12
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +40 -35
- package/dist/loader.js.map +1 -1
- package/dist/logger/index.d.ts +28 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +249 -3
- package/dist/logger/index.js.map +1 -1
- package/dist/migrations/index.d.ts +3 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +19 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/migrator.d.ts +38 -0
- package/dist/migrations/migrator.d.ts.map +1 -0
- package/dist/migrations/migrator.js +130 -0
- package/dist/migrations/migrator.js.map +1 -0
- package/dist/migrations/run-migration-scripts.d.ts +17 -0
- package/dist/migrations/run-migration-scripts.d.ts.map +1 -0
- package/dist/migrations/run-migration-scripts.js +95 -0
- package/dist/migrations/run-migration-scripts.js.map +1 -0
- package/dist/mikro-orm-cli/bin.js +3 -3
- package/dist/mikro-orm-cli/bin.js.map +1 -1
- package/dist/subscribers/subscriber-loader.d.ts +5 -18
- package/dist/subscribers/subscriber-loader.d.ts.map +1 -1
- package/dist/subscribers/subscriber-loader.js +19 -95
- package/dist/subscribers/subscriber-loader.js.map +1 -1
- package/dist/types/container.d.ts +3 -2
- package/dist/types/container.d.ts.map +1 -1
- package/dist/utils/resource-loader.d.ts +26 -0
- package/dist/utils/resource-loader.d.ts.map +1 -0
- package/dist/utils/resource-loader.js +78 -0
- package/dist/utils/resource-loader.js.map +1 -0
- package/dist/workflows/workflow-loader.d.ts +4 -2
- package/dist/workflows/workflow-loader.d.ts.map +1 -1
- package/dist/workflows/workflow-loader.js +8 -58
- package/dist/workflows/workflow-loader.js.map +1 -1
- package/package.json +64 -57
- package/dist/telemetry/index.d.ts +0 -50
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/index.js +0 -81
- package/dist/telemetry/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-params-as-filters.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/apply-params-as-filters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apply-params-as-filters.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/apply-params-as-filters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAElE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,IAC1D,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,qDAWjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-params-as-filters.js","sourceRoot":"","sources":["../../../src/http/middlewares/apply-params-as-filters.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"apply-params-as-filters.js","sourceRoot":"","sources":["../../../src/http/middlewares/apply-params-as-filters.ts"],"names":[],"mappings":";;AAIA,oDAYC;AAfD,2CAA0C;AAG1C,SAAgB,oBAAoB,CAAC,QAAqC;IACxE,OAAO,KAAK,EAAE,GAAyB,EAAE,IAAuB,EAAE,EAAE;QAClE,wCAAwC;QACxC,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,WAA0B,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAA;YACzD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Secret, SignOptions, VerifyOptions } from "jsonwebtoken";
|
|
2
|
+
import { AuthContext, EtoRequestHandler } from "../types";
|
|
2
3
|
declare const SESSION_AUTH = "session";
|
|
3
4
|
declare const BEARER_AUTH = "bearer";
|
|
4
5
|
declare const API_KEY_AUTH = "api-key";
|
|
@@ -7,5 +8,6 @@ export declare const authenticate: (actorType: string | string[], authType: Auth
|
|
|
7
8
|
allowUnauthenticated?: boolean;
|
|
8
9
|
allowUnregistered?: boolean;
|
|
9
10
|
}) => EtoRequestHandler;
|
|
11
|
+
export declare const getAuthContextFromJwtToken: (authHeader: string | undefined, jwtSecret: Secret, authTypes: AuthType[], actorTypes: string[], jwtPublicKey?: Secret, jwtOptions?: VerifyOptions | SignOptions) => AuthContext | null;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=authenticate-middleware.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-middleware.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/authenticate-middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate-middleware.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/authenticate-middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,MAAM,EACN,WAAW,EACX,aAAa,EACd,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,WAAW,EAIX,iBAAiB,EAElB,MAAM,UAAU,CAAA;AAIjB,QAAA,MAAM,YAAY,YAAY,CAAA;AAC9B,QAAA,MAAM,WAAW,WAAW,CAAA;AAC5B,QAAA,MAAM,YAAY,YAAY,CAAA;AAK9B,MAAM,MAAM,QAAQ,GAChB,OAAO,YAAY,GACnB,OAAO,WAAW,GAClB,OAAO,YAAY,CAAA;AAEvB,eAAO,MAAM,YAAY,GACvB,WAAW,MAAM,GAAG,MAAM,EAAE,EAC5B,UAAU,QAAQ,GAAG,QAAQ,EAAE,EAC/B,UAAS;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,iBAgFF,CAAA;AAgED,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,GAAG,SAAS,EAC9B,WAAW,MAAM,EACjB,WAAW,QAAQ,EAAE,EACrB,YAAY,MAAM,EAAE,EACpB,eAAe,MAAM,EACrB,aAAa,aAAa,GAAG,WAAW,KACvC,WAAW,GAAG,IA0ChB,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.authenticate = void 0;
|
|
3
|
+
exports.getAuthContextFromJwtToken = exports.authenticate = void 0;
|
|
4
4
|
const utils_1 = require("@etohq/utils");
|
|
5
5
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
6
6
|
const context_1 = require("../../context");
|
|
7
|
+
const error_1 = require("../../error");
|
|
7
8
|
const SESSION_AUTH = "session";
|
|
8
9
|
const BEARER_AUTH = "bearer";
|
|
9
10
|
const API_KEY_AUTH = "api-key";
|
|
@@ -13,6 +14,9 @@ const authenticate = (actorType, authType, options = {}) => {
|
|
|
13
14
|
const authenticateMiddleware = async (req, next) => {
|
|
14
15
|
const authTypes = Array.isArray(authType) ? authType : [authType];
|
|
15
16
|
const actorTypes = Array.isArray(actorType) ? actorType : [actorType];
|
|
17
|
+
if (!req.requestMeta) {
|
|
18
|
+
throw new Error("Request meta is required for authentication middleware");
|
|
19
|
+
}
|
|
16
20
|
const reqCtx = (0, context_1.reqContext)(req.requestMeta);
|
|
17
21
|
// We only allow authenticating using a secret API key on the admin
|
|
18
22
|
const isExclusivelyUser = actorTypes.length === 1 && actorTypes[0] === ADMIN_ACTOR_TYPE;
|
|
@@ -31,15 +35,15 @@ const authenticate = (actorType, authType, options = {}) => {
|
|
|
31
35
|
// We try to extract the auth context either from the session or from a JWT token
|
|
32
36
|
let authCtxFromSession = getAuthContextFromSession(req.data.session, authTypes, actorTypes);
|
|
33
37
|
if (!authCtxFromSession) {
|
|
34
|
-
const { projectConfig: { http }, } =
|
|
35
|
-
authCtxFromSession = getAuthContextFromJwtToken(reqCtx.req.headers
|
|
38
|
+
const { projectConfig: { http }, } = reqCtx.scope.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
|
|
39
|
+
authCtxFromSession = (0, exports.getAuthContextFromJwtToken)(reqCtx.req.headers["authorization"], http.jwtSecret, authTypes, actorTypes);
|
|
36
40
|
}
|
|
37
41
|
// If the entity is authenticated, and it is a registered actor we can continue
|
|
38
42
|
if (authCtxFromSession?.actor_id) {
|
|
39
|
-
|
|
43
|
+
req.data.authContext = authCtxFromSession;
|
|
40
44
|
return next(req);
|
|
41
45
|
}
|
|
42
|
-
const authCtx = (0, context_1.authContext)(req);
|
|
46
|
+
const authCtx = (0, context_1.authContext)(req.requestMeta);
|
|
43
47
|
// If the entity is authenticated, but there is no registered actor yet, we can continue (eg. in the case of a user invite) if allow unregistered is set
|
|
44
48
|
// We also don't want to allow creating eg. a customer with a token created for a `user` provider.
|
|
45
49
|
if (req.data?.auth_identity_id &&
|
|
@@ -52,14 +56,13 @@ const authenticate = (actorType, authType, options = {}) => {
|
|
|
52
56
|
if (options.allowUnauthenticated) {
|
|
53
57
|
return next(req);
|
|
54
58
|
}
|
|
55
|
-
|
|
56
|
-
// res.status(401).json({ message: "Unauthorized" })
|
|
59
|
+
throw error_1.APIError.unauthenticated("Unauthorized");
|
|
57
60
|
};
|
|
58
61
|
return authenticateMiddleware;
|
|
59
62
|
};
|
|
60
63
|
exports.authenticate = authenticate;
|
|
61
64
|
const getApiKeyInfo = async (req) => {
|
|
62
|
-
const authHeader = req.req.headers
|
|
65
|
+
const authHeader = req.req.headers["authorization"];
|
|
63
66
|
if (!authHeader) {
|
|
64
67
|
return null;
|
|
65
68
|
}
|
|
@@ -103,7 +106,7 @@ const getAuthContextFromSession = (session = {}, authTypes, actorTypes) => {
|
|
|
103
106
|
}
|
|
104
107
|
return null;
|
|
105
108
|
};
|
|
106
|
-
const getAuthContextFromJwtToken = (authHeader, jwtSecret, authTypes, actorTypes) => {
|
|
109
|
+
const getAuthContextFromJwtToken = (authHeader, jwtSecret, authTypes, actorTypes, jwtPublicKey, jwtOptions) => {
|
|
107
110
|
if (!authTypes.includes(BEARER_AUTH)) {
|
|
108
111
|
return null;
|
|
109
112
|
}
|
|
@@ -120,7 +123,12 @@ const getAuthContextFromJwtToken = (authHeader, jwtSecret, authTypes, actorTypes
|
|
|
120
123
|
// get config jwt secret
|
|
121
124
|
// verify token and set authUser
|
|
122
125
|
try {
|
|
123
|
-
const
|
|
126
|
+
const options = { ...jwtOptions };
|
|
127
|
+
if (!options.algorithms && options.algorithm) {
|
|
128
|
+
options.algorithms = [options.algorithm];
|
|
129
|
+
delete options.algorithm;
|
|
130
|
+
}
|
|
131
|
+
const verified = (0, jsonwebtoken_1.verify)(token, jwtPublicKey ?? jwtSecret, options);
|
|
124
132
|
if (isActorTypePermitted(actorTypes, verified.actor_type)) {
|
|
125
133
|
return verified;
|
|
126
134
|
}
|
|
@@ -132,6 +140,7 @@ const getAuthContextFromJwtToken = (authHeader, jwtSecret, authTypes, actorTypes
|
|
|
132
140
|
}
|
|
133
141
|
return null;
|
|
134
142
|
};
|
|
143
|
+
exports.getAuthContextFromJwtToken = getAuthContextFromJwtToken;
|
|
135
144
|
const isActorTypePermitted = (actorTypes, currentActorType) => {
|
|
136
145
|
return actorTypes.includes("*") || actorTypes.includes(currentActorType);
|
|
137
146
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate-middleware.js","sourceRoot":"","sources":["../../../src/http/middlewares/authenticate-middleware.ts"],"names":[],"mappings":";;;AACA,wCAAiE;
|
|
1
|
+
{"version":3,"file":"authenticate-middleware.js","sourceRoot":"","sources":["../../../src/http/middlewares/authenticate-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bodyparser.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/bodyparser.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// import { memoize } from "lodash"
|
|
4
|
+
// import logger from "@etohq/cli/dist/reporter"
|
|
5
|
+
// import { json, NextFunction, RequestHandler, text, urlencoded } from "express"
|
|
6
|
+
//
|
|
7
|
+
// import type {
|
|
8
|
+
// EtoRequest,
|
|
9
|
+
// EtoResponse,
|
|
10
|
+
// MiddlewareVerb,
|
|
11
|
+
// ParserConfigArgs,
|
|
12
|
+
// MiddlewareFunction,
|
|
13
|
+
// BodyParserConfigRoute,
|
|
14
|
+
// } from "../types"
|
|
15
|
+
// import type { RoutesFinder } from "../routes-finder"
|
|
16
|
+
//
|
|
17
|
+
// /**
|
|
18
|
+
// * Parsers to use for parsing the HTTP request body
|
|
19
|
+
// */
|
|
20
|
+
// const parsers = {
|
|
21
|
+
// json: memoize(function jsonParserMiddleware(options?: ParserConfigArgs) {
|
|
22
|
+
// return json({
|
|
23
|
+
// limit: options?.sizeLimit,
|
|
24
|
+
// verify: options?.preserveRawBody
|
|
25
|
+
// ? (req: EtoRequest, res: EtoResponse, buf: Buffer) => {
|
|
26
|
+
// req.rawBody = buf
|
|
27
|
+
// }
|
|
28
|
+
// : undefined,
|
|
29
|
+
// })
|
|
30
|
+
// }),
|
|
31
|
+
// text: memoize(function textParser(options?: ParserConfigArgs) {
|
|
32
|
+
// return text({
|
|
33
|
+
// limit: options?.sizeLimit,
|
|
34
|
+
// })
|
|
35
|
+
// }),
|
|
36
|
+
// urlencoded: memoize(function urlencodedParserMiddleware(
|
|
37
|
+
// options?: ParserConfigArgs
|
|
38
|
+
// ) {
|
|
39
|
+
// return urlencoded({
|
|
40
|
+
// limit: options?.sizeLimit,
|
|
41
|
+
// extended: true,
|
|
42
|
+
// })
|
|
43
|
+
// }),
|
|
44
|
+
// }
|
|
45
|
+
//
|
|
46
|
+
// /**
|
|
47
|
+
// * Creates the bodyparser middlewares stack that creates custom bodyparsers
|
|
48
|
+
// * during an HTTP request based upon the defined config. The bodyparser
|
|
49
|
+
// * instances are cached for re-use.
|
|
50
|
+
// */
|
|
51
|
+
// export function createBodyParserMiddlewaresStack(
|
|
52
|
+
// route: string,
|
|
53
|
+
// routesFinder: RoutesFinder<BodyParserConfigRoute>,
|
|
54
|
+
// tracer?: (
|
|
55
|
+
// handler: RequestHandler | MiddlewareFunction,
|
|
56
|
+
// route: { route: string; method?: string }
|
|
57
|
+
// ) => RequestHandler | MiddlewareFunction
|
|
58
|
+
// ) {
|
|
59
|
+
// return (["json", "text", "urlencoded"] as (keyof typeof parsers)[]).map(
|
|
60
|
+
// (parser) => {
|
|
61
|
+
// function bodyParser(
|
|
62
|
+
// req: EtoRequest,
|
|
63
|
+
// res: EtoResponse,
|
|
64
|
+
// next: NextFunction
|
|
65
|
+
// ) {
|
|
66
|
+
// const matchingRoute = routesFinder.find(
|
|
67
|
+
// req.path,
|
|
68
|
+
// req.method as MiddlewareVerb
|
|
69
|
+
// )
|
|
70
|
+
// const parserMiddleware = parsers[parser]
|
|
71
|
+
//
|
|
72
|
+
// if (!matchingRoute) {
|
|
73
|
+
// return parserMiddleware()(req, res, next)
|
|
74
|
+
// }
|
|
75
|
+
//
|
|
76
|
+
// if (matchingRoute.config === false) {
|
|
77
|
+
// logger.debug(
|
|
78
|
+
// `skipping ${parser} bodyparser middleware ${req.method} ${req.path}`
|
|
79
|
+
// )
|
|
80
|
+
// return next()
|
|
81
|
+
// }
|
|
82
|
+
//
|
|
83
|
+
// logger.debug(
|
|
84
|
+
// `using custom ${parser} bodyparser config ${req.method} ${req.path}`
|
|
85
|
+
// )
|
|
86
|
+
// return parserMiddleware(matchingRoute.config)(req, res, next)
|
|
87
|
+
// }
|
|
88
|
+
//
|
|
89
|
+
// Object.defineProperty(bodyParser, "name", {
|
|
90
|
+
// value: `${parser}BodyParser`,
|
|
91
|
+
// })
|
|
92
|
+
//
|
|
93
|
+
// return (
|
|
94
|
+
// tracer ? tracer(bodyParser, { route }) : bodyParser
|
|
95
|
+
// ) as RequestHandler
|
|
96
|
+
// }
|
|
97
|
+
// )
|
|
98
|
+
// }
|
|
99
|
+
//# sourceMappingURL=bodyparser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bodyparser.js","sourceRoot":"","sources":["../../../src/http/middlewares/bodyparser.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AACnC,gDAAgD;AAChD,iFAAiF;AACjF,EAAE;AACF,gBAAgB;AAChB,gBAAgB;AAChB,iBAAiB;AACjB,oBAAoB;AACpB,sBAAsB;AACtB,wBAAwB;AACxB,2BAA2B;AAC3B,oBAAoB;AACpB,uDAAuD;AACvD,EAAE;AACF,MAAM;AACN,sDAAsD;AACtD,MAAM;AACN,oBAAoB;AACpB,8EAA8E;AAC9E,oBAAoB;AACpB,mCAAmC;AACnC,yCAAyC;AACzC,kEAAkE;AAClE,gCAAgC;AAChC,cAAc;AACd,uBAAuB;AACvB,SAAS;AACT,QAAQ;AACR,oEAAoE;AACpE,oBAAoB;AACpB,mCAAmC;AACnC,SAAS;AACT,QAAQ;AACR,6DAA6D;AAC7D,iCAAiC;AACjC,QAAQ;AACR,0BAA0B;AAC1B,mCAAmC;AACnC,wBAAwB;AACxB,SAAS;AACT,QAAQ;AACR,IAAI;AACJ,EAAE;AACF,MAAM;AACN,8EAA8E;AAC9E,0EAA0E;AAC1E,sCAAsC;AACtC,MAAM;AACN,oDAAoD;AACpD,mBAAmB;AACnB,uDAAuD;AACvD,eAAe;AACf,oDAAoD;AACpD,gDAAgD;AAChD,6CAA6C;AAC7C,MAAM;AACN,6EAA6E;AAC7E,oBAAoB;AACpB,6BAA6B;AAC7B,2BAA2B;AAC3B,4BAA4B;AAC5B,6BAA6B;AAC7B,YAAY;AACZ,mDAAmD;AACnD,sBAAsB;AACtB,yCAAyC;AACzC,YAAY;AACZ,mDAAmD;AACnD,EAAE;AACF,gCAAgC;AAChC,sDAAsD;AACtD,YAAY;AACZ,EAAE;AACF,gDAAgD;AAChD,0BAA0B;AAC1B,mFAAmF;AACnF,cAAc;AACd,0BAA0B;AAC1B,YAAY;AACZ,EAAE;AACF,wBAAwB;AACxB,iFAAiF;AACjF,YAAY;AACZ,wEAAwE;AACxE,UAAU;AACV,EAAE;AACF,oDAAoD;AACpD,wCAAwC;AACxC,WAAW;AACX,EAAE;AACF,iBAAiB;AACjB,8DAA8D;AAC9D,4BAA4B;AAC5B,QAAQ;AACR,MAAM;AACN,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-publishable-api-key.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/ensure-publishable-api-key.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"ensure-publishable-api-key.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/ensure-publishable-api-key.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAKnB,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,iBAAiB,mDA0DxB"}
|
|
@@ -5,7 +5,7 @@ const utils_1 = require("@etohq/utils");
|
|
|
5
5
|
const context_1 = require("../../context");
|
|
6
6
|
async function ensurePublishableApiKeyMiddleware(req, next) {
|
|
7
7
|
const storeReqCtx = (0, context_1.storeReqContext)(req.requestMeta);
|
|
8
|
-
const publishableApiKey = storeReqCtx.req.headers
|
|
8
|
+
const publishableApiKey = storeReqCtx.req.headers[utils_1.PUBLISHABLE_KEY_HEADER];
|
|
9
9
|
if (!(0, utils_1.isPresent)(publishableApiKey)) {
|
|
10
10
|
try {
|
|
11
11
|
throw new utils_1.EtoError(utils_1.EtoError.Types.NOT_ALLOWED, `Publishable API key required in the request header: ${utils_1.PUBLISHABLE_KEY_HEADER}. You can manage your keys in settings in the dashboard.`);
|
|
@@ -28,7 +28,7 @@ async function ensurePublishableApiKeyMiddleware(req, next) {
|
|
|
28
28
|
{ revoked_at: { $gt: new Date() } },
|
|
29
29
|
],
|
|
30
30
|
},
|
|
31
|
-
}
|
|
31
|
+
});
|
|
32
32
|
apiKey = data[0];
|
|
33
33
|
}
|
|
34
34
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-publishable-api-key.js","sourceRoot":"","sources":["../../../src/http/middlewares/ensure-publishable-api-key.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ensure-publishable-api-key.js","sourceRoot":"","sources":["../../../src/http/middlewares/ensure-publishable-api-key.ts"],"names":[],"mappings":";;AAeA,8EA4DC;AA3ED,wCAMqB;AAMrB,2CAA+C;AAGxC,KAAK,UAAU,iCAAiC,CACrD,GAAyB,EACzB,IAAuB;IAEvB,MAAM,WAAW,GAAG,IAAA,yBAAe,EAAC,GAAG,CAAC,WAA0B,CAAC,CAAA;IACnE,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,8BAAsB,CAAC,CAAA;IAGzE,IAAI,CAAC,IAAA,iBAAS,EAAC,iBAAiB,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,WAAW,EAC1B,uDAAuD,8BAAsB,0DAA0D,CACxI,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAA;IACV,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,iCAAyB,CAAC,KAAK,CAAC,CAAA;IAExE,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;YACjC,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,sCAAsC,CAAC;YAC/D,OAAO,EAAE;gBACP,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,kBAAU,CAAC,WAAW;gBAC5B,GAAG,EAAE;oBACH,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBAC7B,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE;iBACpC;aACF;SACF,CAAC,CAAA;QAEF,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,WAAW,EAC1B,iEAAiE,CAClE,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG;QAC/B,GAAG,EAAE,MAAM,CAAC,KAAK;QACjB,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAChC;KACF,CAAA;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAA6B,QAAQ,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAYlE,wBAAgB,YAAY,KAExB,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../src/http/middlewares/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAA6B,QAAQ,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAYlE,wBAAgB,YAAY,KAExB,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,MAAM,iBAAiB,qDAmE1B;AAED;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -3,15 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.errorHandler = errorHandler;
|
|
4
4
|
const utils_1 = require("@etohq/utils");
|
|
5
5
|
const exception_formatter_1 = require("./exception-formatter");
|
|
6
|
+
const error_1 = require("../../error");
|
|
6
7
|
const QUERY_RUNNER_RELEASED = "QueryRunnerAlreadyReleasedError";
|
|
7
8
|
const TRANSACTION_STARTED = "TransactionAlreadyStartedError";
|
|
8
9
|
const TRANSACTION_NOT_STARTED = "TransactionNotStartedError";
|
|
9
|
-
const API_ERROR =
|
|
10
|
-
const INVALID_REQUEST_ERROR =
|
|
11
|
-
const INVALID_STATE_ERROR =
|
|
12
|
-
// to add to Etomiddleware.
|
|
10
|
+
const API_ERROR = error_1.ErrCode.Internal;
|
|
11
|
+
const INVALID_REQUEST_ERROR = error_1.ErrCode.InvalidArgument;
|
|
12
|
+
const INVALID_STATE_ERROR = error_1.ErrCode.FailedPrecondition;
|
|
13
13
|
function errorHandler() {
|
|
14
14
|
return async (err, req, res, next) => {
|
|
15
|
+
// i think data is to set not get.
|
|
15
16
|
const logger = req.data.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
16
17
|
err = (0, exception_formatter_1.formatException)(err);
|
|
17
18
|
logger.error(err);
|
|
@@ -57,9 +58,9 @@ function errorHandler() {
|
|
|
57
58
|
case utils_1.EtoError.Types.INVALID_ARGUMENT:
|
|
58
59
|
break;
|
|
59
60
|
default:
|
|
60
|
-
errObj.code =
|
|
61
|
+
errObj.code = error_1.ErrCode.Unknown;
|
|
61
62
|
errObj.message = "An unknown error occurred.";
|
|
62
|
-
errObj.type =
|
|
63
|
+
errObj.type = error_1.ErrCode.Unknown;
|
|
63
64
|
break;
|
|
64
65
|
}
|
|
65
66
|
const response = await next(req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/http/middlewares/error-handler.ts"],"names":[],"mappings":";;AAgBA,
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../../src/http/middlewares/error-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/http/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ZodNullable, ZodObject, ZodOptional } from "zod";
|
|
2
|
-
import { RouteVerb, FindConfig, Middleware, MiddlewareFn, MiddlewareOptions, MiddlewareRequest, HandlerResponse, Next, MiddlewareVerb, EtoContainer, EtoResponse, EtoRequest } from "@etohq/types";
|
|
3
|
-
import
|
|
4
|
-
import { RestrictedFields } from './utils/restricted-fields';
|
|
2
|
+
import { RouteVerb, FindConfig, Middleware, MiddlewareFn, MiddlewareOptions, MiddlewareRequest, HandlerResponse, Next, MiddlewareVerb, EtoContainer, EtoResponse, EtoRequest, APICallMeta } from "@etohq/types";
|
|
3
|
+
import { RestrictedFields } from "./utils/restricted-fields";
|
|
5
4
|
type SyncRouteHandler = (req: EtoRequest, res: EtoResponse) => void;
|
|
6
5
|
export type AsyncRouteHandler = (req: EtoRequest, res: EtoResponse) => Promise<void>;
|
|
7
6
|
export type RouteHandler = SyncRouteHandler | AsyncRouteHandler;
|
|
@@ -25,21 +24,52 @@ export type ParserConfigArgs = {
|
|
|
25
24
|
};
|
|
26
25
|
export type ParserConfig = false | ParserConfigArgs;
|
|
27
26
|
export type MiddlewareRoute = {
|
|
28
|
-
|
|
27
|
+
methods?: MiddlewareVerb[];
|
|
29
28
|
matcher: string | RegExp;
|
|
30
29
|
bodyParser?: ParserConfig;
|
|
30
|
+
additionalDataValidator?: any;
|
|
31
31
|
middlewares?: MiddlewareFunction[];
|
|
32
32
|
};
|
|
33
33
|
export type MiddlewaresConfig = {
|
|
34
34
|
errorHandler?: false | EtoErrorHandlerFunction;
|
|
35
35
|
routes?: MiddlewareRoute[];
|
|
36
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Route descriptor refers represents a route either scanned
|
|
39
|
+
* from the filesystem or registered manually. It does not
|
|
40
|
+
* represent a middleware
|
|
41
|
+
*/
|
|
37
42
|
export type RouteDescriptor = {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
matcher: string;
|
|
44
|
+
method: RouteVerb;
|
|
45
|
+
handler: RouteHandler;
|
|
46
|
+
optedOutOfAuth: boolean;
|
|
47
|
+
isRoute: true;
|
|
48
|
+
routeType?: "admin" | "store" | "auth";
|
|
49
|
+
absolutePath?: string;
|
|
50
|
+
relativePath?: string;
|
|
51
|
+
shouldAppendAdminCors: boolean;
|
|
52
|
+
shouldAppendStoreCors: boolean;
|
|
53
|
+
shouldAppendAuthCors: boolean;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Represents a middleware
|
|
57
|
+
*/
|
|
58
|
+
export type MiddlewareDescriptor = {
|
|
59
|
+
matcher: string;
|
|
60
|
+
methods?: MiddlewareVerb | MiddlewareVerb[];
|
|
61
|
+
handler: MiddlewareFunction;
|
|
62
|
+
};
|
|
63
|
+
export type BodyParserConfigRoute = {
|
|
64
|
+
matcher: string;
|
|
65
|
+
methods: MiddlewareVerb | MiddlewareVerb[];
|
|
66
|
+
config: ParserConfig;
|
|
67
|
+
};
|
|
68
|
+
export type AdditionalDataValidatorRoute = {
|
|
69
|
+
matcher: string;
|
|
70
|
+
methods: MiddlewareVerb | MiddlewareVerb[];
|
|
71
|
+
schema: any;
|
|
72
|
+
validator: ZodOptional<ZodNullable<ZodObject<any, any>>>;
|
|
43
73
|
};
|
|
44
74
|
export type GlobalMiddlewareDescriptor = {
|
|
45
75
|
config?: MiddlewaresConfig;
|
|
@@ -84,6 +114,7 @@ export interface EtoRequestContext {
|
|
|
84
114
|
skip: number;
|
|
85
115
|
take?: number;
|
|
86
116
|
};
|
|
117
|
+
withDeleted?: boolean;
|
|
87
118
|
};
|
|
88
119
|
/**
|
|
89
120
|
* An object containing the fields that are filterable e.g `{ id: Any<String> }`
|
|
@@ -114,28 +145,27 @@ export interface EtoRequestContext {
|
|
|
114
145
|
*/
|
|
115
146
|
additionalDataValidator?: ZodOptional<ZodNullable<ZodObject<any, any>>>;
|
|
116
147
|
}
|
|
117
|
-
export
|
|
148
|
+
export interface AuthContext {
|
|
118
149
|
actor_id: string;
|
|
119
150
|
actor_type: string;
|
|
120
151
|
auth_identity_id: string;
|
|
121
152
|
app_metadata: Record<string, unknown>;
|
|
122
|
-
}
|
|
123
|
-
export type EtoSession = {
|
|
124
|
-
authContext: AuthContext;
|
|
125
|
-
scope: EtoContainer;
|
|
126
|
-
};
|
|
153
|
+
}
|
|
127
154
|
export interface PublishableKeyContext {
|
|
128
155
|
key: string;
|
|
129
156
|
sales_channel_ids: string[];
|
|
130
157
|
}
|
|
131
|
-
export
|
|
158
|
+
export interface EtoSession extends EtoRequestContext {
|
|
159
|
+
authContext: AuthContext;
|
|
160
|
+
}
|
|
161
|
+
export interface AuthEtoRequestContext extends EtoRequestContext {
|
|
132
162
|
authContext: AuthContext;
|
|
133
163
|
publishableKeyContext?: PublishableKeyContext;
|
|
134
|
-
}
|
|
135
|
-
export
|
|
164
|
+
}
|
|
165
|
+
export interface EtoStoreRequestContext extends EtoRequestContext {
|
|
136
166
|
authContext?: AuthContext;
|
|
137
167
|
publishableKeyContext: PublishableKeyContext;
|
|
138
|
-
}
|
|
168
|
+
}
|
|
139
169
|
export type EtoRequestHandler = (req: EtoMiddlewareRequest, next: EtoMiddlewareNext) => Promise<EtoHandlerResponse>;
|
|
140
170
|
export {};
|
|
141
171
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/http/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAEzD,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,23 +8,21 @@ export declare function prepareListQuery<T extends RequestQueryFields, TEntity>(
|
|
|
8
8
|
relations: string[];
|
|
9
9
|
skip: number;
|
|
10
10
|
take: number;
|
|
11
|
-
order:
|
|
12
|
-
|
|
13
|
-
} | undefined;
|
|
11
|
+
order: import("@etohq/utils").Order | undefined;
|
|
12
|
+
withDeleted: boolean | undefined;
|
|
14
13
|
};
|
|
15
14
|
remoteQueryConfig: {
|
|
16
15
|
fields: string[];
|
|
17
16
|
pagination: {
|
|
18
17
|
skip: number;
|
|
19
18
|
take: number;
|
|
20
|
-
order:
|
|
21
|
-
[k: symbol]: "DESC" | "ASC";
|
|
22
|
-
} | undefined;
|
|
19
|
+
order: import("@etohq/utils").Order | undefined;
|
|
23
20
|
} | {
|
|
24
21
|
skip?: undefined;
|
|
25
22
|
take?: undefined;
|
|
26
23
|
order?: undefined;
|
|
27
24
|
};
|
|
25
|
+
withDeleted: boolean | undefined;
|
|
28
26
|
};
|
|
29
27
|
};
|
|
30
28
|
export declare function prepareRetrieveQuery<T extends RequestQueryFields, TEntity>(validated: T, queryConfig?: QueryConfig<TEntity> & {
|
|
@@ -37,6 +35,7 @@ export declare function prepareRetrieveQuery<T extends RequestQueryFields, TEnti
|
|
|
37
35
|
remoteQueryConfig: {
|
|
38
36
|
fields: string[];
|
|
39
37
|
pagination: {};
|
|
38
|
+
withDeleted: boolean | undefined;
|
|
40
39
|
};
|
|
41
40
|
};
|
|
42
41
|
//# sourceMappingURL=get-query-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-query-config.d.ts","sourceRoot":"","sources":["../../../src/http/utils/get-query-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"get-query-config.d.ts","sourceRoot":"","sources":["../../../src/http/utils/get-query-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAU1E,wBAAgB,YAAY,CAAC,MAAM,EACjC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAWrC;AAoED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE,OAAO,EACpE,SAAS,EAAE,CAAC,EACZ,WAAW,GAAE,WAAW,CAAC,OAAO,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO;;;;;;;;;;;;;;;;;;;;;;EAwJnE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,kBAAkB,EAAE,OAAO,EACxE,SAAS,EAAE,CAAC,EACZ,WAAW,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE;;;;;;;;;;EAkB/D"}
|
|
@@ -56,7 +56,7 @@ function checkAllowedFields({ fields, allowed, starFields, }) {
|
|
|
56
56
|
}
|
|
57
57
|
function prepareListQuery(validated, queryConfig = {}) {
|
|
58
58
|
let { allowed = [], restricted = [], defaults = [], defaultLimit = 50, isList, } = queryConfig;
|
|
59
|
-
const { order, fields, limit = defaultLimit, offset = 0 } = validated;
|
|
59
|
+
const { order, fields, limit = defaultLimit, offset = 0, with_deleted, } = validated;
|
|
60
60
|
// e.g *product.variants meaning that we want all fields from the product.variants
|
|
61
61
|
// in that case it wont be part of the select but it will be part of the relations.
|
|
62
62
|
// For the remote query we will have to add the fields to the fields array as product.variants.*
|
|
@@ -131,9 +131,8 @@ function prepareListQuery(validated, queryConfig = {}) {
|
|
|
131
131
|
if ((0, utils_1.isDefined)(order)) {
|
|
132
132
|
let orderField = order;
|
|
133
133
|
if (order.startsWith("-")) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
orderBy = { [field]: "DESC" };
|
|
134
|
+
orderField = order.slice(1);
|
|
135
|
+
orderBy = { [orderField]: "DESC" };
|
|
137
136
|
}
|
|
138
137
|
else {
|
|
139
138
|
orderBy = { [order]: "ASC" };
|
|
@@ -142,7 +141,7 @@ function prepareListQuery(validated, queryConfig = {}) {
|
|
|
142
141
|
throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, `Order field ${orderField} is not valid`);
|
|
143
142
|
}
|
|
144
143
|
}
|
|
145
|
-
const finalOrder = (0, utils_1.isPresent)(orderBy) ? orderBy : undefined;
|
|
144
|
+
const finalOrder = (0, utils_1.isPresent)(orderBy) ? (0, utils_1.buildOrder)(orderBy) : undefined;
|
|
146
145
|
return {
|
|
147
146
|
listConfig: {
|
|
148
147
|
select: select.length ? select : undefined,
|
|
@@ -150,6 +149,7 @@ function prepareListQuery(validated, queryConfig = {}) {
|
|
|
150
149
|
skip: offset,
|
|
151
150
|
take: limit,
|
|
152
151
|
order: finalOrder,
|
|
152
|
+
withDeleted: with_deleted,
|
|
153
153
|
},
|
|
154
154
|
remoteQueryConfig: {
|
|
155
155
|
// Add starFields that are relations only on which we want all properties with a dedicated format to the remote query
|
|
@@ -164,6 +164,7 @@ function prepareListQuery(validated, queryConfig = {}) {
|
|
|
164
164
|
order: finalOrder,
|
|
165
165
|
}
|
|
166
166
|
: {},
|
|
167
|
+
withDeleted: with_deleted,
|
|
167
168
|
},
|
|
168
169
|
};
|
|
169
170
|
}
|
|
@@ -177,6 +178,7 @@ function prepareRetrieveQuery(validated, queryConfig) {
|
|
|
177
178
|
remoteQueryConfig: {
|
|
178
179
|
fields: remoteQueryConfig.fields,
|
|
179
180
|
pagination: {},
|
|
181
|
+
withDeleted: remoteQueryConfig.withDeleted,
|
|
180
182
|
},
|
|
181
183
|
};
|
|
182
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-query-config.js","sourceRoot":"","sources":["../../../src/http/utils/get-query-config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"get-query-config.js","sourceRoot":"","sources":["../../../src/http/utils/get-query-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-apply-link-filter.d.ts","sourceRoot":"","sources":["../../../src/http/utils/maybe-apply-link-filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"maybe-apply-link-filter.d.ts","sourceRoot":"","sources":["../../../src/http/utils/maybe-apply-link-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAIlE,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAoB,GACrB;;;;;CAAA,IAEG,KAAK,oBAAoB,EACzB,MAAM,iBAAiB,qDA+C1B"}
|