@etohq/framework 1.0.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.
Files changed (234) hide show
  1. package/README.md +0 -0
  2. package/dist/build-tools/compiler.d.ts +49 -0
  3. package/dist/build-tools/compiler.d.ts.map +1 -0
  4. package/dist/build-tools/compiler.js +291 -0
  5. package/dist/build-tools/compiler.js.map +1 -0
  6. package/dist/build-tools/index.d.ts +2 -0
  7. package/dist/build-tools/index.d.ts.map +1 -0
  8. package/dist/build-tools/index.js +18 -0
  9. package/dist/build-tools/index.js.map +1 -0
  10. package/dist/config/config.d.ts +34 -0
  11. package/dist/config/config.d.ts.map +1 -0
  12. package/dist/config/config.js +132 -0
  13. package/dist/config/config.js.map +1 -0
  14. package/dist/config/index.d.ts +5 -0
  15. package/dist/config/index.d.ts.map +1 -0
  16. package/dist/config/index.js +21 -0
  17. package/dist/config/index.js.map +1 -0
  18. package/dist/config/loader.d.ts +11 -0
  19. package/dist/config/loader.d.ts.map +1 -0
  20. package/dist/config/loader.js +35 -0
  21. package/dist/config/loader.js.map +1 -0
  22. package/dist/config/types.d.ts +901 -0
  23. package/dist/config/types.d.ts.map +1 -0
  24. package/dist/config/types.js +3 -0
  25. package/dist/config/types.js.map +1 -0
  26. package/dist/container.d.ts +3 -0
  27. package/dist/container.d.ts.map +1 -0
  28. package/dist/container.js +21 -0
  29. package/dist/container.js.map +1 -0
  30. package/dist/database/index.d.ts +3 -0
  31. package/dist/database/index.d.ts.map +1 -0
  32. package/dist/database/index.js +19 -0
  33. package/dist/database/index.js.map +1 -0
  34. package/dist/database/pg-connection-loader.d.ts +6 -0
  35. package/dist/database/pg-connection-loader.d.ts.map +1 -0
  36. package/dist/database/pg-connection-loader.js +37 -0
  37. package/dist/database/pg-connection-loader.js.map +1 -0
  38. package/dist/eto-app-loader.d.ts +51 -0
  39. package/dist/eto-app-loader.d.ts.map +1 -0
  40. package/dist/eto-app-loader.js +183 -0
  41. package/dist/eto-app-loader.js.map +1 -0
  42. package/dist/feature-flags/feature-flag-loader.d.ts +8 -0
  43. package/dist/feature-flags/feature-flag-loader.d.ts.map +1 -0
  44. package/dist/feature-flags/feature-flag-loader.js +81 -0
  45. package/dist/feature-flags/feature-flag-loader.js.map +1 -0
  46. package/dist/feature-flags/flag-router.d.ts +32 -0
  47. package/dist/feature-flags/flag-router.d.ts.map +1 -0
  48. package/dist/feature-flags/flag-router.js +67 -0
  49. package/dist/feature-flags/flag-router.js.map +1 -0
  50. package/dist/feature-flags/index.d.ts +5 -0
  51. package/dist/feature-flags/index.d.ts.map +1 -0
  52. package/dist/feature-flags/index.js +21 -0
  53. package/dist/feature-flags/index.js.map +1 -0
  54. package/dist/feature-flags/types.d.ts +31 -0
  55. package/dist/feature-flags/types.d.ts.map +1 -0
  56. package/dist/feature-flags/types.js +3 -0
  57. package/dist/feature-flags/types.js.map +1 -0
  58. package/dist/http/express-loader.d.ts +8 -0
  59. package/dist/http/express-loader.d.ts.map +1 -0
  60. package/dist/http/express-loader.js +85 -0
  61. package/dist/http/express-loader.js.map +1 -0
  62. package/dist/http/index.d.ts +15 -0
  63. package/dist/http/index.d.ts.map +1 -0
  64. package/dist/http/index.js +31 -0
  65. package/dist/http/index.js.map +1 -0
  66. package/dist/http/middlewares/apply-default-filters.d.ts +3 -0
  67. package/dist/http/middlewares/apply-default-filters.d.ts.map +1 -0
  68. package/dist/http/middlewares/apply-default-filters.js +32 -0
  69. package/dist/http/middlewares/apply-default-filters.js.map +1 -0
  70. package/dist/http/middlewares/apply-params-as-filters.d.ts +5 -0
  71. package/dist/http/middlewares/apply-params-as-filters.d.ts.map +1 -0
  72. package/dist/http/middlewares/apply-params-as-filters.js +14 -0
  73. package/dist/http/middlewares/apply-params-as-filters.js.map +1 -0
  74. package/dist/http/middlewares/authenticate-middleware.d.ts +11 -0
  75. package/dist/http/middlewares/authenticate-middleware.d.ts.map +1 -0
  76. package/dist/http/middlewares/authenticate-middleware.js +135 -0
  77. package/dist/http/middlewares/authenticate-middleware.js.map +1 -0
  78. package/dist/http/middlewares/clear-filters-by-key.d.ts +3 -0
  79. package/dist/http/middlewares/clear-filters-by-key.d.ts.map +1 -0
  80. package/dist/http/middlewares/clear-filters-by-key.js +12 -0
  81. package/dist/http/middlewares/clear-filters-by-key.js.map +1 -0
  82. package/dist/http/middlewares/ensure-publishable-api-key.d.ts +3 -0
  83. package/dist/http/middlewares/ensure-publishable-api-key.d.ts.map +1 -0
  84. package/dist/http/middlewares/ensure-publishable-api-key.js +49 -0
  85. package/dist/http/middlewares/ensure-publishable-api-key.js.map +1 -0
  86. package/dist/http/middlewares/error-handler.d.ts +23 -0
  87. package/dist/http/middlewares/error-handler.d.ts.map +1 -0
  88. package/dist/http/middlewares/error-handler.js +85 -0
  89. package/dist/http/middlewares/error-handler.js.map +1 -0
  90. package/dist/http/middlewares/exception-formatter.d.ts +9 -0
  91. package/dist/http/middlewares/exception-formatter.d.ts.map +1 -0
  92. package/dist/http/middlewares/exception-formatter.js +36 -0
  93. package/dist/http/middlewares/exception-formatter.js.map +1 -0
  94. package/dist/http/middlewares/index.d.ts +8 -0
  95. package/dist/http/middlewares/index.d.ts.map +1 -0
  96. package/dist/http/middlewares/index.js +24 -0
  97. package/dist/http/middlewares/index.js.map +1 -0
  98. package/dist/http/middlewares/set-context.d.ts +3 -0
  99. package/dist/http/middlewares/set-context.d.ts.map +1 -0
  100. package/dist/http/middlewares/set-context.js +18 -0
  101. package/dist/http/middlewares/set-context.js.map +1 -0
  102. package/dist/http/router.d.ts +100 -0
  103. package/dist/http/router.d.ts.map +1 -0
  104. package/dist/http/router.js +764 -0
  105. package/dist/http/router.js.map +1 -0
  106. package/dist/http/types.d.ts +141 -0
  107. package/dist/http/types.d.ts.map +1 -0
  108. package/dist/http/types.js +16 -0
  109. package/dist/http/types.js.map +1 -0
  110. package/dist/http/utils/define-middlewares.d.ts +18 -0
  111. package/dist/http/utils/define-middlewares.d.ts.map +1 -0
  112. package/dist/http/utils/define-middlewares.js +40 -0
  113. package/dist/http/utils/define-middlewares.js.map +1 -0
  114. package/dist/http/utils/get-query-config.d.ts +42 -0
  115. package/dist/http/utils/get-query-config.d.ts.map +1 -0
  116. package/dist/http/utils/get-query-config.js +183 -0
  117. package/dist/http/utils/get-query-config.js.map +1 -0
  118. package/dist/http/utils/http-compression.d.ts +5 -0
  119. package/dist/http/utils/http-compression.d.ts.map +1 -0
  120. package/dist/http/utils/http-compression.js +33 -0
  121. package/dist/http/utils/http-compression.js.map +1 -0
  122. package/dist/http/utils/maybe-apply-link-filter.d.ts +8 -0
  123. package/dist/http/utils/maybe-apply-link-filter.d.ts.map +1 -0
  124. package/dist/http/utils/maybe-apply-link-filter.js +71 -0
  125. package/dist/http/utils/maybe-apply-link-filter.js.map +1 -0
  126. package/dist/http/utils/refetch-entities.d.ts +5 -0
  127. package/dist/http/utils/refetch-entities.d.ts.map +1 -0
  128. package/dist/http/utils/refetch-entities.js +29 -0
  129. package/dist/http/utils/refetch-entities.js.map +1 -0
  130. package/dist/http/utils/restricted-fields.d.ts +6 -0
  131. package/dist/http/utils/restricted-fields.d.ts.map +1 -0
  132. package/dist/http/utils/restricted-fields.js +30 -0
  133. package/dist/http/utils/restricted-fields.js.map +1 -0
  134. package/dist/http/utils/unless-path.d.ts +9 -0
  135. package/dist/http/utils/unless-path.d.ts.map +1 -0
  136. package/dist/http/utils/unless-path.js +19 -0
  137. package/dist/http/utils/unless-path.js.map +1 -0
  138. package/dist/http/utils/validate-body.d.ts +5 -0
  139. package/dist/http/utils/validate-body.d.ts.map +1 -0
  140. package/dist/http/utils/validate-body.js +23 -0
  141. package/dist/http/utils/validate-body.js.map +1 -0
  142. package/dist/http/utils/validate-query.d.ts +6 -0
  143. package/dist/http/utils/validate-query.d.ts.map +1 -0
  144. package/dist/http/utils/validate-query.js +79 -0
  145. package/dist/http/utils/validate-query.js.map +1 -0
  146. package/dist/index.d.ts +16 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +34 -0
  149. package/dist/index.js.map +1 -0
  150. package/dist/jobs/index.d.ts +2 -0
  151. package/dist/jobs/index.d.ts.map +1 -0
  152. package/dist/jobs/index.js +18 -0
  153. package/dist/jobs/index.js.map +1 -0
  154. package/dist/jobs/job-loader.d.ts +37 -0
  155. package/dist/jobs/job-loader.d.ts.map +1 -0
  156. package/dist/jobs/job-loader.js +130 -0
  157. package/dist/jobs/job-loader.js.map +1 -0
  158. package/dist/links/index.d.ts +2 -0
  159. package/dist/links/index.d.ts.map +1 -0
  160. package/dist/links/index.js +18 -0
  161. package/dist/links/index.js.map +1 -0
  162. package/dist/links/link-loader.d.ts +10 -0
  163. package/dist/links/link-loader.d.ts.map +1 -0
  164. package/dist/links/link-loader.js +74 -0
  165. package/dist/links/link-loader.js.map +1 -0
  166. package/dist/logger/index.d.ts +3 -0
  167. package/dist/logger/index.d.ts.map +1 -0
  168. package/dist/logger/index.js +9 -0
  169. package/dist/logger/index.js.map +1 -0
  170. package/dist/mikro-orm-cli/bin.d.ts +14 -0
  171. package/dist/mikro-orm-cli/bin.d.ts.map +1 -0
  172. package/dist/mikro-orm-cli/bin.js +54 -0
  173. package/dist/mikro-orm-cli/bin.js.map +1 -0
  174. package/dist/modules-sdk/index.d.ts +2 -0
  175. package/dist/modules-sdk/index.d.ts.map +1 -0
  176. package/dist/modules-sdk/index.js +18 -0
  177. package/dist/modules-sdk/index.js.map +1 -0
  178. package/dist/orchestration/index.d.ts +2 -0
  179. package/dist/orchestration/index.d.ts.map +1 -0
  180. package/dist/orchestration/index.js +18 -0
  181. package/dist/orchestration/index.js.map +1 -0
  182. package/dist/subscribers/index.d.ts +3 -0
  183. package/dist/subscribers/index.d.ts.map +1 -0
  184. package/dist/subscribers/index.js +19 -0
  185. package/dist/subscribers/index.js.map +1 -0
  186. package/dist/subscribers/subscriber-loader.d.ts +11 -0
  187. package/dist/subscribers/subscriber-loader.d.ts.map +1 -0
  188. package/dist/subscribers/subscriber-loader.js +196 -0
  189. package/dist/subscribers/subscriber-loader.js.map +1 -0
  190. package/dist/subscribers/types.d.ts +15 -0
  191. package/dist/subscribers/types.d.ts.map +1 -0
  192. package/dist/subscribers/types.js +3 -0
  193. package/dist/subscribers/types.js.map +1 -0
  194. package/dist/telemetry/index.d.ts +50 -0
  195. package/dist/telemetry/index.d.ts.map +1 -0
  196. package/dist/telemetry/index.js +81 -0
  197. package/dist/telemetry/index.js.map +1 -0
  198. package/dist/types/container.d.ts +62 -0
  199. package/dist/types/container.d.ts.map +1 -0
  200. package/dist/types/container.js +3 -0
  201. package/dist/types/container.js.map +1 -0
  202. package/dist/types/index.d.ts +2 -0
  203. package/dist/types/index.d.ts.map +1 -0
  204. package/dist/types/index.js +18 -0
  205. package/dist/types/index.js.map +1 -0
  206. package/dist/utils/index.d.ts +3 -0
  207. package/dist/utils/index.d.ts.map +1 -0
  208. package/dist/utils/index.js +19 -0
  209. package/dist/utils/index.js.map +1 -0
  210. package/dist/workflows/index.d.ts +3 -0
  211. package/dist/workflows/index.d.ts.map +1 -0
  212. package/dist/workflows/index.js +19 -0
  213. package/dist/workflows/index.js.map +1 -0
  214. package/dist/workflows/workflow-loader.d.ts +10 -0
  215. package/dist/workflows/workflow-loader.d.ts.map +1 -0
  216. package/dist/workflows/workflow-loader.js +74 -0
  217. package/dist/workflows/workflow-loader.js.map +1 -0
  218. package/dist/workflows-sdk/composer.d.ts +2 -0
  219. package/dist/workflows-sdk/composer.d.ts.map +1 -0
  220. package/dist/workflows-sdk/composer.js +18 -0
  221. package/dist/workflows-sdk/composer.js.map +1 -0
  222. package/dist/workflows-sdk/index.d.ts +3 -0
  223. package/dist/workflows-sdk/index.d.ts.map +1 -0
  224. package/dist/workflows-sdk/index.js +19 -0
  225. package/dist/workflows-sdk/index.js.map +1 -0
  226. package/dist/zod/index.d.ts +2 -0
  227. package/dist/zod/index.d.ts.map +1 -0
  228. package/dist/zod/index.js +18 -0
  229. package/dist/zod/index.js.map +1 -0
  230. package/dist/zod/zod-helpers.d.ts +3 -0
  231. package/dist/zod/zod-helpers.d.ts.map +1 -0
  232. package/dist/zod/zod-helpers.js +95 -0
  233. package/dist/zod/zod-helpers.js.map +1 -0
  234. package/package.json +120 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/http/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ import type { NextFunction, Request, Response } from "express";
