temba 0.23.0 → 0.24.1
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/README.md +2 -2
- package/config/index.d.ts +3 -3
- package/config/index.d.ts.map +1 -1
- package/config/index.js +6 -10
- package/config/index.js.map +1 -1
- package/delay/delayMiddleware.js +1 -5
- package/delay/delayMiddleware.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +20 -50
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/queries/in-memory.d.ts +1 -1
- package/queries/in-memory.d.ts.map +1 -1
- package/queries/in-memory.js +1 -4
- package/queries/in-memory.js.map +1 -1
- package/queries/mongo.d.ts +1 -1
- package/queries/mongo.d.ts.map +1 -1
- package/queries/mongo.js +7 -11
- package/queries/mongo.js.map +1 -1
- package/queries/queries.d.ts +1 -1
- package/queries/queries.js +5 -9
- package/queries/queries.js.map +1 -1
- package/queries/types.js +1 -2
- package/requestBodyInterceptor/interceptRequestBody.d.ts +1 -1
- package/requestBodyInterceptor/interceptRequestBody.js +1 -5
- package/requestBodyInterceptor/interceptRequestBody.js.map +1 -1
- package/requestBodyInterceptor/types.js +1 -2
- package/requestHandlers/delete.d.ts +2 -2
- package/requestHandlers/delete.js +1 -5
- package/requestHandlers/delete.js.map +1 -1
- package/requestHandlers/get.d.ts +3 -3
- package/requestHandlers/get.js +9 -13
- package/requestHandlers/get.js.map +1 -1
- package/requestHandlers/index.d.ts +8 -8
- package/requestHandlers/index.js +11 -15
- package/requestHandlers/index.js.map +1 -1
- package/requestHandlers/patch.d.ts +4 -4
- package/requestHandlers/patch.d.ts.map +1 -1
- package/requestHandlers/patch.js +7 -11
- package/requestHandlers/patch.js.map +1 -1
- package/requestHandlers/post.d.ts +4 -4
- package/requestHandlers/post.d.ts.map +1 -1
- package/requestHandlers/post.js +9 -13
- package/requestHandlers/post.js.map +1 -1
- package/requestHandlers/put.d.ts +4 -4
- package/requestHandlers/put.d.ts.map +1 -1
- package/requestHandlers/put.js +7 -11
- package/requestHandlers/put.js.map +1 -1
- package/requestHandlers/types.d.ts.map +1 -1
- package/requestHandlers/types.js +1 -2
- package/requestHandlers/utils.js +1 -5
- package/requestHandlers/utils.js.map +1 -1
- package/resourceRouter.d.ts +3 -3
- package/resourceRouter.d.ts.map +1 -1
- package/resourceRouter.js +7 -14
- package/resourceRouter.js.map +1 -1
- package/responseBodyInterceptor/interceptResponseBody.d.ts +1 -1
- package/responseBodyInterceptor/interceptResponseBody.d.ts.map +1 -1
- package/responseBodyInterceptor/interceptResponseBody.js +1 -5
- package/responseBodyInterceptor/interceptResponseBody.js.map +1 -1
- package/responseBodyInterceptor/types.d.ts +1 -1
- package/responseBodyInterceptor/types.d.ts.map +1 -1
- package/responseBodyInterceptor/types.js +1 -2
- package/schema/compile.d.ts +1 -1
- package/schema/compile.d.ts.map +1 -1
- package/schema/compile.js +3 -10
- package/schema/compile.js.map +1 -1
- package/schema/types.d.ts +1 -1
- package/schema/types.d.ts.map +1 -1
- package/schema/types.js +1 -2
- package/schema/validate.d.ts +2 -2
- package/schema/validate.d.ts.map +1 -1
- package/schema/validate.js +1 -5
- package/schema/validate.js.map +1 -1
- package/urls/urlParser.js +1 -5
- package/urls/urlParser.js.map +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { RouterConfig } from '../config';
|
|
2
|
-
import type { CompiledSchemas } from '../schema/types';
|
|
3
|
-
import type { Queries } from '../queries/types';
|
|
1
|
+
import type { RouterConfig } from '../config/index.js';
|
|
2
|
+
import type { CompiledSchemas } from '../schema/types.js';
|
|
3
|
+
import type { Queries } from '../queries/types.js';
|
|
4
4
|
export declare const getRequestHandler: (queries: Queries, schemas: CompiledSchemas, routerConfig: RouterConfig) => {
|
|
5
|
-
handleGet: (req: import("./types").GetRequest) => Promise<{
|
|
5
|
+
handleGet: (req: import("./types.js").GetRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: unknown;
|
|
8
8
|
headers: {
|
|
@@ -20,7 +20,7 @@ export declare const getRequestHandler: (queries: Queries, schemas: CompiledSche
|
|
|
20
20
|
message: string;
|
|
21
21
|
};
|
|
22
22
|
}>;
|
|
23
|
-
handlePost: (req: import("./types").PostRequest) => Promise<{
|
|
23
|
+
handlePost: (req: import("./types.js").PostRequest) => Promise<{
|
|
24
24
|
status: number;
|
|
25
25
|
body: {
|
|
26
26
|
message: string;
|
|
@@ -33,15 +33,15 @@ export declare const getRequestHandler: (queries: Queries, schemas: CompiledSche
|
|
|
33
33
|
status: number;
|
|
34
34
|
body: unknown;
|
|
35
35
|
}>;
|
|
36
|
-
handlePut: (req: import("./types").PutRequest) => Promise<{
|
|
36
|
+
handlePut: (req: import("./types.js").PutRequest) => Promise<{
|
|
37
37
|
status: number;
|
|
38
38
|
body: unknown;
|
|
39
39
|
}>;
|
|
40
|
-
handlePatch: (req: import("./types").PutRequest) => Promise<{
|
|
40
|
+
handlePatch: (req: import("./types.js").PutRequest) => Promise<{
|
|
41
41
|
status: number;
|
|
42
42
|
body: unknown;
|
|
43
43
|
}>;
|
|
44
|
-
handleDelete: (req: import("./types").DeleteRequest) => Promise<{
|
|
44
|
+
handleDelete: (req: import("./types.js").DeleteRequest) => Promise<{
|
|
45
45
|
status: number;
|
|
46
46
|
body?: undefined;
|
|
47
47
|
} | {
|
package/requestHandlers/index.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const patch_1 = require("./patch");
|
|
8
|
-
const delete_1 = require("./delete");
|
|
9
|
-
const getRequestHandler = (queries, schemas, routerConfig) => {
|
|
1
|
+
import { createGetRoutes } from './get.js';
|
|
2
|
+
import { createPostRoutes } from './post.js';
|
|
3
|
+
import { createPutRoutes } from './put.js';
|
|
4
|
+
import { createPatchRoutes } from './patch.js';
|
|
5
|
+
import { createDeleteRoutes } from './delete.js';
|
|
6
|
+
export const getRequestHandler = (queries, schemas, routerConfig) => {
|
|
10
7
|
const { cacheControl, requestBodyInterceptor, responseBodyInterceptor, returnNullFields } = routerConfig;
|
|
11
|
-
const handleGet =
|
|
12
|
-
const handlePost =
|
|
13
|
-
const handlePut =
|
|
14
|
-
const handlePatch =
|
|
15
|
-
const handleDelete =
|
|
8
|
+
const handleGet = createGetRoutes(queries, cacheControl, responseBodyInterceptor, returnNullFields);
|
|
9
|
+
const handlePost = createPostRoutes(queries, requestBodyInterceptor, returnNullFields, schemas.post);
|
|
10
|
+
const handlePut = createPutRoutes(queries, requestBodyInterceptor, returnNullFields, schemas.put);
|
|
11
|
+
const handlePatch = createPatchRoutes(queries, requestBodyInterceptor, returnNullFields, schemas.patch);
|
|
12
|
+
const handleDelete = createDeleteRoutes(queries);
|
|
16
13
|
return {
|
|
17
14
|
handleGet,
|
|
18
15
|
handlePost,
|
|
@@ -21,5 +18,4 @@ const getRequestHandler = (queries, schemas, routerConfig) => {
|
|
|
21
18
|
handleDelete,
|
|
22
19
|
};
|
|
23
20
|
};
|
|
24
|
-
exports.getRequestHandler = getRequestHandler;
|
|
25
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -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":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAM7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,EAAE;IACF,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,GACvF,YAAY,CAAA;IAEd,MAAM,SAAS,GAAG,eAAe,CAC/B,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,CACjB,CAAA;IAED,MAAM,UAAU,GAAG,gBAAgB,CACjC,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,OAAO,CAAC,IAAI,CACb,CAAA;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAEjG,MAAM,WAAW,GAAG,iBAAiB,CACnC,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,OAAO,CAAC,KAAK,CACd,CAAA;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAEhD,OAAO;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,WAAW;QACX,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ValidateFunctionPerResource } from '../schema/types';
|
|
2
|
-
import type { PatchRequest } from './types';
|
|
3
|
-
import type { Queries } from '../queries/types';
|
|
4
|
-
import { RequestBodyInterceptor } from '../requestBodyInterceptor/types';
|
|
1
|
+
import type { ValidateFunctionPerResource } from '../schema/types.js';
|
|
2
|
+
import type { PatchRequest } from './types.js';
|
|
3
|
+
import type { Queries } from '../queries/types.js';
|
|
4
|
+
import type { RequestBodyInterceptor } from '../requestBodyInterceptor/types.js';
|
|
5
5
|
export declare const createPatchRoutes: (queries: Queries, requestBodyInterceptor: RequestBodyInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null) => (req: PatchRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,eAAO,MAAM,iBAAiB,YACnB,OAAO,0BACQ,sBAAsB,GAAG,IAAI,oBACnC,OAAO,WAChB,2BAA2B,GAAG,IAAI,WAEX,YAAY;;;EAoC7C,CAAA"}
|
package/requestHandlers/patch.js
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const validate_1 = require("../schema/validate");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const createPatchRoutes = (queries, requestBodyInterceptor, returnNullFields, schemas) => {
|
|
1
|
+
import { interceptRequestBody } from '../requestBodyInterceptor/interceptRequestBody.js';
|
|
2
|
+
import { validate } from '../schema/validate.js';
|
|
3
|
+
import { removeNullFields } from './utils.js';
|
|
4
|
+
export const createPatchRoutes = (queries, requestBodyInterceptor, returnNullFields, schemas) => {
|
|
8
5
|
const handlePatch = async (req) => {
|
|
9
6
|
try {
|
|
10
7
|
const { body, resource, id } = req;
|
|
11
|
-
const validationResult =
|
|
8
|
+
const validationResult = validate(body, schemas?.[resource]);
|
|
12
9
|
if (validationResult.isValid === false) {
|
|
13
10
|
return { status: 400, body: { message: validationResult.errorMessage } };
|
|
14
11
|
}
|
|
15
12
|
const body2 = requestBodyInterceptor?.patch
|
|
16
|
-
?
|
|
13
|
+
? interceptRequestBody(requestBodyInterceptor.patch, resource, body)
|
|
17
14
|
: body;
|
|
18
15
|
if (typeof body2 === 'string')
|
|
19
16
|
return { status: 400, body: { message: body2 } };
|
|
@@ -27,7 +24,7 @@ const createPatchRoutes = (queries, requestBodyInterceptor, returnNullFields, sc
|
|
|
27
24
|
};
|
|
28
25
|
item = { ...item, ...body2, id };
|
|
29
26
|
const updatedItem = await queries.update(resource, item);
|
|
30
|
-
return { status: 200, body: returnNullFields ? updatedItem :
|
|
27
|
+
return { status: 200, body: returnNullFields ? updatedItem : removeNullFields(updatedItem) };
|
|
31
28
|
}
|
|
32
29
|
catch (error) {
|
|
33
30
|
return { status: 500, body: { message: error.message } };
|
|
@@ -35,5 +32,4 @@ const createPatchRoutes = (queries, requestBodyInterceptor, returnNullFields, sc
|
|
|
35
32
|
};
|
|
36
33
|
return handlePatch;
|
|
37
34
|
};
|
|
38
|
-
exports.createPatchRoutes = createPatchRoutes;
|
|
39
35
|
//# sourceMappingURL=patch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAA;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAM1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,sBAAqD,EACrD,gBAAyB,EACzB,OAA2C,EAC3C,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;YAElC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,KAAK,GAAG,sBAAsB,EAAE,KAAK;gBACzC,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC;gBACpE,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAE/E,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAE9C,IAAI,CAAC,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;qBAChC;iBACF,CAAA;YAEH,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAI,KAAgB,EAAE,EAAE,EAAE,CAAA;YAE5C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAExD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAA;QAC9F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ValidateFunctionPerResource } from '../schema/types';
|
|
2
|
-
import type { PostRequest } from './types';
|
|
3
|
-
import type { Queries } from '../queries/types';
|
|
4
|
-
import { RequestBodyInterceptor } from '../requestBodyInterceptor/types';
|
|
1
|
+
import type { ValidateFunctionPerResource } from '../schema/types.js';
|
|
2
|
+
import type { PostRequest } from './types.js';
|
|
3
|
+
import type { Queries } from '../queries/types.js';
|
|
4
|
+
import type { RequestBodyInterceptor } from '../requestBodyInterceptor/types.js';
|
|
5
5
|
export declare const createPostRoutes: (queries: Queries, requestBodyInterceptor: RequestBodyInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource) => (req: PostRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,eAAO,MAAM,gBAAgB,YAClB,OAAO,0BACQ,sBAAsB,GAAG,IAAI,oBACnC,OAAO,WAChB,2BAA2B,WAEL,WAAW;;;;;;;;;;;;EAkC3C,CAAA"}
|
package/requestHandlers/post.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const validate_1 = require("../schema/validate");
|
|
8
|
-
const createPostRoutes = (queries, requestBodyInterceptor, returnNullFields, schemas) => {
|
|
1
|
+
import { format } from 'url';
|
|
2
|
+
import { interceptRequestBody } from '../requestBodyInterceptor/interceptRequestBody.js';
|
|
3
|
+
import { removeNullFields } from './utils.js';
|
|
4
|
+
import { validate } from '../schema/validate.js';
|
|
5
|
+
export const createPostRoutes = (queries, requestBodyInterceptor, returnNullFields, schemas) => {
|
|
9
6
|
const handlePost = async (req) => {
|
|
10
7
|
try {
|
|
11
8
|
const { body, protocol, host, resource } = req;
|
|
12
|
-
const validationResult =
|
|
9
|
+
const validationResult = validate(body, schemas[resource]);
|
|
13
10
|
if (validationResult.isValid === false) {
|
|
14
11
|
return { status: 400, body: { message: validationResult.errorMessage } };
|
|
15
12
|
}
|
|
16
13
|
const body2 = requestBodyInterceptor?.post
|
|
17
|
-
?
|
|
14
|
+
? interceptRequestBody(requestBodyInterceptor.post, resource, body)
|
|
18
15
|
: body;
|
|
19
16
|
if (typeof body2 === 'string')
|
|
20
17
|
return { status: 400, body: { message: body2 } };
|
|
21
18
|
const newItem = await queries.create(resource, body2);
|
|
22
19
|
return {
|
|
23
20
|
headers: {
|
|
24
|
-
Location:
|
|
21
|
+
Location: format({
|
|
25
22
|
protocol: protocol,
|
|
26
23
|
host: host,
|
|
27
24
|
pathname: `${resource}/${newItem.id}`,
|
|
28
25
|
}),
|
|
29
26
|
},
|
|
30
27
|
status: 201,
|
|
31
|
-
body: returnNullFields ? newItem :
|
|
28
|
+
body: returnNullFields ? newItem : removeNullFields(newItem),
|
|
32
29
|
};
|
|
33
30
|
}
|
|
34
31
|
catch (error) {
|
|
@@ -37,5 +34,4 @@ const createPostRoutes = (queries, requestBodyInterceptor, returnNullFields, sch
|
|
|
37
34
|
};
|
|
38
35
|
return handlePost;
|
|
39
36
|
};
|
|
40
|
-
exports.createPostRoutes = createPostRoutes;
|
|
41
37
|
//# sourceMappingURL=post.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAM7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,sBAAqD,EACrD,gBAAyB,EACzB,OAAoC,EACpC,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;YAE9C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,KAAK,GAAG,sBAAsB,EAAE,IAAI;gBACxC,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAE/E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAsB,CAAC,CAAA;YAEtE,OAAO;gBACL,OAAO,EAAE;oBACP,QAAQ,EAAE,MAAM,CAAC;wBACf,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE;qBACtC,CAAC;iBACH;gBACD,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC7D,CAAA;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
package/requestHandlers/put.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ValidateFunctionPerResource } from '../schema/types';
|
|
2
|
-
import type { PutRequest } from './types';
|
|
3
|
-
import type { Queries } from '../queries/types';
|
|
4
|
-
import { RequestBodyInterceptor } from '../requestBodyInterceptor/types';
|
|
1
|
+
import type { ValidateFunctionPerResource } from '../schema/types.js';
|
|
2
|
+
import type { PutRequest } from './types.js';
|
|
3
|
+
import type { Queries } from '../queries/types.js';
|
|
4
|
+
import type { RequestBodyInterceptor } from '../requestBodyInterceptor/types.js';
|
|
5
5
|
export declare const createPutRoutes: (queries: Queries, requestBodyInterceptor: RequestBodyInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null) => (req: PutRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAE7E,eAAO,MAAM,eAAe,YACjB,OAAO,0BACQ,sBAAsB,GAAG,IAAI,oBACnC,OAAO,WAChB,2BAA2B,GAAG,IAAI,WAEb,UAAU;;;EAoCzC,CAAA"}
|
package/requestHandlers/put.js
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const validate_1 = require("../schema/validate");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const createPutRoutes = (queries, requestBodyInterceptor, returnNullFields, schemas) => {
|
|
1
|
+
import { interceptRequestBody } from '../requestBodyInterceptor/interceptRequestBody.js';
|
|
2
|
+
import { validate } from '../schema/validate.js';
|
|
3
|
+
import { removeNullFields } from './utils.js';
|
|
4
|
+
export const createPutRoutes = (queries, requestBodyInterceptor, returnNullFields, schemas) => {
|
|
8
5
|
const handlePut = async (req) => {
|
|
9
6
|
try {
|
|
10
7
|
const { body, resource, id } = req;
|
|
11
|
-
const validationResult =
|
|
8
|
+
const validationResult = validate(body, schemas?.[resource]);
|
|
12
9
|
if (validationResult.isValid === false) {
|
|
13
10
|
return { status: 400, body: { message: validationResult.errorMessage } };
|
|
14
11
|
}
|
|
15
12
|
const body2 = requestBodyInterceptor?.put
|
|
16
|
-
?
|
|
13
|
+
? interceptRequestBody(requestBodyInterceptor.put, resource, body)
|
|
17
14
|
: body;
|
|
18
15
|
if (typeof body2 === 'string')
|
|
19
16
|
return { status: 400, body: { message: body2 } };
|
|
@@ -27,7 +24,7 @@ const createPutRoutes = (queries, requestBodyInterceptor, returnNullFields, sche
|
|
|
27
24
|
};
|
|
28
25
|
item = { ...body2, id };
|
|
29
26
|
const replacedItem = await queries.replace(resource, item);
|
|
30
|
-
return { status: 200, body: returnNullFields ? replacedItem :
|
|
27
|
+
return { status: 200, body: returnNullFields ? replacedItem : removeNullFields(replacedItem) };
|
|
31
28
|
}
|
|
32
29
|
catch (error) {
|
|
33
30
|
return { status: 500, body: { message: error.message } };
|
|
@@ -35,5 +32,4 @@ const createPutRoutes = (queries, requestBodyInterceptor, returnNullFields, sche
|
|
|
35
32
|
};
|
|
36
33
|
return handlePut;
|
|
37
34
|
};
|
|
38
|
-
exports.createPutRoutes = createPutRoutes;
|
|
39
35
|
//# sourceMappingURL=put.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAA;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAM1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,sBAAqD,EACrD,gBAAyB,EACzB,OAA2C,EAC3C,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;YAElC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,KAAK,GAAG,sBAAsB,EAAE,GAAG;gBACvC,CAAC,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;gBAClE,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAE/E,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAE9C,IAAI,CAAC,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;qBAChC;iBACF,CAAA;YAEH,IAAI,GAAG,EAAE,GAAI,KAAgB,EAAE,EAAE,EAAE,CAAA;YAEnC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAE1D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAA;QAChG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IACzC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CAAA"}
|
package/requestHandlers/types.js
CHANGED
package/requestHandlers/utils.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeNullFields = void 0;
|
|
4
|
-
const removeNullFields = (obj) => {
|
|
1
|
+
export const removeNullFields = (obj) => {
|
|
5
2
|
if (typeof obj !== 'object' || obj === null)
|
|
6
3
|
return obj;
|
|
7
4
|
return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== null));
|
|
8
5
|
};
|
|
9
|
-
exports.removeNullFields = removeNullFields;
|
|
10
6
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/requestHandlers/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/requestHandlers/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAY,EAAE,EAAE;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,GAAG,CAAA;IACvD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAA;AACtF,CAAC,CAAA"}
|
package/resourceRouter.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Queries } from './queries/types';
|
|
2
|
-
import { CompiledSchemas } from './schema/types';
|
|
3
|
-
import { RouterConfig } from './config';
|
|
1
|
+
import type { Queries } from './queries/types.js';
|
|
2
|
+
import type { CompiledSchemas } from './schema/types.js';
|
|
3
|
+
import type { RouterConfig } from './config/index.js';
|
|
4
4
|
export declare const createResourceRouter: (queries: Queries, schemas: CompiledSchemas, routerConfig: RouterConfig) => import("express-serve-static-core").Router;
|
|
5
5
|
//# sourceMappingURL=resourceRouter.d.ts.map
|
package/resourceRouter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceRouter.d.ts","sourceRoot":"","sources":["../../src/resourceRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resourceRouter.d.ts","sourceRoot":"","sources":["../../src/resourceRouter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,eAAO,MAAM,oBAAoB,YACtB,OAAO,WACP,eAAe,gBACV,YAAY,+CAqH3B,CAAA"}
|
package/resourceRouter.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createResourceRouter = void 0;
|
|
7
|
-
const express_1 = __importDefault(require("express"));
|
|
8
|
-
const requestHandlers_1 = require("./requestHandlers");
|
|
9
|
-
const urlParser_1 = require("./urls/urlParser");
|
|
10
|
-
const createResourceRouter = (queries, schemas, routerConfig) => {
|
|
1
|
+
import express from 'express';
|
|
2
|
+
import { getRequestHandler } from './requestHandlers/index.js';
|
|
3
|
+
import { parseUrl } from './urls/urlParser.js';
|
|
4
|
+
export const createResourceRouter = (queries, schemas, routerConfig) => {
|
|
11
5
|
const getUrlInfo = (baseUrl) => {
|
|
12
6
|
const url = routerConfig.apiPrefix ? baseUrl.replace(routerConfig.apiPrefix, '') : baseUrl;
|
|
13
|
-
return
|
|
7
|
+
return parseUrl(url);
|
|
14
8
|
};
|
|
15
9
|
const parseGetRequest = (req) => {
|
|
16
10
|
const urlInfo = getUrlInfo(req.baseUrl);
|
|
@@ -79,8 +73,8 @@ const createResourceRouter = (queries, schemas, routerConfig) => {
|
|
|
79
73
|
const response = await handleRequest(requestInfo);
|
|
80
74
|
sendResponse(response, expressResponse);
|
|
81
75
|
};
|
|
82
|
-
const requestHandler =
|
|
83
|
-
const resourceRouter =
|
|
76
|
+
const requestHandler = getRequestHandler(queries, schemas, routerConfig);
|
|
77
|
+
const resourceRouter = express.Router();
|
|
84
78
|
resourceRouter.get('*', async (expressRequest, expressResponse) => {
|
|
85
79
|
await handle(expressRequest, expressResponse, parseGetRequest, requestHandler.handleGet);
|
|
86
80
|
});
|
|
@@ -98,5 +92,4 @@ const createResourceRouter = (queries, schemas, routerConfig) => {
|
|
|
98
92
|
});
|
|
99
93
|
return resourceRouter;
|
|
100
94
|
};
|
|
101
|
-
exports.createResourceRouter = createResourceRouter;
|
|
102
95
|
//# sourceMappingURL=resourceRouter.js.map
|
package/resourceRouter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceRouter.js","sourceRoot":"","sources":["../../src/resourceRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resourceRouter.js","sourceRoot":"","sources":["../../src/resourceRouter.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAM3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,EAAE;IACF,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC1F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAElC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAA;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,GAAoB,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAElC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAE3C,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI;YACJ,QAAQ;SACT,CAAA;IACH,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,EAAE;QAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAClC,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QAE5B,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAA;IACH,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,eAAe,CAAA;IAEzC,MAAM,kBAAkB,GAAG,CAAC,GAAoB,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAElC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAA;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,CAAC,aAA4B,EAAE,GAAqB,EAAE,EAAE;QAC3E,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAEhC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAE5B,GAAG,CAAC,GAAG,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,EAClB,cAAuB,EACvB,eAAyB,EACzB,YAAgD,EAChD,aAAqD,EACrD,EAAE;QACF,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;QAEhD,IACE,CAAC,WAAW;YACZ,CAAC,YAAY,CAAC,iBAAiB;gBAC7B,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EACvE,CAAC;YACD,OAAO,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACtC,OAAO,EAAE,kBAAkB;aAC5B,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAA;QACjD,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACxE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IAEvC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;QAChE,MAAM,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;QACjE,MAAM,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IAC5F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;QAChE,MAAM,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;QAClE,MAAM,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;QACnE,MAAM,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;IAChG,CAAC,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InterceptedResponse, ResponseBodyInterceptor } from './types';
|
|
1
|
+
import type { InterceptedResponse, ResponseBodyInterceptor } from './types.js';
|
|
2
2
|
export declare const interceptResponseBody: (interceptor: ResponseBodyInterceptor, info: InterceptedResponse) => {};
|
|
3
3
|
//# sourceMappingURL=interceptResponseBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptResponseBody.d.ts","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/interceptResponseBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"interceptResponseBody.d.ts","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/interceptResponseBody.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAE3E,eAAO,MAAM,qBAAqB,gBACnB,uBAAuB,QAC9B,mBAAmB,OAO1B,CAAA"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.interceptResponseBody = void 0;
|
|
4
|
-
const interceptResponseBody = (interceptor, info) => {
|
|
1
|
+
export const interceptResponseBody = (interceptor, info) => {
|
|
5
2
|
if (!interceptor)
|
|
6
3
|
return info.body;
|
|
7
4
|
const intercepted = interceptor(info);
|
|
8
5
|
return intercepted ? intercepted : info.body;
|
|
9
6
|
};
|
|
10
|
-
exports.interceptResponseBody = interceptResponseBody;
|
|
11
7
|
//# sourceMappingURL=interceptResponseBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interceptResponseBody.js","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/interceptResponseBody.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interceptResponseBody.js","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/interceptResponseBody.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,WAAoC,EACpC,IAAyB,EACzB,EAAE;IACF,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,IAAI,CAAA;IAElC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAErC,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;AAC9C,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX,GACD;IACE,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAEL,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAA"}
|
package/schema/compile.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { CompiledSchemas, ConfiguredSchemas } from './types';
|
|
1
|
+
import type { CompiledSchemas, ConfiguredSchemas } from './types.js';
|
|
2
2
|
export declare const compileSchemas: (configuredSchemas: ConfiguredSchemas | null) => CompiledSchemas;
|
|
3
3
|
//# sourceMappingURL=compile.d.ts.map
|
package/schema/compile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/schema/compile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/schema/compile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEjE,eAAO,MAAM,cAAc,sBAAuB,iBAAiB,GAAG,IAAI,oBA4BzE,CAAA"}
|
package/schema/compile.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.compileSchemas = void 0;
|
|
7
|
-
const ajv_1 = __importDefault(require("ajv"));
|
|
8
|
-
const compileSchemas = (configuredSchemas) => {
|
|
1
|
+
import Ajv, {} from 'ajv';
|
|
2
|
+
export const compileSchemas = (configuredSchemas) => {
|
|
9
3
|
// Turn the configured schemas into compiled schemas
|
|
10
4
|
const compiledSchemas = {
|
|
11
5
|
post: {},
|
|
@@ -15,7 +9,7 @@ const compileSchemas = (configuredSchemas) => {
|
|
|
15
9
|
if (!configuredSchemas)
|
|
16
10
|
return compiledSchemas;
|
|
17
11
|
// Use a single Ajv instance in the whole app
|
|
18
|
-
const ajv = new
|
|
12
|
+
const ajv = new Ajv();
|
|
19
13
|
Object.keys(configuredSchemas).forEach((resource) => {
|
|
20
14
|
if (configuredSchemas[resource]?.post) {
|
|
21
15
|
compiledSchemas.post[resource] = ajv.compile(configuredSchemas[resource]?.post);
|
|
@@ -29,5 +23,4 @@ const compileSchemas = (configuredSchemas) => {
|
|
|
29
23
|
});
|
|
30
24
|
return compiledSchemas;
|
|
31
25
|
};
|
|
32
|
-
exports.compileSchemas = compileSchemas;
|
|
33
26
|
//# sourceMappingURL=compile.js.map
|
package/schema/compile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/schema/compile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/schema/compile.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,EAAE,EAAkB,MAAM,KAAK,CAAA;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,iBAA2C,EAAE,EAAE;IAC5E,oDAAoD;IACpD,MAAM,eAAe,GAAoB;QACvC,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,EAAE;KACV,CAAA;IAED,IAAI,CAAC,iBAAiB;QAAE,OAAO,eAAe,CAAA;IAE9C,6CAA6C;IAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;IAErB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;YACtC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,IAAiB,CAAC,CAAA;QAC9F,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;YACrC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAgB,CAAC,CAAA;QAC5F,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;YACvC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAkB,CAAC,CAAA;QAChG,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA"}
|
package/schema/types.d.ts
CHANGED
package/schema/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAE3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAC7C,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,2BAA2B,CAAA;IACjC,GAAG,EAAE,2BAA2B,CAAA;IAChC,KAAK,EAAE,2BAA2B,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,OAAO,EAAE,KAAK,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB,GACD;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAA"}
|
package/schema/types.js
CHANGED
package/schema/validate.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidateFunction } from 'ajv';
|
|
2
|
-
import { ValidationResult } from './types';
|
|
1
|
+
import type { ValidateFunction } from 'ajv';
|
|
2
|
+
import type { ValidationResult } from './types.js';
|
|
3
3
|
export declare const validate: (body: unknown, validate?: ValidateFunction<unknown>) => ValidationResult;
|
|
4
4
|
//# sourceMappingURL=validate.d.ts.map
|
package/schema/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/schema/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/schema/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,eAAO,MAAM,QAAQ,SAAU,OAAO,aAAa,iBAAiB,OAAO,CAAC,KAAG,gBAW9E,CAAA"}
|
package/schema/validate.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validate = void 0;
|
|
4
|
-
const validate = (body, validate) => {
|
|
1
|
+
export const validate = (body, validate) => {
|
|
5
2
|
if (!validate)
|
|
6
3
|
return { isValid: true };
|
|
7
4
|
if (validate(body)) {
|
|
@@ -14,5 +11,4 @@ const validate = (body, validate) => {
|
|
|
14
11
|
};
|
|
15
12
|
}
|
|
16
13
|
};
|
|
17
|
-
exports.validate = validate;
|
|
18
14
|
//# sourceMappingURL=validate.js.map
|
package/schema/validate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/schema/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/schema/validate.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAa,EAAE,QAAoC,EAAoB,EAAE;IAChG,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAEvC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,iCAAiC;SACjF,CAAA;IACH,CAAC;AACH,CAAC,CAAA"}
|
package/urls/urlParser.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseUrl = void 0;
|
|
4
|
-
const parseUrl = (url) => {
|
|
1
|
+
export const parseUrl = (url) => {
|
|
5
2
|
if (!url || (url && !url.trim()))
|
|
6
3
|
return { resource: null, id: null };
|
|
7
4
|
const urlSegments = url.split('/').filter((i) => i);
|
|
@@ -9,5 +6,4 @@ const parseUrl = (url) => {
|
|
|
9
6
|
const id = (urlSegments.length > 1 ? urlSegments[1] : null) ?? null;
|
|
10
7
|
return { resource, id };
|
|
11
8
|
};
|
|
12
|
-
exports.parseUrl = parseUrl;
|
|
13
9
|
//# sourceMappingURL=urlParser.js.map
|