temba 0.69.0 → 0.70.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/config/index.d.ts +12 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +10 -3
- package/dist/config/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -6
- package/dist/index.js.map +1 -1
- package/dist/requestHandlers/delete.d.ts.map +1 -1
- package/dist/requestHandlers/delete.js +9 -14
- package/dist/requestHandlers/delete.js.map +1 -1
- package/dist/requestHandlers/get.d.ts.map +1 -1
- package/dist/requestHandlers/get.js +5 -13
- package/dist/requestHandlers/get.js.map +1 -1
- package/dist/requestHandlers/index.d.ts +2 -1
- package/dist/requestHandlers/index.d.ts.map +1 -1
- package/dist/requestHandlers/index.js +19 -7
- package/dist/requestHandlers/index.js.map +1 -1
- package/dist/requestHandlers/patch.d.ts.map +1 -1
- package/dist/requestHandlers/patch.js +5 -13
- package/dist/requestHandlers/patch.js.map +1 -1
- package/dist/requestHandlers/post.d.ts.map +1 -1
- package/dist/requestHandlers/post.js +5 -13
- package/dist/requestHandlers/post.js.map +1 -1
- package/dist/requestHandlers/put.d.ts.map +1 -1
- package/dist/requestHandlers/put.js +5 -13
- package/dist/requestHandlers/put.js.map +1 -1
- package/dist/resourceHandler.d.ts +2 -1
- package/dist/resourceHandler.d.ts.map +1 -1
- package/dist/resourceHandler.js +2 -2
- package/dist/resourceHandler.js.map +1 -1
- package/dist/staticFolder/staticFolder.d.ts +13 -3
- package/dist/staticFolder/staticFolder.d.ts.map +1 -1
- package/dist/staticFolder/staticFolder.js +124 -15
- package/dist/staticFolder/staticFolder.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/websocket/websocket.d.ts +2 -1
- package/dist/websocket/websocket.d.ts.map +1 -1
- package/dist/websocket/websocket.js +3 -2
- package/dist/websocket/websocket.js.map +1 -1
- package/package.json +1 -1
package/dist/config/index.d.ts
CHANGED
|
@@ -58,6 +58,15 @@ type ExtendedResource = {
|
|
|
58
58
|
};
|
|
59
59
|
type Resources = (ResourcePath | ExtendedResource)[];
|
|
60
60
|
type OpenApiConfig = boolean | Record<string, unknown>;
|
|
61
|
+
export type StaticFolderMode = 'spa' | 'filesystem';
|
|
62
|
+
export type StaticFolderConfig = {
|
|
63
|
+
path: string;
|
|
64
|
+
mode: StaticFolderMode;
|
|
65
|
+
};
|
|
66
|
+
export type UserStaticFolderConfig = string | {
|
|
67
|
+
path: string;
|
|
68
|
+
mode?: StaticFolderMode;
|
|
69
|
+
};
|
|
61
70
|
/** @internal */
|
|
62
71
|
export type RateLimitConfig = {
|
|
63
72
|
max: number;
|
|
@@ -93,7 +102,7 @@ export type Config = {
|
|
|
93
102
|
apiPrefix: string | null;
|
|
94
103
|
requestInterceptor: RequestInterceptor | null;
|
|
95
104
|
responseBodyInterceptor: ResponseBodyInterceptor | null;
|
|
96
|
-
staticFolder:
|
|
105
|
+
staticFolder: StaticFolderConfig | null;
|
|
97
106
|
connectionString: string | DataSourceConfig | null;
|
|
98
107
|
returnNullFields: boolean;
|
|
99
108
|
port: number;
|
|
@@ -111,7 +120,7 @@ export type Config = {
|
|
|
111
120
|
export type ConfigKey = keyof Config;
|
|
112
121
|
export type UserConfig = {
|
|
113
122
|
resources?: Resources;
|
|
114
|
-
staticFolder?:
|
|
123
|
+
staticFolder?: UserStaticFolderConfig;
|
|
115
124
|
apiPrefix?: string;
|
|
116
125
|
connectionString?: string | DataSourceConfig;
|
|
117
126
|
requestInterceptor?: RequestInterceptor;
|
|
@@ -126,6 +135,7 @@ export type UserConfig = {
|
|
|
126
135
|
cors?: UserCorsConfig;
|
|
127
136
|
rateLimit?: UserRateLimitConfig;
|
|
128
137
|
isTesting?: boolean;
|
|
138
|
+
/** @internal Override implementations when testing. */
|
|
129
139
|
implementations?: Implementations;
|
|
130
140
|
};
|
|
131
141
|
export declare const initConfig: (userConfig?: UserConfig) => Config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,MAAM,MAAM,gBAAgB;AAC1B,kDAAkD;AAChD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE;AACpB,kEAAkE;GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACpC,2DAA2D;GACzD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACpC,uBAAuB;GACrB;IACE,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB;IACrB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,sEAAsE;IACtE,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAEL,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAA;AAEpD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,YAAY,CAAA;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,gBAAgB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB,CAAA;AAEL,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAEnG,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,MAAM,GAAG;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvD,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACvC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAA;IAClD,gBAAgB,EAAE,OAAO,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,eAAe,GAAG,KAAK,CAAA;IAElC,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAA;IAC5C,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAG/B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,uDAAuD;IACvD,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AA+BD,eAAO,MAAM,UAAU,GAAI,aAAa,UAAU,KAAG,MAkIpD,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAyC,CAAA"}
|
package/dist/config/index.js
CHANGED
|
@@ -34,9 +34,16 @@ export const initConfig = (userConfig) => {
|
|
|
34
34
|
config.validateResources = true;
|
|
35
35
|
}
|
|
36
36
|
if (userConfig.staticFolder) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
const staticFolderPath = typeof userConfig.staticFolder === 'string'
|
|
38
|
+
? userConfig.staticFolder
|
|
39
|
+
: userConfig.staticFolder.path;
|
|
40
|
+
if (staticFolderPath.trim().length > 0) {
|
|
41
|
+
config.staticFolder = {
|
|
42
|
+
path: staticFolderPath,
|
|
43
|
+
mode: typeof userConfig.staticFolder === 'string'
|
|
44
|
+
? 'spa'
|
|
45
|
+
: (userConfig.staticFolder.mode ?? 'spa'),
|
|
46
|
+
};
|
|
40
47
|
// To make a clear distinction between static files and API routes
|
|
41
48
|
config.apiPrefix = 'api';
|
|
42
49
|
}
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AA6MtD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,GAAI,aAAa,UAAU;;;EAA6B,CAAA;AAG3E,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGjG,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,GACpB,MAAM,4BAA4B,CAAA;AAGnC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,yCAAyC,CAAA;AAGhD,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AAGnG,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvD,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGxC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { createResourceHandler } from './resourceHandler.js';
|
|
|
11
11
|
import { handleMethodNotAllowed, handleNotFound, handleTooManyRequests, sendErrorResponse, sendResponse, } from './responseHandler.js';
|
|
12
12
|
import { createRootUrlHandler } from './root/root.js';
|
|
13
13
|
import { compileSchemas } from './schema/compile.js';
|
|
14
|
-
import {
|
|
14
|
+
import { createStaticFolderHandler } from './staticFolder/staticFolder.js';
|
|
15
15
|
import { createWebSocketServer } from './websocket/websocket.js';
|
|
16
16
|
const removePendingAndTrailingSlashes = (url) => (url ? url.replace(/^\/+|\/+$/g, '') : '');
|
|
17
17
|
const createServer = async (userConfig) => {
|
|
@@ -26,10 +26,11 @@ const createServer = async (userConfig) => {
|
|
|
26
26
|
const server = httpCreateServer();
|
|
27
27
|
// Initialize WebSocket server if enabled (must be after server creation)
|
|
28
28
|
const broadcast = config.webSocket
|
|
29
|
-
? createWebSocketServer(server)
|
|
29
|
+
? createWebSocketServer(server, log)
|
|
30
30
|
: null;
|
|
31
31
|
// Now create the resource handler with the broadcast function
|
|
32
|
-
const handleResource = await createResourceHandler(queries, schemas, config, broadcast);
|
|
32
|
+
const handleResource = await createResourceHandler(queries, schemas, config, broadcast, log);
|
|
33
|
+
const handleStaticFolder = createStaticFolderHandler(log);
|
|
33
34
|
const rateLimiter = config.rateLimit ? createRateLimiter(config.rateLimit) : null;
|
|
34
35
|
server.on('close', () => rateLimiter?.stop());
|
|
35
36
|
const REQUEST_TIMEOUT_MS = 30_000;
|
|
@@ -50,7 +51,8 @@ const createServer = async (userConfig) => {
|
|
|
50
51
|
httpLogger(req, res, (err) => {
|
|
51
52
|
if (err)
|
|
52
53
|
return sendErrorResponse(res, 500, 'Internal Server Error', config.cors);
|
|
53
|
-
const
|
|
54
|
+
const [requestPath = '/', queryString = ''] = (req.url || '/').split('?');
|
|
55
|
+
const requestUrl = removePendingAndTrailingSlashes(requestPath);
|
|
54
56
|
const handleRequest = async () => {
|
|
55
57
|
if (req.method === 'OPTIONS') {
|
|
56
58
|
return handleOptionsRequest(res, config.cors);
|
|
@@ -72,7 +74,14 @@ const createServer = async (userConfig) => {
|
|
|
72
74
|
});
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
|
-
handleStaticFolder(
|
|
77
|
+
handleStaticFolder(res, {
|
|
78
|
+
method: req.method,
|
|
79
|
+
requestPath,
|
|
80
|
+
queryString,
|
|
81
|
+
accept: req.headers.accept,
|
|
82
|
+
staticFolder: config.staticFolder,
|
|
83
|
+
getStaticFileFromDisk: implementations.getStaticFileFromDisk,
|
|
84
|
+
}, config.cors);
|
|
76
85
|
}
|
|
77
86
|
else if (requestUrl === rootPath) {
|
|
78
87
|
// Only GET is supported for the root URL
|
|
@@ -118,7 +127,9 @@ const createServer = async (userConfig) => {
|
|
|
118
127
|
sendErrorResponse(res, 503, 'Request timed out', config.cors);
|
|
119
128
|
}, REQUEST_TIMEOUT_MS);
|
|
120
129
|
handleRequest()
|
|
121
|
-
.catch(() => {
|
|
130
|
+
.catch((e) => {
|
|
131
|
+
log.error(`Error handling ${req.method ?? 'UNKNOWN'} ${req.url ?? ''}`);
|
|
132
|
+
log.error(e);
|
|
122
133
|
if (!res.headersSent)
|
|
123
134
|
sendErrorResponse(res, 500, 'Internal Server Error', config.cors);
|
|
124
135
|
})
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,uBAAuB,OAAO,EAC9B,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEF,aAAa;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,kBAAkB,GAC7B,SAAS,OAAO,EAChB,uBAAuB,OAAO,EAC9B,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEF,aAAa;;;;;;;;;;;EAgG/C,CAAA"}
|
|
@@ -6,22 +6,17 @@ export const createDeleteRoutes = (queries, allowDeleteCollection, requestInterc
|
|
|
6
6
|
if (filter === 'invalid')
|
|
7
7
|
return { statusCode: 400, body: { message: 'Malformed filter expression' } };
|
|
8
8
|
if (id && filter)
|
|
9
|
-
return {
|
|
9
|
+
return {
|
|
10
|
+
statusCode: 400,
|
|
11
|
+
body: { message: 'Filtering on a resource by ID is not supported' },
|
|
12
|
+
};
|
|
10
13
|
if (requestInterceptor?.delete) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (interceptResult.type === 'response') {
|
|
15
|
-
return {
|
|
16
|
-
statusCode: interceptResult.status,
|
|
17
|
-
body: interceptResult.body,
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
14
|
+
const interceptResult = await interceptDeleteRequest(requestInterceptor.delete, headers, resource, id, url);
|
|
15
|
+
// If interceptor returned a response action, return immediately
|
|
16
|
+
if (interceptResult.type === 'response') {
|
|
22
17
|
return {
|
|
23
|
-
statusCode:
|
|
24
|
-
body:
|
|
18
|
+
statusCode: interceptResult.status,
|
|
19
|
+
body: interceptResult.body,
|
|
25
20
|
};
|
|
26
21
|
}
|
|
27
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAK/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAgB,EAChB,qBAA8B,EAC9B,kBAA6C,EAC7C,YAAqB,EACrB,SAAmC,EACnC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,EAAE,GAAkB,EAAE,EAAE;QAChD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QAElD,IAAI,MAAM,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/requestHandlers/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG/C,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,yBAAyB,uBAAuB,GAAG,IAAI,EACvD,kBAAkB,OAAO,EACzB,cAAc,OAAO,WAES,UAAU;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG/C,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,yBAAyB,uBAAuB,GAAG,IAAI,EACvD,kBAAkB,OAAO,EACzB,cAAc,OAAO,WAES,UAAU;;;;;;;;;;;;;;;;;;;;;;;EAoFzC,CAAA"}
|
|
@@ -21,20 +21,12 @@ export const createGetRoutes = (queries, requestInterceptor, responseBodyInterce
|
|
|
21
21
|
: { statusCode: 200, body, headers: { etag } };
|
|
22
22
|
};
|
|
23
23
|
if (requestInterceptor?.get) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (interceptResult.type === 'response') {
|
|
28
|
-
return {
|
|
29
|
-
statusCode: interceptResult.status,
|
|
30
|
-
body: interceptResult.body,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
catch (error) {
|
|
24
|
+
const interceptResult = await interceptGetRequest(requestInterceptor.get, headers, resource, id, url);
|
|
25
|
+
// If interceptor returned a response action, return immediately
|
|
26
|
+
if (interceptResult.type === 'response') {
|
|
35
27
|
return {
|
|
36
|
-
statusCode:
|
|
37
|
-
body:
|
|
28
|
+
statusCode: interceptResult.status,
|
|
29
|
+
body: interceptResult.body,
|
|
38
30
|
};
|
|
39
31
|
}
|
|
40
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/requestHandlers/get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAA;AAGxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,kBAA6C,EAC7C,uBAAuD,EACvD,gBAAyB,EACzB,YAAqB,EACrB,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QAEnE,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,EAAE,CAAA;QAC9E,IAAI,EAAE,IAAI,MAAM;YACd,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE;aACpE,CAAA;QAEH,MAAM,UAAU,GAAG,CAAC,IAAU,EAAE,EAAE;YAChC,IAAI,CAAC,YAAY;gBAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;YAEnD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO,eAAe,KAAK,IAAI;gBAC7B,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;gBACxC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAA;QAClD,CAAC,CAAA;QAED,IAAI,kBAAkB,EAAE,GAAG,EAAE,CAAC;YAC5B,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/requestHandlers/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { Config } from '../config/index.js';
|
|
2
2
|
import type { Queries } from '../data/types.js';
|
|
3
|
+
import type { Logger } from '../log/logger.js';
|
|
3
4
|
import type { CompiledSchemas } from '../schema/types.js';
|
|
4
5
|
import type { BroadcastFunction } from '../websocket/websocket.js';
|
|
5
|
-
export declare const getRequestHandler: (queries: Queries, schemas: CompiledSchemas, config: Config, broadcast: BroadcastFunction | null) => Promise<{
|
|
6
|
+
export declare const getRequestHandler: (queries: Queries, schemas: CompiledSchemas, config: Config, broadcast: BroadcastFunction | null, log: Logger) => Promise<{
|
|
6
7
|
handleGet: (req: import("./types.js").GetRequest) => Promise<{
|
|
7
8
|
statusCode: number;
|
|
8
9
|
headers: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAoC/D,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,WAAW,iBAAiB,GAAG,IAAI,EACnC,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DZ,CAAA"}
|
|
@@ -4,23 +4,35 @@ import { createPatchRoutes } from './patch.js';
|
|
|
4
4
|
import { createPostRoutes } from './post.js';
|
|
5
5
|
import { createPutRoutes } from './put.js';
|
|
6
6
|
// Wrapper to handle errors for all request handlers
|
|
7
|
-
const withErrorHandling = (handler) => {
|
|
7
|
+
const withErrorHandling = (handler, log) => {
|
|
8
8
|
return async (...args) => {
|
|
9
9
|
try {
|
|
10
10
|
return await handler(...args);
|
|
11
11
|
}
|
|
12
12
|
catch (error) {
|
|
13
|
+
const request = args[0];
|
|
14
|
+
const requestInfo = request && typeof request === 'object' && 'resource' in request
|
|
15
|
+
? [
|
|
16
|
+
'method' in request ? String(request.method).toUpperCase() : null,
|
|
17
|
+
String(request.resource),
|
|
18
|
+
'url' in request ? String(request.url) : null,
|
|
19
|
+
]
|
|
20
|
+
.filter(Boolean)
|
|
21
|
+
.join(' ')
|
|
22
|
+
: '';
|
|
23
|
+
log.error(`Error handling request${requestInfo ? ` ${requestInfo}` : ''}`);
|
|
24
|
+
log.error(error);
|
|
13
25
|
return { statusCode: 500, body: { message: error.message } };
|
|
14
26
|
}
|
|
15
27
|
};
|
|
16
28
|
};
|
|
17
|
-
export const getRequestHandler = async (queries, schemas, config, broadcast) => {
|
|
29
|
+
export const getRequestHandler = async (queries, schemas, config, broadcast, log) => {
|
|
18
30
|
const { requestInterceptor, responseBodyInterceptor, returnNullFields, allowDeleteCollection, etagsEnabled, } = config;
|
|
19
|
-
const handleGet = withErrorHandling(createGetRoutes(queries, requestInterceptor, responseBodyInterceptor, returnNullFields, etagsEnabled));
|
|
20
|
-
const handlePost = withErrorHandling(createPostRoutes(queries, requestInterceptor, returnNullFields, schemas.post, broadcast));
|
|
21
|
-
const handlePut = withErrorHandling(createPutRoutes(queries, requestInterceptor, returnNullFields, schemas.put, etagsEnabled, broadcast));
|
|
22
|
-
const handlePatch = withErrorHandling(createPatchRoutes(queries, requestInterceptor, returnNullFields, schemas.patch, etagsEnabled, broadcast));
|
|
23
|
-
const handleDelete = withErrorHandling(createDeleteRoutes(queries, allowDeleteCollection, requestInterceptor, etagsEnabled, broadcast));
|
|
31
|
+
const handleGet = withErrorHandling(createGetRoutes(queries, requestInterceptor, responseBodyInterceptor, returnNullFields, etagsEnabled), log);
|
|
32
|
+
const handlePost = withErrorHandling(createPostRoutes(queries, requestInterceptor, returnNullFields, schemas.post, broadcast), log);
|
|
33
|
+
const handlePut = withErrorHandling(createPutRoutes(queries, requestInterceptor, returnNullFields, schemas.put, etagsEnabled, broadcast), log);
|
|
34
|
+
const handlePatch = withErrorHandling(createPatchRoutes(queries, requestInterceptor, returnNullFields, schemas.patch, etagsEnabled, broadcast), log);
|
|
35
|
+
const handleDelete = withErrorHandling(createDeleteRoutes(queries, allowDeleteCollection, requestInterceptor, etagsEnabled, broadcast), log);
|
|
24
36
|
return {
|
|
25
37
|
handleGet,
|
|
26
38
|
handlePost,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/requestHandlers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/requestHandlers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEH,YAAY;;;;;;;;
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,iBAAiB,GAC5B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEH,YAAY;;;;;;;;EAmE7C,CAAA"}
|
|
@@ -11,22 +11,14 @@ export const createPatchRoutes = (queries, requestInterceptor, returnNullFields,
|
|
|
11
11
|
return { statusCode: 400, body: { message: validationResult.errorMessage } };
|
|
12
12
|
}
|
|
13
13
|
if (requestInterceptor?.patch) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (interceptResult.type === 'response') {
|
|
17
|
-
return {
|
|
18
|
-
statusCode: interceptResult.status,
|
|
19
|
-
body: interceptResult.body,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
body = interceptResult.body ?? body;
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
14
|
+
const interceptResult = await interceptPatchRequest(requestInterceptor.patch, headers, resource, id, body, url);
|
|
15
|
+
if (interceptResult.type === 'response') {
|
|
25
16
|
return {
|
|
26
|
-
statusCode:
|
|
27
|
-
body:
|
|
17
|
+
statusCode: interceptResult.status,
|
|
18
|
+
body: interceptResult.body,
|
|
28
19
|
};
|
|
29
20
|
}
|
|
21
|
+
body = interceptResult.body ?? body;
|
|
30
22
|
}
|
|
31
23
|
let item = await queries.getById({ resource, id });
|
|
32
24
|
if (!item)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAG9E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,SAAmC,EACnC,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;QAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;QAC1C,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAC9B,
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAG9E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,SAAmC,EACnC,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;QAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;QAC1C,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,KAAK,EAAE,CAAC;YAC9B,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,kBAAkB,CAAC,KAAK,EACxB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,GAAG,CACJ,CAAA;YAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO;oBACL,UAAU,EAAE,eAAe,CAAC,MAAM;oBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;iBAC3B,CAAA;YACH,CAAC;YAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;QAElD,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;iBAChC;aACF,CAAA;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,qBAAqB;qBAC/B;iBACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAI,IAAe,EAAE,EAAE,EAAE,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE5D,4CAA4C;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC5C,CAAC;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC;SACrE,CAAA;IACH,CAAC,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/post.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,EACpC,WAAW,iBAAiB,GAAG,IAAI,WAEJ,WAAW;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/post.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAE3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,EACpC,WAAW,iBAAiB,GAAG,IAAI,WAEJ,WAAW;;;;;;;;;;;;;;;;;;EA8D3C,CAAA"}
|
|
@@ -11,22 +11,14 @@ export const createPostRoutes = (queries, requestInterceptor, returnNullFields,
|
|
|
11
11
|
return { statusCode: 400, body: { message: validationResult.errorMessage } };
|
|
12
12
|
}
|
|
13
13
|
if (requestInterceptor?.post) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (interceptResult.type === 'response') {
|
|
17
|
-
return {
|
|
18
|
-
statusCode: interceptResult.status,
|
|
19
|
-
body: interceptResult.body,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
body = interceptResult.body ?? body;
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
14
|
+
const interceptResult = await interceptPostRequest(requestInterceptor.post, headers, resource, id, body, url);
|
|
15
|
+
if (interceptResult.type === 'response') {
|
|
25
16
|
return {
|
|
26
|
-
statusCode:
|
|
27
|
-
body:
|
|
17
|
+
statusCode: interceptResult.status,
|
|
18
|
+
body: interceptResult.body,
|
|
28
19
|
};
|
|
29
20
|
}
|
|
21
|
+
body = interceptResult.body ?? body;
|
|
30
22
|
}
|
|
31
23
|
if (id) {
|
|
32
24
|
const item = await queries.getById({ resource, id });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAG7E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAAoC,EACpC,SAAmC,EACnC,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;QAC5C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;QAC1D,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7B,
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAG7E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAAoC,EACpC,SAAmC,EACnC,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;QAC5C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;QAC1D,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,IAAI,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAChD,kBAAkB,CAAC,IAAI,EACvB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,GAAG,CACJ,CAAA;YAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO;oBACL,UAAU,EAAE,eAAe,CAAC,MAAM;oBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;iBAC3B,CAAA;YACH,CAAC;YAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;QACrC,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;YAEpD,IAAI,IAAI;gBACN,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,kBAAkB;qBACrC;iBACF,CAAA;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,CAAC,CAAA;QAEnF,4CAA4C;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC;oBACf,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,IAAI;oBACV,QAAQ,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE;iBACtC,CAAC;aACH;YACD,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;SAC7D,CAAA;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEL,UAAU;;;;;;;;
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAG5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,eAAO,MAAM,eAAe,GAC1B,SAAS,OAAO,EAChB,oBAAoB,kBAAkB,GAAG,IAAI,EAC7C,kBAAkB,OAAO,EACzB,SAAS,2BAA2B,GAAG,IAAI,EAC3C,cAAc,OAAO,EACrB,WAAW,iBAAiB,GAAG,IAAI,WAEL,UAAU;;;;;;;;EAmEzC,CAAA"}
|
|
@@ -11,22 +11,14 @@ export const createPutRoutes = (queries, requestInterceptor, returnNullFields, s
|
|
|
11
11
|
return { statusCode: 400, body: { message: validationResult.errorMessage } };
|
|
12
12
|
}
|
|
13
13
|
if (requestInterceptor?.put) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (interceptResult.type === 'response') {
|
|
17
|
-
return {
|
|
18
|
-
statusCode: interceptResult.status,
|
|
19
|
-
body: interceptResult.body,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
body = interceptResult.body ?? body;
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
14
|
+
const interceptResult = await interceptPutRequest(requestInterceptor.put, headers, resource, id, body, url);
|
|
15
|
+
if (interceptResult.type === 'response') {
|
|
25
16
|
return {
|
|
26
|
-
statusCode:
|
|
27
|
-
body:
|
|
17
|
+
statusCode: interceptResult.status,
|
|
18
|
+
body: interceptResult.body,
|
|
28
19
|
};
|
|
29
20
|
}
|
|
21
|
+
body = interceptResult.body ?? body;
|
|
30
22
|
}
|
|
31
23
|
let item = await queries.getById({ resource, id });
|
|
32
24
|
if (!item)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../src/requestHandlers/put.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,SAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;QAC1C,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,GAAG,EAAE,CAAC;YAC5B,
|
|
1
|
+
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../src/requestHandlers/put.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,YAAqB,EACrB,SAAmC,EACnC,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;QAC1C,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAElB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACvC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;QAC9E,CAAC;QAED,IAAI,kBAAkB,EAAE,GAAG,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAC/C,kBAAkB,CAAC,GAAG,EACtB,OAAO,EACP,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,GAAG,CACJ,CAAA;YAED,IAAI,eAAe,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxC,OAAO;oBACL,UAAU,EAAE,eAAe,CAAC,MAAM;oBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;iBAC3B,CAAA;YACH,CAAC;YAED,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;QAElD,IAAI,CAAC,IAAI;YACP,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;iBAChC;aACF,CAAA;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO;oBACL,UAAU,EAAE,GAAG;oBACf,IAAI,EAAE;wBACJ,OAAO,EAAE,qBAAqB;qBAC/B;iBACF,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,EAAE,GAAI,IAAe,EAAE,EAAE,EAAE,CAAA;QAElC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE9D,4CAA4C;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC;SACvE,CAAA;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'http';
|
|
2
2
|
import type { Config } from './config/index.js';
|
|
3
3
|
import type { Queries } from './data/types.js';
|
|
4
|
+
import type { Logger } from './log/logger.js';
|
|
4
5
|
import type { CompiledSchemas } from './schema/types.js';
|
|
5
6
|
import type { BroadcastFunction } from './websocket/websocket.js';
|
|
6
|
-
export declare const createResourceHandler: (queries: Queries, schemas: CompiledSchemas, config: Config, broadcast: BroadcastFunction | null) => Promise<(req: IncomingMessage, res: ServerResponse<IncomingMessage>) => Promise<void> | undefined>;
|
|
7
|
+
export declare const createResourceHandler: (queries: Queries, schemas: CompiledSchemas, config: Config, broadcast: BroadcastFunction | null, log: Logger) => Promise<(req: IncomingMessage, res: ServerResponse<IncomingMessage>) => Promise<void> | undefined>;
|
|
7
8
|
//# sourceMappingURL=resourceHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceHandler.d.ts","sourceRoot":"","sources":["../src/resourceHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"resourceHandler.d.ts","sourceRoot":"","sources":["../src/resourceHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAa1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAuH9D,eAAO,MAAM,qBAAqB,GAChC,SAAS,OAAO,EAChB,SAAS,eAAe,EACxB,QAAQ,MAAM,EACd,WAAW,iBAAiB,GAAG,IAAI,EACnC,KAAK,MAAM,mBA+LE,eAAe,OAAO,cAAc,CAAC,eAAe,CAAC,+BAOnE,CAAA"}
|
package/dist/resourceHandler.js
CHANGED
|
@@ -107,7 +107,7 @@ const convertToDeleteRequest = (requestInfo) => {
|
|
|
107
107
|
filter: getFilter(requestInfo.queryString),
|
|
108
108
|
};
|
|
109
109
|
};
|
|
110
|
-
export const createResourceHandler = async (queries, schemas, config, broadcast) => {
|
|
110
|
+
export const createResourceHandler = async (queries, schemas, config, broadcast, log) => {
|
|
111
111
|
const getUrlInfo = (baseUrl) => {
|
|
112
112
|
const url = config.apiPrefix ? baseUrl.replace(config.apiPrefix, '') : baseUrl;
|
|
113
113
|
return parseUrl(url);
|
|
@@ -203,7 +203,7 @@ export const createResourceHandler = async (queries, schemas, config, broadcast)
|
|
|
203
203
|
const response = await handleRequest(convertedRequest);
|
|
204
204
|
sendResponse(httpResponse, config.cors)(response);
|
|
205
205
|
};
|
|
206
|
-
const requestHandler = await getRequestHandler(queries, schemas, config, broadcast);
|
|
206
|
+
const requestHandler = await getRequestHandler(queries, schemas, config, broadcast, log);
|
|
207
207
|
const getHandler = async (httpRequest, httpResponse) => {
|
|
208
208
|
await handle(httpRequest, httpResponse, validateResource, convertToGetRequest, requestHandler.handleGet);
|
|
209
209
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceHandler.js","sourceRoot":"","sources":["../src/resourceHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAG3B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAkC,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"resourceHandler.js","sourceRoot":"","sources":["../src/resourceHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'http';
|
|
2
|
-
import type { Config, CorsConfig } from '../config/index.js';
|
|
2
|
+
import type { Config, CorsConfig, StaticFolderConfig } from '../config/index.js';
|
|
3
|
+
import type { Logger } from '../log/logger.js';
|
|
3
4
|
/** @internal */
|
|
4
5
|
export type StaticFileInfo = {
|
|
5
|
-
content: Buffer
|
|
6
|
+
content: Buffer;
|
|
6
7
|
mimeType: string;
|
|
7
8
|
};
|
|
8
9
|
/** @internal */
|
|
9
10
|
export type GetStaticFileFromDisk = (filename: string) => Promise<StaticFileInfo>;
|
|
10
|
-
|
|
11
|
+
type StaticFolderRequest = {
|
|
12
|
+
method?: string;
|
|
13
|
+
requestPath: string;
|
|
14
|
+
queryString: string;
|
|
15
|
+
accept?: string;
|
|
16
|
+
staticFolder: StaticFolderConfig;
|
|
17
|
+
getStaticFileFromDisk: GetStaticFileFromDisk;
|
|
18
|
+
};
|
|
19
|
+
export declare const createStaticFolderHandler: (log: Logger) => (res: ServerResponse<IncomingMessage>, request: StaticFolderRequest, cors: CorsConfig) => Promise<void>;
|
|
11
20
|
export declare const createGetStaticFileFromDisk: (config: Config) => (filename: string) => Promise<StaticFileInfo>;
|
|
21
|
+
export {};
|
|
12
22
|
//# sourceMappingURL=staticFolder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticFolder.d.ts","sourceRoot":"","sources":["../../src/staticFolder/staticFolder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"staticFolder.d.ts","sourceRoot":"","sources":["../../src/staticFolder/staticFolder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAG3D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAG3C,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,gBAAgB;AAChB,MAAM,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;AAEjF,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,kBAAkB,CAAA;IAChC,qBAAqB,EAAE,qBAAqB,CAAA;CAC7C,CAAA;AA4HD,eAAO,MAAM,yBAAyB,GACnC,KAAK,MAAM,MACL,KAAK,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,mBAAmB,EAAE,MAAM,UAAU,kBA8B1F,CAAA;AAEH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,MAAM,MAS1C,UAAU,MAAM,KAAG,OAAO,CAAC,cAAc,CA+BxD,CAAA"}
|
|
@@ -1,41 +1,150 @@
|
|
|
1
1
|
import { promises as fs } from 'fs';
|
|
2
2
|
import mime from 'mime/lite';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { handleNotFound, sendErrorResponse, sendResponse
|
|
4
|
+
import { handleNotFound, sendErrorResponse, sendResponse } from '../responseHandler.js';
|
|
5
5
|
const parseError = (e) => {
|
|
6
6
|
if (e.code === 'ENOENT')
|
|
7
7
|
return 'NotFound';
|
|
8
|
+
if (e.code === 'EISDIR')
|
|
9
|
+
return 'NotFound';
|
|
8
10
|
return 'UnknownError';
|
|
9
11
|
};
|
|
10
|
-
|
|
12
|
+
const isNotFound = (e) => parseError(e) === 'NotFound';
|
|
13
|
+
const createNotFoundError = () => {
|
|
14
|
+
const error = new Error('Not Found');
|
|
15
|
+
error.code = 'ENOENT';
|
|
16
|
+
return error;
|
|
17
|
+
};
|
|
18
|
+
const getLastSegment = (requestPath) => {
|
|
19
|
+
const parts = requestPath.split('/').filter(Boolean);
|
|
20
|
+
return parts[parts.length - 1] || '';
|
|
21
|
+
};
|
|
22
|
+
const getStaticFolderPath = (config) => {
|
|
23
|
+
const staticFolder = config.staticFolder;
|
|
24
|
+
return typeof staticFolder === 'string' ? staticFolder : (staticFolder?.path ?? '');
|
|
25
|
+
};
|
|
26
|
+
const isPathInsideRoot = (root, filePath) => filePath === root || filePath.startsWith(root + path.sep);
|
|
27
|
+
const getPhysicalPath = (requestPath) => requestPath === '/' ? 'index.html' : requestPath || 'index.html';
|
|
28
|
+
const acceptsHtml = (accept) => accept?.includes('text/html') ?? false;
|
|
29
|
+
const tryGetStaticFileFromDisk = async (getStaticFileFromDisk, filename) => {
|
|
30
|
+
try {
|
|
31
|
+
return await getStaticFileFromDisk(filename);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
if (isNotFound(e))
|
|
35
|
+
return null;
|
|
36
|
+
throw e;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const getDirectoryIndexPath = (requestPath) => `${requestPath.replace(/\/$/, '')}/index.html`;
|
|
40
|
+
const getRedirectLocation = (requestPath, queryString) => `${requestPath}/${queryString ? `?${queryString}` : ''}`;
|
|
41
|
+
function* getIndexFallbackPaths(requestPath) {
|
|
42
|
+
const trimmedPath = requestPath.replace(/^\/+|\/+$/g, '');
|
|
43
|
+
if (!trimmedPath) {
|
|
44
|
+
yield 'index.html';
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const segments = trimmedPath.split('/').filter(Boolean);
|
|
48
|
+
const directorySegments = requestPath.endsWith('/') ? segments : segments.slice(0, -1);
|
|
49
|
+
for (let i = directorySegments.length; i > 0; i -= 1) {
|
|
50
|
+
yield `/${directorySegments.slice(0, i).join('/')}/index.html`;
|
|
51
|
+
}
|
|
52
|
+
yield 'index.html';
|
|
53
|
+
}
|
|
54
|
+
const resolveStaticFolderRequest = async ({ method, requestPath, queryString, accept, staticFolder, getStaticFileFromDisk, }, log) => {
|
|
55
|
+
try {
|
|
56
|
+
const physicalPath = getPhysicalPath(requestPath);
|
|
57
|
+
const physicalFile = await tryGetStaticFileFromDisk(getStaticFileFromDisk, physicalPath);
|
|
58
|
+
if (physicalFile)
|
|
59
|
+
return { type: 'file', file: physicalFile };
|
|
60
|
+
if (staticFolder.mode === 'filesystem' ||
|
|
61
|
+
!['GET', 'HEAD'].includes(method ?? '') ||
|
|
62
|
+
!acceptsHtml(accept)) {
|
|
63
|
+
return { type: 'notFound' };
|
|
64
|
+
}
|
|
65
|
+
const lastSegment = getLastSegment(requestPath);
|
|
66
|
+
const shouldCheckDirectoryIndex = requestPath !== '/' && !requestPath.endsWith('/') && !lastSegment.includes('.');
|
|
67
|
+
if (shouldCheckDirectoryIndex) {
|
|
68
|
+
const directoryIndexPath = getDirectoryIndexPath(requestPath);
|
|
69
|
+
const directoryIndex = await tryGetStaticFileFromDisk(getStaticFileFromDisk, directoryIndexPath);
|
|
70
|
+
if (directoryIndex) {
|
|
71
|
+
return {
|
|
72
|
+
type: 'redirect',
|
|
73
|
+
location: getRedirectLocation(requestPath, queryString),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
for (const fallbackPath of getIndexFallbackPaths(requestPath)) {
|
|
78
|
+
const fallbackFile = await tryGetStaticFileFromDisk(getStaticFileFromDisk, fallbackPath);
|
|
79
|
+
if (fallbackFile)
|
|
80
|
+
return { type: 'file', file: fallbackFile };
|
|
81
|
+
}
|
|
82
|
+
return { type: 'notFound' };
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
log.info('Error resolving static folder request');
|
|
86
|
+
log.error(error);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
export const createStaticFolderHandler = (log) => async (res, request, cors) => {
|
|
11
91
|
try {
|
|
12
|
-
const
|
|
92
|
+
const result = await resolveStaticFolderRequest(request, log);
|
|
93
|
+
if (result.type === 'notFound')
|
|
94
|
+
return handleNotFound(res, cors);
|
|
95
|
+
if (result.type === 'redirect') {
|
|
96
|
+
return sendResponse(res, cors)({
|
|
97
|
+
statusCode: 301,
|
|
98
|
+
headers: { Location: result.location },
|
|
99
|
+
});
|
|
100
|
+
}
|
|
13
101
|
sendResponse(res, cors)({
|
|
14
102
|
statusCode: 200,
|
|
15
|
-
contentType:
|
|
16
|
-
body:
|
|
103
|
+
contentType: result.file.mimeType,
|
|
104
|
+
body: request.method === 'HEAD' ? undefined : result.file.content,
|
|
17
105
|
});
|
|
18
106
|
}
|
|
19
|
-
catch (
|
|
20
|
-
|
|
107
|
+
catch (error) {
|
|
108
|
+
log.info('Error handling static folder request on ' + request.requestPath);
|
|
109
|
+
log.error(error);
|
|
110
|
+
return isNotFound(error)
|
|
111
|
+
? handleNotFound(res, cors)
|
|
112
|
+
: sendErrorResponse(res, 500, 'Internal Server Error', cors);
|
|
21
113
|
}
|
|
22
114
|
};
|
|
23
115
|
export const createGetStaticFileFromDisk = (config) => {
|
|
116
|
+
const staticRoot = path.resolve(getStaticFolderPath(config));
|
|
117
|
+
let staticRootRealPathPromise = null;
|
|
118
|
+
const getStaticRootRealPath = () => {
|
|
119
|
+
staticRootRealPathPromise = staticRootRealPathPromise ?? fs.realpath(staticRoot);
|
|
120
|
+
return staticRootRealPathPromise;
|
|
121
|
+
};
|
|
24
122
|
return async (filename) => {
|
|
25
|
-
const staticRoot = path.resolve(config.staticFolder || '');
|
|
26
123
|
const filePath = path.resolve(staticRoot, filename.startsWith('/') ? filename.slice(1) : filename);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
124
|
+
const [staticRootRealPath, fileRealPath] = await Promise.all([
|
|
125
|
+
getStaticRootRealPath(),
|
|
126
|
+
fs.realpath(filePath),
|
|
127
|
+
]);
|
|
128
|
+
if (!isPathInsideRoot(staticRootRealPath, fileRealPath))
|
|
129
|
+
throw createNotFoundError();
|
|
130
|
+
const mimeType = mime.getType(fileRealPath) || 'application/octet-stream';
|
|
131
|
+
let content;
|
|
132
|
+
try {
|
|
133
|
+
content = await fs.readFile(fileRealPath);
|
|
134
|
+
}
|
|
135
|
+
catch (e) {
|
|
136
|
+
if (e.code === 'EISDIR')
|
|
137
|
+
throw createNotFoundError();
|
|
138
|
+
throw e;
|
|
31
139
|
}
|
|
32
|
-
const mimeType = mime.getType(filePath) || 'application/octet-stream';
|
|
33
|
-
const isText = mimeType.startsWith('text/') || mimeType === 'application/json';
|
|
34
|
-
const content = await fs.readFile(filePath, isText ? 'utf8' : undefined);
|
|
35
140
|
return {
|
|
36
141
|
content,
|
|
37
142
|
mimeType,
|
|
38
143
|
};
|
|
144
|
+
// } catch (error) {
|
|
145
|
+
// log.error('Error reading static file from disk', { error, filename })
|
|
146
|
+
// throw error
|
|
147
|
+
// }
|
|
39
148
|
};
|
|
40
149
|
};
|
|
41
150
|
//# sourceMappingURL=staticFolder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticFolder.js","sourceRoot":"","sources":["../../src/staticFolder/staticFolder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAA;AAEnC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"staticFolder.js","sourceRoot":"","sources":["../../src/staticFolder/staticFolder.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.
|
|
1
|
+
export declare const version = "0.70.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "0.
|
|
1
|
+
export const version = "0.70.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Server as HttpServer } from 'http';
|
|
2
|
+
import type { Logger } from '../log/logger.js';
|
|
2
3
|
/** @internal */
|
|
3
4
|
export type BroadcastAction = 'CREATE' | 'UPDATE' | 'DELETE' | 'DELETE_ALL';
|
|
4
5
|
/** @internal */
|
|
@@ -16,5 +17,5 @@ export type BroadcastPayload = {
|
|
|
16
17
|
export type BroadcastFunction = (resource: string, action: BroadcastAction, data?: object | {
|
|
17
18
|
id: string;
|
|
18
19
|
}) => void;
|
|
19
|
-
export declare const createWebSocketServer: (httpServer: HttpServer) => BroadcastFunction;
|
|
20
|
+
export declare const createWebSocketServer: (httpServer: HttpServer, log: Logger) => BroadcastFunction;
|
|
20
21
|
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAmB,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAmB,MAAM,MAAM,CAAA;AAGjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,CAAA;AAE3E,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GACxB;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACtC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9B,GACD;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAEL,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GAAG,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,IAAI,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KAC3B,IAAI,CAAA;AAET,eAAO,MAAM,qBAAqB,GAAI,YAAY,UAAU,EAAE,KAAK,MAAM,KAAG,iBAsD3E,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parse } from 'url';
|
|
2
2
|
import { WebSocket, WebSocketServer } from 'ws';
|
|
3
|
-
export const createWebSocketServer = (httpServer) => {
|
|
3
|
+
export const createWebSocketServer = (httpServer, log) => {
|
|
4
4
|
const wss = new WebSocketServer({ noServer: true });
|
|
5
5
|
// Handle upgrade requests
|
|
6
6
|
httpServer.on('upgrade', (request, socket, head) => {
|
|
@@ -45,7 +45,8 @@ export const createWebSocketServer = (httpServer) => {
|
|
|
45
45
|
}
|
|
46
46
|
catch (error) {
|
|
47
47
|
// Log error but don't crash the server if data is non-serializable
|
|
48
|
-
|
|
48
|
+
log.error('Failed to stringify WebSocket payload');
|
|
49
|
+
log.error(error);
|
|
49
50
|
}
|
|
50
51
|
};
|
|
51
52
|
return broadcast;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/websocket/websocket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/websocket/websocket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAyB/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAsB,EAAE,GAAW,EAAqB,EAAE;IAC9F,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnD,0BAA0B;IAC1B,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAwB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAClE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;QAE7C,6CAA6C;QAC7C,IAAI,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACnD,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC9C,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,MAAM,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,kEAAkE;IAClE,MAAM,SAAS,GAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC9D,IAAI,OAAyB,CAAA;QAE7B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,GAAG;gBACR,QAAQ;gBACR,MAAM;aACP,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAA;YAC3D,CAAC;YACD,OAAO,GAAG;gBACR,QAAQ;gBACR,MAAM;gBACN,IAAI;aACL,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAEvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mEAAmE;YACnE,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAClD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|