2
+ import { ZodNullable, ZodObject, ZodOptional } from "zod";
3
+ import { FindConfig, EtoPricingContext, RequestQueryFields } from "@etohq/types";
4
+ import { EtoContainer } from "../container";
5
+ import { RestrictedFields } from "./utils/restricted-fields";
6
+ /**
7
+ * List of all the supported HTTP methods
8
+ */
9
+ export declare const HTTP_METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
10
+ export type RouteVerb = (typeof HTTP_METHODS)[number];
11
+ export type MiddlewareVerb = "USE" | "ALL" | RouteVerb;
12
+ type SyncRouteHandler = (req: EtoRequest, res: EtoResponse) => void;
13
+ export type AsyncRouteHandler = (req: EtoRequest, res: EtoResponse) => Promise<void>;
14
+ export type RouteHandler = SyncRouteHandler | AsyncRouteHandler;
15
+ export type RouteImplementation = {
16
+ method?: RouteVerb;
17
+ handler: RouteHandler;
18
+ };
19
+ export type RouteConfig = {
20
+ optedOutOfAuth?: boolean;
21
+ routeType?: "admin" | "store" | "auth";
22
+ shouldAppendAdminCors?: boolean;
23
+ shouldAppendStoreCors?: boolean;
24
+ shouldAppendAuthCors?: boolean;
25
+ routes?: RouteImplementation[];
26
+ };
27
+ export type MiddlewareFunction = EtoRequestHandler | ((...args: any[]) => any);
28
+ export type EtoErrorHandlerFunction = (error: any, req: EtoRequest, res: EtoResponse, next: EtoNextFunction) => Promise<void> | void;
29
+ export type ParserConfigArgs = {
30
+ sizeLimit?: string | number | undefined;
31
+ preserveRawBody?: boolean;
32
+ };
33
+ export type ParserConfig = false | ParserConfigArgs;
34
+ export type MiddlewareRoute = {
35
+ method?: MiddlewareVerb | MiddlewareVerb[];
36
+ matcher: string | RegExp;
37
+ bodyParser?: ParserConfig;
38
+ middlewares?: MiddlewareFunction[];
39
+ };
40
+ export type MiddlewaresConfig = {
41
+ errorHandler?: false | EtoErrorHandlerFunction;
42
+ routes?: MiddlewareRoute[];
43
+ };
44
+ export type RouteDescriptor = {
45
+ absolutePath: string;
46
+ relativePath: string;
47
+ route: string;
48
+ priority: number;
49
+ config?: RouteConfig;
50
+ };
51
+ export type GlobalMiddlewareDescriptor = {
52
+ config?: MiddlewaresConfig;
53
+ };
54
+ export interface EtoRequest<Body = unknown, QueryFields = Record<string, unknown>> extends Request<{
55
+ [key: string]: string;
56
+ }, any, Body> {
57
+ validatedBody: Body;
58
+ validatedQuery: RequestQueryFields & QueryFields;
59
+ /**
60
+ * TODO: shouldn't this correspond to returnable fields instead of allowed fields? also it is used by the cleanResponseData util
61
+ */
62
+ allowedProperties: string[];
63
+ /**
64
+ * An object containing the select, relation, skip, take and order to be used with eto internal services
65
+ */
66
+ listConfig: FindConfig<unknown>;
67
+ /**
68
+ * An object containing the select, relation to be used with eto internal services
69
+ */
70
+ retrieveConfig: FindConfig<unknown>;
71
+ /**
72
+ * An object containing fields and variables to be used with the remoteQuery
73
+ *
74
+ * @version 2.2.0
75
+ */
76
+ queryConfig: {
77
+ fields: string[];
78
+ pagination: {
79
+ order?: Record<string, string>;
80
+ skip: number;
81
+ take?: number;
82
+ };
83
+ };
84
+ /**
85
+ * @deprecated Use {@link queryConfig} instead.
86
+ */
87
+ remoteQueryConfig: EtoRequest["queryConfig"];
88
+ /**
89
+ * An object containing the fields that are filterable e.g `{ id: Any<String> }`
90
+ */
91
+ filterableFields: QueryFields;
92
+ includes?: Record<string, boolean>;
93
+ /**
94
+ * An array of fields and relations that are allowed to be queried, this can be set by the
95
+ * consumer as part of a middleware and it will take precedence over the req.allowed set
96
+ * by the api
97
+ */
98
+ allowed?: string[];
99
+ errors: string[];
100
+ scope: EtoContainer;
101
+ session?: any;
102
+ rawBody?: any;
103
+ requestId?: string;
104
+ restrictedFields?: RestrictedFields;
105
+ /**
106
+ * An object that carries the context that is used to calculate prices for variants
107
+ */
108
+ pricingContext?: EtoPricingContext;
109
+ /**
110
+ * A generic context object that can be used across the request lifecycle
111
+ */
112
+ context?: Record<string, any>;
113
+ /**
114
+ * Custom validator to validate the `additional_data` property in
115
+ * requests that allows for additional_data
116
+ */
117
+ additionalDataValidator?: ZodOptional<ZodNullable<ZodObject<any, any>>>;
118
+ }
119
+ export interface AuthContext {
120
+ actor_id: string;
121
+ actor_type: string;
122
+ auth_identity_id: string;
123
+ app_metadata: Record<string, unknown>;
124
+ }
125
+ export interface PublishableKeyContext {
126
+ key: string;
127
+ sales_channel_ids: string[];
128
+ }
129
+ export interface AuthenticatedEtoRequest<Body = unknown, QueryFields = Record<string, unknown>> extends EtoRequest<Body, QueryFields> {
130
+ auth_context: AuthContext;
131
+ publishable_key_context?: PublishableKeyContext;
132
+ }
133
+ export interface EtoStoreRequest<Body = unknown, QueryFields = Record<string, unknown>> extends EtoRequest<Body, QueryFields> {
134
+ auth_context?: AuthContext;
135
+ publishable_key_context: PublishableKeyContext;
136
+ }
137
+ export type EtoResponse<Body = unknown> = Response<Body>;
138
+ export type EtoNextFunction = NextFunction;
139
+ export type EtoRequestHandler<Body = unknown, Res = unknown> = (req: EtoRequest<Body>, res: EtoResponse<Res>, next: EtoNextFunction) => Promise<void> | void;
140
+ export {};
141
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HTTP_METHODS = void 0;
4
+ /**
5
+ * List of all the supported HTTP methods
6
+ */
7
+ exports.HTTP_METHODS = [
8
+ "GET",
9
+ "POST",
10
+ "PUT",
11
+ "PATCH",
12
+ "DELETE",
13
+ "OPTIONS",
14
+ "HEAD",
15
+ ];
16
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":";;;AAWA;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,QAAQ;IACR,SAAS;IACT,MAAM;CACE,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { EtoNextFunction, EtoRequest, EtoResponse, MiddlewaresConfig, MiddlewareVerb, ParserConfig } from "../types";
2
+ import { ZodRawShape } from "zod";
3
+ /**
4
+ * A helper function to configure the routes by defining custom middleware,
5
+ * bodyparser config and validators to be merged with the pre-existing
6
+ * route validators.
7
+ */
8
+ export declare function defineMiddlewares<Route extends {
9
+ method?: MiddlewareVerb | MiddlewareVerb[];
10
+ matcher: string | RegExp;
11
+ bodyParser?: ParserConfig;
12
+ additionalDataValidator?: ZodRawShape;
13
+ middlewares?: (<Req extends EtoRequest>(req: Req, res: EtoResponse, next: EtoNextFunction) => any)[];
14
+ }>(config: Route[] | {
15
+ routes?: Route[];
16
+ errorHandler?: MiddlewaresConfig["errorHandler"];
17
+ }): MiddlewaresConfig;
18
+ //# sourceMappingURL=define-middlewares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-middlewares.d.ts","sourceRoot":"","sources":["../../../src/http/utils/define-middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EAEV,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACb,MAAM,UAAU,CAAA;AACjB,OAAY,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAEtC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,SAAS;IACZ,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,EAAE,CAAA;IAC1C,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,uBAAuB,CAAC,EAAE,WAAW,CAAA;IAErC,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,UAAU,EACpC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,eAAe,KAClB,GAAG,CAAC,EAAE,CAAA;CACZ,EAED,MAAM,EACF,KAAK,EAAE,GACP;IAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAA;CAAE,GACzE,iBAAiB,CA6BnB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.defineMiddlewares = defineMiddlewares;
7
+ const zod_1 = __importDefault(require("zod"));
8
+ /**
9
+ * A helper function to configure the routes by defining custom middleware,
10
+ * bodyparser config and validators to be merged with the pre-existing
11
+ * route validators.
12
+ */
13
+ function defineMiddlewares(config) {
14
+ const routes = Array.isArray(config) ? config : config.routes || [];
15
+ const errorHandler = Array.isArray(config) ? undefined : config.errorHandler;
16
+ return {
17
+ errorHandler,
18
+ routes: routes.map((route) => {
19
+ const { middlewares, additionalDataValidator, ...rest } = route;
20
+ const customMiddleware = [];
21
+ /**
22
+ * Define a custom validator when a zod schema is provided via
23
+ * "additionalDataValidator" property
24
+ */
25
+ if (additionalDataValidator) {
26
+ customMiddleware.push((req, _, next) => {
27
+ req.additionalDataValidator = zod_1.default
28
+ .object(additionalDataValidator)
29
+ .nullish();
30
+ next();
31
+ });
32
+ }
33
+ return {
34
+ ...rest,
35
+ middlewares: customMiddleware.concat(middlewares || []),
36
+ };
37
+ }),
38
+ };
39
+ }
40
+ //# sourceMappingURL=define-middlewares.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-middlewares.js","sourceRoot":"","sources":["../../../src/http/utils/define-middlewares.ts"],"names":[],"mappings":";;;;;AAgBA,8CA8CC;AArDD,8CAAsC;AAEtC;;;;GAIG;AACH,SAAgB,iBAAiB,CAc/B,MAE0E;IAE1E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IACnE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;IAE5E,OAAO;QACL,YAAY;QACZ,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;YAC/D,MAAM,gBAAgB,GAAwB,EAAE,CAAA;YAEhD;;;eAGG;YACH,IAAI,uBAAuB,EAAE,CAAC;gBAC5B,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;oBACrC,GAAG,CAAC,uBAAuB,GAAG,aAAG;yBAC9B,MAAM,CAAC,uBAAuB,CAAC;yBAC/B,OAAO,EAAE,CAAA;oBACZ,IAAI,EAAE,CAAA;gBACR,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO;gBACL,GAAG,IAAI;gBACP,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;aACxD,CAAA;QACH,CAAC,CAAC;KACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { FindConfig, QueryConfig, RequestQueryFields } from "@etohq/types";
2
+ export declare function pickByConfig<TModel>(obj: TModel | TModel[], config: FindConfig<TModel>): Partial<TModel> | Partial<TModel>[];
3
+ export declare function prepareListQuery<T extends RequestQueryFields, TEntity>(validated: T, queryConfig?: QueryConfig<TEntity> & {
4
+ restricted?: string[];
5
+ }): {
6
+ listConfig: {
7
+ select: string[] | undefined;
8
+ relations: string[];
9
+ skip: number;
10
+ take: number;
11
+ order: {
12
+ [k: symbol]: "DESC" | "ASC";
13
+ } | undefined;
14
+ };
15
+ remoteQueryConfig: {
16
+ fields: string[];
17
+ pagination: {
18
+ skip: number;
19
+ take: number;
20
+ order: {
21
+ [k: symbol]: "DESC" | "ASC";
22
+ } | undefined;
23
+ } | {
24
+ skip?: undefined;
25
+ take?: undefined;
26
+ order?: undefined;
27
+ };
28
+ };
29
+ };
30
+ export declare function prepareRetrieveQuery<T extends RequestQueryFields, TEntity>(validated: T, queryConfig?: QueryConfig<TEntity> & {
31
+ restricted?: string[];
32
+ }): {
33
+ retrieveConfig: {
34
+ select: string[] | undefined;
35
+ relations: string[];
36
+ };
37
+ remoteQueryConfig: {
38
+ fields: string[];
39
+ pagination: {};
40
+ };
41
+ };
42
+ //# sourceMappingURL=get-query-config.d.ts.map
@@ -0,0 +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;AAS1E,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;;;;;;;;;;;;;;;;;;;;;;;;EAiJnE;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;;;;;;;;;EAiB/D"}
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pickByConfig = pickByConfig;
4
+ exports.prepareListQuery = prepareListQuery;
5
+ exports.prepareRetrieveQuery = prepareRetrieveQuery;
6
+ const utils_1 = require("@etohq/utils");
7
+ const lodash_1 = require("lodash");
8
+ function pickByConfig(obj, config) {
9
+ const fields = [...(config.select ?? []), ...(config.relations ?? [])];
10
+ if (fields.length) {
11
+ if (Array.isArray(obj)) {
12
+ return obj.map((o) => (0, lodash_1.pick)(o, fields));
13
+ }
14
+ else {
15
+ return (0, lodash_1.pick)(obj, fields);
16
+ }
17
+ }
18
+ return obj;
19
+ }
20
+ function checkRestrictedFields({ fields, restricted, }) {
21
+ const notAllowedFields = [];
22
+ fields.forEach((field) => {
23
+ const fieldSegments = field.split(".");
24
+ const hasRestrictedField = restricted.some((restrictedField) => fieldSegments.includes(restrictedField));
25
+ if (hasRestrictedField) {
26
+ notAllowedFields.push(field);
27
+ return;
28
+ }
29
+ return;
30
+ });
31
+ return notAllowedFields;
32
+ }
33
+ function checkAllowedFields({ fields, allowed, starFields, }) {
34
+ const notAllowedFields = [];
35
+ fields.forEach((field) => {
36
+ const hasAllowedField = allowed.includes(field);
37
+ if (hasAllowedField) {
38
+ return;
39
+ }
40
+ // Select full relation in that case it must match an allowed field fully
41
+ // e.g product.variants in that case we must have a product.variants in the allowedFields
42
+ if (starFields.has(field)) {
43
+ if (hasAllowedField) {
44
+ return;
45
+ }
46
+ notAllowedFields.push(field);
47
+ return;
48
+ }
49
+ const fieldStartsWithAllowedField = allowed.some((allowedField) => field.startsWith(allowedField));
50
+ if (!fieldStartsWithAllowedField) {
51
+ notAllowedFields.push(field);
52
+ return;
53
+ }
54
+ });
55
+ return notAllowedFields;
56
+ }
57
+ function prepareListQuery(validated, queryConfig = {}) {
58
+ let { allowed = [], restricted = [], defaults = [], defaultLimit = 50, isList, } = queryConfig;
59
+ const { order, fields, limit = defaultLimit, offset = 0 } = validated;
60
+ // e.g *product.variants meaning that we want all fields from the product.variants
61
+ // in that case it wont be part of the select but it will be part of the relations.
62
+ // For the remote query we will have to add the fields to the fields array as product.variants.*
63
+ const starFields = new Set();
64
+ let allFields = new Set(defaults);
65
+ if ((0, utils_1.isDefined)(fields)) {
66
+ const customFields = fields.split(",").filter(Boolean);
67
+ const shouldReplaceDefaultFields = !customFields.length ||
68
+ customFields.some((field) => {
69
+ return !(field.startsWith("-") ||
70
+ field.startsWith("+") ||
71
+ field.startsWith(" ") ||
72
+ field.startsWith("*") ||
73
+ field.endsWith(".*"));
74
+ });
75
+ if (shouldReplaceDefaultFields) {
76
+ allFields = new Set(customFields.map((f) => f.replace(/^[+ -]/, "")));
77
+ }
78
+ else {
79
+ customFields.forEach((field) => {
80
+ if (field.startsWith("+") || field.startsWith(" ")) {
81
+ allFields.add(field.trim().replace(/^\+/, ""));
82
+ }
83
+ else if (field.startsWith("-")) {
84
+ const fieldName = field.replace(/^-/, "");
85
+ for (const reqField of allFields) {
86
+ const reqFieldName = reqField.replace(/^\*/, "");
87
+ if (reqFieldName === fieldName ||
88
+ reqFieldName.startsWith(fieldName + ".")) {
89
+ allFields.delete(reqField);
90
+ }
91
+ }
92
+ }
93
+ else {
94
+ allFields.add(field);
95
+ }
96
+ });
97
+ }
98
+ allFields.add("id");
99
+ }
100
+ allFields.forEach((field) => {
101
+ if (field.startsWith("*") || field.endsWith(".*")) {
102
+ starFields.add(field.replace(/(^\*|\.\*$)/, ""));
103
+ allFields.delete(field);
104
+ }
105
+ });
106
+ let notAllowedFields = [];
107
+ if (allowed.length || restricted.length) {
108
+ const fieldsToCheck = [...allFields, ...Array.from(starFields)];
109
+ if (allowed.length) {
110
+ notAllowedFields = checkAllowedFields({
111
+ fields: fieldsToCheck,
112
+ starFields,
113
+ allowed,
114
+ });
115
+ }
116
+ else if (restricted.length) {
117
+ notAllowedFields = checkRestrictedFields({
118
+ fields: fieldsToCheck,
119
+ restricted,
120
+ });
121
+ }
122
+ }
123
+ if (notAllowedFields.length) {
124
+ throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, `Requested fields [${Array.from(notAllowedFields).join(", ")}] are not valid`);
125
+ }
126
+ // TODO: maintain backward compatibility, remove in the future
127
+ const { select, relations } = (0, utils_1.stringToSelectRelationObject)(Array.from(allFields));
128
+ let allRelations = new Set([...relations, ...Array.from(starFields)]);
129
+ // End of expand compatibility
130
+ let orderBy = {};
131
+ if ((0, utils_1.isDefined)(order)) {
132
+ let orderField = order;
133
+ if (order.startsWith("-")) {
134
+ const [, field] = order.split("-");
135
+ orderField = field;
136
+ orderBy = { [field]: "DESC" };
137
+ }
138
+ else {
139
+ orderBy = { [order]: "ASC" };
140
+ }
141
+ if (allowed.length && !allowed.includes(orderField)) {
142
+ throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, `Order field ${orderField} is not valid`);
143
+ }
144
+ }
145
+ const finalOrder = (0, utils_1.isPresent)(orderBy) ? orderBy : undefined;
146
+ return {
147
+ listConfig: {
148
+ select: select.length ? select : undefined,
149
+ relations: Array.from(allRelations),
150
+ skip: offset,
151
+ take: limit,
152
+ order: finalOrder,
153
+ },
154
+ remoteQueryConfig: {
155
+ // Add starFields that are relations only on which we want all properties with a dedicated format to the remote query
156
+ fields: [
157
+ ...Array.from(allFields),
158
+ ...Array.from(starFields).map((f) => `${f}.*`),
159
+ ],
160
+ pagination: isList
161
+ ? {
162
+ skip: offset,
163
+ take: limit,
164
+ order: finalOrder,
165
+ }
166
+ : {},
167
+ },
168
+ };
169
+ }
170
+ function prepareRetrieveQuery(validated, queryConfig) {
171
+ const { listConfig, remoteQueryConfig } = prepareListQuery(validated, queryConfig);
172
+ return {
173
+ retrieveConfig: {
174
+ select: listConfig.select,
175
+ relations: listConfig.relations,
176
+ },
177
+ remoteQueryConfig: {
178
+ fields: remoteQueryConfig.fields,
179
+ pagination: {},
180
+ },
181
+ };
182
+ }
183
+ //# sourceMappingURL=get-query-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-query-config.js","sourceRoot":"","sources":["../../../src/http/utils/get-query-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { HttpCompressionOptions, ProjectConfigOptions } from "../../config";
2
+ import type { EtoRequest, EtoResponse } from "../types";
3
+ export declare function shouldCompressResponse(req: EtoRequest, res: EtoResponse): any;
4
+ export declare function compressionOptions(config: ProjectConfigOptions): HttpCompressionOptions;
5
+ //# sourceMappingURL=http-compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-compression.d.ts","sourceRoot":"","sources":["../../../src/http/utils/http-compression.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEvD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,OAkBjB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,oBAAoB,GAC3B,sBAAsB,CAWxB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.shouldCompressResponse = shouldCompressResponse;
7
+ exports.compressionOptions = compressionOptions;
8
+ const compression_1 = __importDefault(require("compression"));
9
+ const utils_1 = require("@etohq/utils");
10
+ function shouldCompressResponse(req, res) {
11
+ const { projectConfig } = req.scope.resolve(utils_1.ContainerRegistrationKeys.CONFIG_MODULE);
12
+ const { enabled } = compressionOptions(projectConfig);
13
+ if (!enabled) {
14
+ return false;
15
+ }
16
+ if (req.headers["x-no-compression"]) {
17
+ // don't compress responses with this request header
18
+ return false;
19
+ }
20
+ // fallback to standard filter function
21
+ return compression_1.default.filter(req, res);
22
+ }
23
+ function compressionOptions(config) {
24
+ const responseCompressionOptions = config.http.compression ?? {};
25
+ responseCompressionOptions.enabled =
26
+ responseCompressionOptions.enabled ?? false;
27
+ responseCompressionOptions.level = responseCompressionOptions.level ?? 6;
28
+ responseCompressionOptions.memLevel = responseCompressionOptions.memLevel ?? 8;
29
+ responseCompressionOptions.threshold =
30
+ responseCompressionOptions.threshold ?? 1024;
31
+ return responseCompressionOptions;
32
+ }
33
+ //# sourceMappingURL=http-compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-compression.js","sourceRoot":"","sources":["../../../src/http/utils/http-compression.ts"],"names":[],"mappings":";;;;;AAOA,wDAoBC;AAED,gDAaC;AA1CD,8DAAqC;AAErC,wCAAwD;AAKxD,SAAgB,sBAAsB,CACpC,GAAe,EACf,GAAgB;IAEhB,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CACzC,iCAAyB,CAAC,aAAa,CACxC,CAAA;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAErD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,oDAAoD;QACpD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uCAAuC;IACvC,OAAO,qBAAW,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,kBAAkB,CAChC,MAA4B;IAE5B,MAAM,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IAEhE,0BAA0B,CAAC,OAAO;QAChC,0BAA0B,CAAC,OAAO,IAAI,KAAK,CAAA;IAC7C,0BAA0B,CAAC,KAAK,GAAG,0BAA0B,CAAC,KAAK,IAAI,CAAC,CAAA;IACxE,0BAA0B,CAAC,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,IAAI,CAAC,CAAA;IAC9E,0BAA0B,CAAC,SAAS;QAClC,0BAA0B,CAAC,SAAS,IAAI,IAAI,CAAA;IAE9C,OAAO,0BAA0B,CAAA;AACnC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { EtoNextFunction, EtoRequest } from "../types";
2
+ export declare function maybeApplyLinkFilter({ entryPoint, resourceId, filterableField, filterByField, }: {
3
+ entryPoint: any;
4
+ resourceId: any;
5
+ filterableField: any;
6
+ filterByField?: string | undefined;
7
+ }): (req: EtoRequest, _: any, next: EtoNextFunction) => Promise<void>;
8
+ //# sourceMappingURL=maybe-apply-link-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe-apply-link-filter.d.ts","sourceRoot":"","sources":["../../../src/http/utils/maybe-apply-link-filter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAEtD,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAoB,GACrB;;;;;CAAA,SAEQ,UAAU,gBAET,eAAe,mBAiDxB"}