@furystack/rest-service 9.0.0 → 9.0.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/esm/actions/login.d.ts +0 -1
- package/esm/actions/login.d.ts.map +1 -1
- package/esm/actions/login.js +0 -1
- package/esm/actions/login.js.map +1 -1
- package/esm/add-cors-header.d.ts +14 -0
- package/esm/add-cors-header.d.ts.map +1 -0
- package/esm/add-cors-header.js +23 -0
- package/esm/add-cors-header.js.map +1 -0
- package/esm/add-cors-header.spec.js +7 -8
- package/esm/add-cors-header.spec.js.map +1 -1
- package/esm/api-manager.d.ts.map +1 -1
- package/esm/api-manager.js +4 -5
- package/esm/api-manager.js.map +1 -1
- package/esm/endpoint-generators/create-delete-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-delete-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-delete-endpoint.js +0 -1
- package/esm/endpoint-generators/create-delete-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-delete-endpoint.spec.js +4 -2
- package/esm/endpoint-generators/create-delete-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.js +0 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-get-collection-endpoint.spec.js +16 -10
- package/esm/endpoint-generators/create-get-collection-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.js +0 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-get-entity-endpoint.spec.js +10 -6
- package/esm/endpoint-generators/create-get-entity-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-patch-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-patch-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-patch-endpoint.js +2 -2
- package/esm/endpoint-generators/create-patch-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-patch-endpoint.spec.js +4 -2
- package/esm/endpoint-generators/create-patch-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/create-post-endpoint.d.ts +0 -1
- package/esm/endpoint-generators/create-post-endpoint.d.ts.map +1 -1
- package/esm/endpoint-generators/create-post-endpoint.js +2 -2
- package/esm/endpoint-generators/create-post-endpoint.js.map +1 -1
- package/esm/endpoint-generators/create-post-endpoint.spec.js +4 -2
- package/esm/endpoint-generators/create-post-endpoint.spec.js.map +1 -1
- package/esm/endpoint-generators/utils.d.ts.map +1 -1
- package/esm/endpoint-generators/utils.js +0 -2
- package/esm/endpoint-generators/utils.js.map +1 -1
- package/esm/http-user-context.d.ts.map +1 -1
- package/esm/http-user-context.js +0 -3
- package/esm/http-user-context.js.map +1 -1
- package/esm/http-user-context.spec.js +1 -2
- package/esm/http-user-context.spec.js.map +1 -1
- package/esm/incoming-message-extensions.d.ts +0 -2
- package/esm/incoming-message-extensions.d.ts.map +1 -1
- package/esm/incoming-message-extensions.js +1 -10
- package/esm/incoming-message-extensions.js.map +1 -1
- package/esm/index.d.ts +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/models/default-session.d.ts.map +1 -1
- package/esm/models/default-session.js +0 -8
- package/esm/models/default-session.js.map +1 -1
- package/esm/read-post-body.d.ts +12 -0
- package/esm/read-post-body.d.ts.map +1 -0
- package/esm/read-post-body.js +33 -0
- package/esm/read-post-body.js.map +1 -0
- package/esm/rest-service.integration.spec.js +23 -30
- package/esm/rest-service.integration.spec.js.map +1 -1
- package/esm/rest.integration.test.js +1 -1
- package/esm/static-server-manager.d.ts.map +1 -1
- package/esm/static-server-manager.js +0 -1
- package/esm/static-server-manager.js.map +1 -1
- package/esm/static-server-manager.spec.js +2 -15
- package/esm/static-server-manager.spec.js.map +1 -1
- package/esm/validate.integration.spec.js +2 -2
- package/esm/validate.integration.spec.js.map +1 -1
- package/package.json +10 -10
- package/src/actions/login.ts +0 -1
- package/src/add-cors-header.spec.ts +7 -8
- package/src/add-cors-header.ts +32 -0
- package/src/api-manager.ts +5 -5
- package/src/endpoint-generators/create-delete-endpoint.spec.ts +4 -2
- package/src/endpoint-generators/create-delete-endpoint.ts +0 -1
- package/src/endpoint-generators/create-get-collection-endpoint.spec.ts +16 -10
- package/src/endpoint-generators/create-get-collection-endpoint.ts +0 -1
- package/src/endpoint-generators/create-get-entity-endpoint.spec.ts +10 -6
- package/src/endpoint-generators/create-get-entity-endpoint.ts +0 -1
- package/src/endpoint-generators/create-patch-endpoint.spec.ts +4 -2
- package/src/endpoint-generators/create-patch-endpoint.ts +2 -2
- package/src/endpoint-generators/create-post-endpoint.spec.ts +4 -2
- package/src/endpoint-generators/create-post-endpoint.ts +2 -2
- package/src/endpoint-generators/utils.ts +2 -2
- package/src/http-user-context.spec.ts +1 -2
- package/src/http-user-context.ts +3 -3
- package/src/incoming-message-extensions.ts +0 -15
- package/src/index.ts +2 -2
- package/src/models/default-session.ts +2 -2
- package/src/read-post-body.ts +36 -0
- package/src/rest-service.integration.spec.ts +24 -34
- package/src/rest.integration.test.ts +1 -1
- package/src/static-server-manager.spec.ts +2 -18
- package/src/static-server-manager.ts +1 -1
- package/src/validate.integration.spec.ts +2 -2
- package/esm/incoming-message-extensions.spec.d.ts +0 -2
- package/esm/incoming-message-extensions.spec.d.ts.map +0 -1
- package/esm/incoming-message-extensions.spec.js +0 -38
- package/esm/incoming-message-extensions.spec.js.map +0 -1
- package/esm/utils.d.ts +0 -25
- package/esm/utils.d.ts.map +0 -1
- package/esm/utils.js +0 -70
- package/esm/utils.js.map +0 -1
- package/src/incoming-message-extensions.spec.ts +0 -42
- package/src/utils.ts +0 -68
package/esm/actions/login.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/actions/login.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/actions/login.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAGxE;;;;GAIG;AAEH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC;IACtC,MAAM,EAAE,IAAI,CAAA;IACZ,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC7C,CAUA,CAAA"}
|
package/esm/actions/login.js
CHANGED
package/esm/actions/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/actions/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/actions/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAEhE;;;;GAIG;AAEH,MAAM,CAAC,MAAM,WAAW,GAGnB,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAA;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7E,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference path="server-response-extensions.d.ts" />
|
|
2
|
+
/// <reference path="incoming-message-extensions.d.ts" />
|
|
3
|
+
/// <reference types="node/http.js" />
|
|
4
|
+
import type { IncomingMessage } from 'http';
|
|
5
|
+
import type { CorsOptions } from './models/cors-options.js';
|
|
6
|
+
import type { ServerResponse } from 'http';
|
|
7
|
+
/**
|
|
8
|
+
* Adds the specified CORS headers to the response
|
|
9
|
+
* @param options The CORS Options object
|
|
10
|
+
* @param incomingMessage The incoming message instance
|
|
11
|
+
* @param serverResponse The outgoing response instance
|
|
12
|
+
*/
|
|
13
|
+
export declare const addCorsHeaders: (options: CorsOptions, incomingMessage: IncomingMessage, serverResponse: ServerResponse) => void;
|
|
14
|
+
//# sourceMappingURL=add-cors-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-cors-header.d.ts","sourceRoot":"","sources":["../src/add-cors-header.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,WAAW,mBACH,eAAe,kBAChB,cAAc,SAkB/B,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adds the specified CORS headers to the response
|
|
3
|
+
* @param options The CORS Options object
|
|
4
|
+
* @param incomingMessage The incoming message instance
|
|
5
|
+
* @param serverResponse The outgoing response instance
|
|
6
|
+
*/
|
|
7
|
+
export const addCorsHeaders = (options, incomingMessage, serverResponse) => {
|
|
8
|
+
if (incomingMessage.headers &&
|
|
9
|
+
incomingMessage.headers.origin !== incomingMessage.headers.host &&
|
|
10
|
+
options.origins.some((origin) => origin === incomingMessage.headers.origin)) {
|
|
11
|
+
serverResponse.setHeader('Access-Control-Allow-Origin', incomingMessage.headers.origin);
|
|
12
|
+
if (options.credentials) {
|
|
13
|
+
serverResponse.setHeader('Access-Control-Allow-Credentials', 'true');
|
|
14
|
+
}
|
|
15
|
+
if (options.headers && options.headers.length) {
|
|
16
|
+
serverResponse.setHeader('Access-Control-Allow-Headers', options.headers.join(', '));
|
|
17
|
+
}
|
|
18
|
+
if (options.methods && options.methods.length) {
|
|
19
|
+
serverResponse.setHeader('Access-Control-Allow-Methods', options.methods.join(', '));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=add-cors-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-cors-header.js","sourceRoot":"","sources":["../src/add-cors-header.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAoB,EACpB,eAAgC,EAChC,cAA8B,EAC9B,EAAE;IACF,IACE,eAAe,CAAC,OAAO;QACvB,eAAe,CAAC,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,CAAC,IAAI;QAC/D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAC3E,CAAC;QACD,cAAc,CAAC,SAAS,CAAC,6BAA6B,EAAE,eAAe,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAA;QACjG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,cAAc,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtF,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,cAAc,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Utils } from './utils.js';
|
|
2
1
|
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { addCorsHeaders } from './add-cors-header.js';
|
|
3
3
|
describe('AddCorsHeaders', () => {
|
|
4
|
-
const utils = new Utils();
|
|
5
4
|
it('Should NOT add headers for non-cross-site requests', () => {
|
|
6
5
|
const req = {
|
|
7
6
|
headers: { origin: 'http://localhost/', host: 'http://localhost' },
|
|
@@ -9,7 +8,7 @@ describe('AddCorsHeaders', () => {
|
|
|
9
8
|
const resp = {
|
|
10
9
|
setHeader: vi.fn(),
|
|
11
10
|
};
|
|
12
|
-
|
|
11
|
+
addCorsHeaders({
|
|
13
12
|
origins: ['https://google.com'],
|
|
14
13
|
credentials: true,
|
|
15
14
|
headers: ['my-custom-header', 'header-2'],
|
|
@@ -23,7 +22,7 @@ describe('AddCorsHeaders', () => {
|
|
|
23
22
|
const resp = {
|
|
24
23
|
setHeader: vi.fn(),
|
|
25
24
|
};
|
|
26
|
-
|
|
25
|
+
addCorsHeaders({
|
|
27
26
|
origins: ['https://github.com'],
|
|
28
27
|
credentials: true,
|
|
29
28
|
headers: ['my-custom-header', 'header-2'],
|
|
@@ -37,7 +36,7 @@ describe('AddCorsHeaders', () => {
|
|
|
37
36
|
const resp = {
|
|
38
37
|
setHeader: vi.fn(),
|
|
39
38
|
};
|
|
40
|
-
|
|
39
|
+
addCorsHeaders({
|
|
41
40
|
origins: ['http://localhost/'],
|
|
42
41
|
}, req, resp);
|
|
43
42
|
expect(resp.setHeader).toBeCalledTimes(1);
|
|
@@ -50,7 +49,7 @@ describe('AddCorsHeaders', () => {
|
|
|
50
49
|
const resp = {
|
|
51
50
|
setHeader: vi.fn(),
|
|
52
51
|
};
|
|
53
|
-
|
|
52
|
+
addCorsHeaders({
|
|
54
53
|
origins: ['http://localhost/'],
|
|
55
54
|
credentials: true,
|
|
56
55
|
// headers: ['my-custom-header', 'header-2'],
|
|
@@ -69,7 +68,7 @@ describe('AddCorsHeaders', () => {
|
|
|
69
68
|
const resp = {
|
|
70
69
|
setHeader: vi.fn(),
|
|
71
70
|
};
|
|
72
|
-
|
|
71
|
+
addCorsHeaders({
|
|
73
72
|
origins: ['http://localhost/'],
|
|
74
73
|
headers: ['my-custom-header', 'header-2'],
|
|
75
74
|
// methods: ['DELETE', 'GET', 'POST', 'PUT', 'PATCH'],
|
|
@@ -86,7 +85,7 @@ describe('AddCorsHeaders', () => {
|
|
|
86
85
|
const resp = {
|
|
87
86
|
setHeader: vi.fn(),
|
|
88
87
|
};
|
|
89
|
-
|
|
88
|
+
addCorsHeaders({
|
|
90
89
|
origins: ['http://localhost/'],
|
|
91
90
|
methods: ['DELETE', 'GET', 'POST', 'PUT', 'PATCH'],
|
|
92
91
|
}, req, resp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-cors-header.spec.js","sourceRoot":"","sources":["../src/add-cors-header.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"add-cors-header.spec.js","sourceRoot":"","sources":["../src/add-cors-header.spec.ts"],"names":[],"mappings":"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"}
|
package/esm/api-manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-manager.d.ts","sourceRoot":"","sources":["../src/api-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"api-manager.d.ts","sourceRoot":"","sources":["../src/api-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,iCAAiC,CAAA;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAIvE,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,OAAO,IAAI;KACpD,OAAO,IAAI,MAAM,CAAC,GAAG;SACnB,IAAI,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,EAAE,OAAO,CAAA;SAAE,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;KACnH;CACF,CAAA;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO;IACpD,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAChD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,aAAa,CAAA;IACtB,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,mBAAmB,EAAE;CACtC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG;IACzC,WAAW,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAChD,CAAA;AAED,qBACa,UAAW,YAAW,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAElD,OAAO;IAId,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU;IAgBL,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EACrC,GAAG,EACH,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,sBAAsB,GACvB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IA6BlB,iBAAiB,CAAC,OAAO,EAAE;QAChC,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,gBAAgB,EAAE,MAAM,EAAE,CAAA;KAC3B,GAAG,OAAO;IASX,OAAO,CAAC,qBAAqB;YAiBf,aAAa;YAkDb,SAAS;IA0BvB,iBACyB,aAAa,CAAe;CACtD"}
|
package/esm/api-manager.js
CHANGED
|
@@ -14,10 +14,11 @@ import { match } from 'path-to-regexp';
|
|
|
14
14
|
import { IdentityContext } from '@furystack/core';
|
|
15
15
|
import { ServerManager } from './server-manager.js';
|
|
16
16
|
import { NotFoundAction } from './actions/not-found-action.js';
|
|
17
|
-
import { Utils } from './utils.js';
|
|
18
17
|
import { ErrorAction } from './actions/error-action.js';
|
|
19
18
|
import './server-response-extensions.js';
|
|
20
19
|
import { HttpUserContext } from './http-user-context.js';
|
|
20
|
+
import { addCorsHeaders } from './add-cors-header.js';
|
|
21
|
+
import { readPostBody } from './read-post-body.js';
|
|
21
22
|
let ApiManager = class ApiManager {
|
|
22
23
|
apis = new Map();
|
|
23
24
|
dispose() {
|
|
@@ -90,7 +91,6 @@ let ApiManager = class ApiManager {
|
|
|
90
91
|
}
|
|
91
92
|
async executeAction({ injector, req, res, fullUrl, action, deserializeQueryParams, params, }) {
|
|
92
93
|
await usingAsync(injector.createChild(), async (i) => {
|
|
93
|
-
const utils = i.getInstance(Utils);
|
|
94
94
|
const httpUserContext = i.getInstance(HttpUserContext);
|
|
95
95
|
i.setExplicitInstance({
|
|
96
96
|
getCurrentUser: () => httpUserContext.getCurrentUser(req),
|
|
@@ -102,7 +102,7 @@ let ApiManager = class ApiManager {
|
|
|
102
102
|
request: req,
|
|
103
103
|
response: res,
|
|
104
104
|
injector: i,
|
|
105
|
-
getBody: () =>
|
|
105
|
+
getBody: () => readPostBody(req),
|
|
106
106
|
headers: req.headers,
|
|
107
107
|
getQuery: () => deserializeQueryParams ? deserializeQueryParams(fullUrl.search) : deserializeQueryString(fullUrl.search),
|
|
108
108
|
getUrlParams: () => {
|
|
@@ -125,7 +125,7 @@ let ApiManager = class ApiManager {
|
|
|
125
125
|
}
|
|
126
126
|
async onMessage(options) {
|
|
127
127
|
const fullUrl = new URL(PathHelper.joinPaths('http://', `${options.hostName || ServerManager.DEFAULT_HOST}:${options.port}`, options.req.url));
|
|
128
|
-
options.cors &&
|
|
128
|
+
options.cors && addCorsHeaders(options.cors, options.req, options.res);
|
|
129
129
|
if (options.req.method === 'OPTIONS') {
|
|
130
130
|
options.res.writeHead(200);
|
|
131
131
|
options.res.end();
|
|
@@ -139,7 +139,6 @@ let ApiManager = class ApiManager {
|
|
|
139
139
|
options.res.sendActionResult(await NotFoundAction({ injector: options.injector, request: options.req, response: options.res }));
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
serverManager;
|
|
143
142
|
};
|
|
144
143
|
__decorate([
|
|
145
144
|
Injected(ServerManager),
|
package/esm/api-manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-manager.js","sourceRoot":"","sources":["../src/api-manager.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api-manager.js","sourceRoot":"","sources":["../src/api-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Constructable } from '@furystack/inject';
|
|
2
2
|
import type { DeleteEndpoint } from '@furystack/rest';
|
|
3
|
-
import '@furystack/repository';
|
|
4
3
|
import type { RequestAction } from '../request-action-implementation.js';
|
|
5
4
|
/**
|
|
6
5
|
* Creates a DELETE endpoint for removing entities
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-delete-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"create-delete-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAIxE;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,2DAA4D;IAC3F,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IACvB,UAAU,EAAE,WAAW,CAAA;CACxB,kDAQA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-delete-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-delete-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAgD,OAGnF,EAAE,EAAE;IACH,MAAM,QAAQ,GAAkD,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACnG,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAA;QAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACxF,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAClC,OAAO,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -5,14 +5,16 @@ import { MockClass, setupContext } from './utils.js';
|
|
|
5
5
|
import { useRestService } from '../helpers.js';
|
|
6
6
|
import { getDataSetFor } from '@furystack/repository';
|
|
7
7
|
import { describe, it, expect } from 'vitest';
|
|
8
|
+
import { getPort } from '@furystack/core/port-generator';
|
|
8
9
|
describe('createDeleteEndpoint', () => {
|
|
9
10
|
it('Should delete the entity and report the success', async () => {
|
|
10
11
|
await usingAsync(new Injector(), async (i) => {
|
|
12
|
+
const port = getPort();
|
|
11
13
|
setupContext(i);
|
|
12
14
|
await useRestService({
|
|
13
15
|
injector: i,
|
|
14
16
|
root: '/api',
|
|
15
|
-
port
|
|
17
|
+
port,
|
|
16
18
|
api: {
|
|
17
19
|
DELETE: {
|
|
18
20
|
'/:id': createDeleteEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -22,7 +24,7 @@ describe('createDeleteEndpoint', () => {
|
|
|
22
24
|
await getDataSetFor(i, MockClass, 'id').add(i, { id: 'mock', value: 'mock' });
|
|
23
25
|
const countBeforeDelete = await getDataSetFor(i, MockClass, 'id').count(i);
|
|
24
26
|
expect(countBeforeDelete).toBe(1);
|
|
25
|
-
const response = await fetch(
|
|
27
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/mock`, { method: 'DELETE' });
|
|
26
28
|
expect(response.status).toBe(204);
|
|
27
29
|
const txt = await response.text();
|
|
28
30
|
expect(txt).toBe('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-delete-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"create-delete-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,YAAY,CAAC,CAAC,CAAC,CAAA;YACf,MAAM,cAAc,CAA0D;gBAC5E,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,GAAG,EAAE;oBACH,MAAM,EAAE;wBACN,MAAM,EAAE,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qBACrE;iBACF;aACF,CAAC,CAAA;YACF,MAAM,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAE7E,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YACvF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACzE,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Constructable } from '@furystack/inject';
|
|
2
2
|
import type { GetCollectionEndpoint } from '@furystack/rest';
|
|
3
|
-
import '@furystack/repository';
|
|
4
3
|
import type { RequestAction } from '../request-action-implementation.js';
|
|
5
4
|
/**
|
|
6
5
|
* Creates a GetCollection endpoint for the given model. The model should have a Repository DataSet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-collection-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"create-get-collection-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAIxE;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,4CAA6C;IACnF,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IACvB,UAAU,EAAE,WAAW,CAAA;CACxB,4CAWA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-collection-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-get-collection-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAiC,OAG3E,EAAE,EAAE;IACH,MAAM,QAAQ,GAA4C,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzF,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACxF,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAM,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC,CAAA;QACrE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QACjE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAA;QAE1E,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACvC,CAAC,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -6,6 +6,7 @@ import { serializeToQueryString } from '@furystack/rest';
|
|
|
6
6
|
import { getDataSetFor, getRepository } from '@furystack/repository';
|
|
7
7
|
import { useRestService } from '../helpers.js';
|
|
8
8
|
import { describe, it, expect } from 'vitest';
|
|
9
|
+
import { getPort } from '@furystack/core/port-generator';
|
|
9
10
|
const addMockEntities = async (i) => await getRepository(i)
|
|
10
11
|
.getDataSetFor(MockClass, 'id')
|
|
11
12
|
.add(i, { id: 'mock1', value: '4' }, { id: 'mock2', value: '3' }, { id: 'mock3', value: '2' }, { id: 'mock4', value: '1' });
|
|
@@ -13,10 +14,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
13
14
|
it('Should return the collection without filter / order', async () => {
|
|
14
15
|
await usingAsync(new Injector(), async (i) => {
|
|
15
16
|
setupContext(i);
|
|
17
|
+
const port = getPort();
|
|
16
18
|
await useRestService({
|
|
17
19
|
injector: i,
|
|
18
20
|
root: '/api',
|
|
19
|
-
port
|
|
21
|
+
port,
|
|
20
22
|
api: {
|
|
21
23
|
GET: {
|
|
22
24
|
'/entities': createGetCollectionEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -26,7 +28,7 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
26
28
|
await addMockEntities(i);
|
|
27
29
|
const count = await getDataSetFor(i, MockClass, 'id').count(i);
|
|
28
30
|
const allEntities = await getDataSetFor(i, MockClass, 'id').find(i, {});
|
|
29
|
-
const response = await fetch(
|
|
31
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/entities`, { method: 'GET' });
|
|
30
32
|
expect(response.ok).toBe(true);
|
|
31
33
|
const json = await response.json();
|
|
32
34
|
expect(response.status).toBe(200);
|
|
@@ -37,10 +39,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
37
39
|
it('Should return entities in order', async () => {
|
|
38
40
|
await usingAsync(new Injector(), async (i) => {
|
|
39
41
|
setupContext(i);
|
|
42
|
+
const port = getPort();
|
|
40
43
|
await useRestService({
|
|
41
44
|
injector: i,
|
|
42
45
|
root: '/api',
|
|
43
|
-
port
|
|
46
|
+
port,
|
|
44
47
|
api: {
|
|
45
48
|
GET: {
|
|
46
49
|
'/entities': createGetCollectionEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -51,7 +54,7 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
51
54
|
const findOptions = { order: { value: 'ASC' } };
|
|
52
55
|
const count = await getDataSetFor(i, MockClass, 'id').count(i, findOptions.filter);
|
|
53
56
|
const orderedEntities = await getDataSetFor(i, MockClass, 'id').find(i, findOptions);
|
|
54
|
-
const response = await fetch(`http://127.0.0.1
|
|
57
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/entities?${serializeToQueryString({ findOptions })}`, {
|
|
55
58
|
method: 'GET',
|
|
56
59
|
});
|
|
57
60
|
expect(response.ok).toBe(true);
|
|
@@ -64,10 +67,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
64
67
|
it('Should return entities with filtering', async () => {
|
|
65
68
|
await usingAsync(new Injector(), async (i) => {
|
|
66
69
|
setupContext(i);
|
|
70
|
+
const port = getPort();
|
|
67
71
|
await useRestService({
|
|
68
72
|
injector: i,
|
|
69
73
|
root: '/api',
|
|
70
|
-
port
|
|
74
|
+
port,
|
|
71
75
|
api: {
|
|
72
76
|
GET: {
|
|
73
77
|
'/entities': createGetCollectionEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -81,7 +85,7 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
81
85
|
const count = await getDataSetFor(i, MockClass, 'id').count(i, findOptions.filter);
|
|
82
86
|
const filteredEntities = await getDataSetFor(i, MockClass, 'id').find(i, findOptions);
|
|
83
87
|
expect(filteredEntities).not.toContainEqual({ id: 'mock2', value: '3' });
|
|
84
|
-
const response = await fetch(`http://127.0.0.1
|
|
88
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/entities?${serializeToQueryString({ findOptions })}`, {
|
|
85
89
|
method: 'GET',
|
|
86
90
|
});
|
|
87
91
|
expect(response.ok).toBe(true);
|
|
@@ -94,10 +98,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
94
98
|
it('Should return entities with selecting specific fields', async () => {
|
|
95
99
|
await usingAsync(new Injector(), async (i) => {
|
|
96
100
|
setupContext(i);
|
|
101
|
+
const port = getPort();
|
|
97
102
|
await useRestService({
|
|
98
103
|
injector: i,
|
|
99
104
|
root: '/api',
|
|
100
|
-
port
|
|
105
|
+
port,
|
|
101
106
|
api: {
|
|
102
107
|
GET: {
|
|
103
108
|
'/entities': createGetCollectionEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -111,7 +116,7 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
111
116
|
const count = await getDataSetFor(i, MockClass, 'id').count(i, findOptions.filter);
|
|
112
117
|
const selectedEntities = await getDataSetFor(i, MockClass, 'id').find(i, findOptions);
|
|
113
118
|
selectedEntities.forEach((e) => expect(e.value).toBeUndefined());
|
|
114
|
-
const response = await fetch(`http://127.0.0.1
|
|
119
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/entities?${serializeToQueryString({ findOptions })}`, {
|
|
115
120
|
method: 'GET',
|
|
116
121
|
});
|
|
117
122
|
expect(response.ok).toBe(true);
|
|
@@ -124,10 +129,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
124
129
|
it('Should return entities with top/skip', async () => {
|
|
125
130
|
await usingAsync(new Injector(), async (i) => {
|
|
126
131
|
setupContext(i);
|
|
132
|
+
const port = getPort();
|
|
127
133
|
await useRestService({
|
|
128
134
|
injector: i,
|
|
129
135
|
root: '/api',
|
|
130
|
-
port
|
|
136
|
+
port,
|
|
131
137
|
api: {
|
|
132
138
|
GET: {
|
|
133
139
|
'/entities': createGetCollectionEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -143,7 +149,7 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
143
149
|
const topSkipEntities = await getDataSetFor(i, MockClass, 'id').find(i, findOptions);
|
|
144
150
|
expect(topSkipEntities).not.toContainEqual({ id: 'mock1', value: '4' });
|
|
145
151
|
expect(topSkipEntities).not.toContainEqual({ id: 'mock4', value: '1' });
|
|
146
|
-
const response = await fetch(`http://127.0.0.1
|
|
152
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/entities?${serializeToQueryString({ findOptions })}`, {
|
|
147
153
|
method: 'GET',
|
|
148
154
|
});
|
|
149
155
|
expect(response.status).toBe(200);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-collection-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAA;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"create-get-collection-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Constructable } from '@furystack/inject';
|
|
2
2
|
import type { GetEntityEndpoint } from '@furystack/rest';
|
|
3
|
-
import '@furystack/repository';
|
|
4
3
|
import type { RequestAction } from '../request-action-implementation.js';
|
|
5
4
|
/**
|
|
6
5
|
* Creates a simple Get Entity endpoint for a specified model.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-entity-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"create-get-entity-endpoint.d.ts","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAIxE;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,2DAA4D;IAC9F,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;IACvB,UAAU,EAAE,WAAW,CAAA;CACxB,qDAYA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-entity-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"create-get-entity-endpoint.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAgD,OAGtF,EAAE,EAAE;IACH,MAAM,QAAQ,GAAqD,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChH,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,CAAA;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACxF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;QACjD,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -6,14 +6,16 @@ import { createGetEntityEndpoint } from './create-get-entity-endpoint.js';
|
|
|
6
6
|
import { getDataSetFor } from '@furystack/repository';
|
|
7
7
|
import { useRestService } from '../helpers.js';
|
|
8
8
|
import { describe, it, expect } from 'vitest';
|
|
9
|
+
import { getPort } from '@furystack/core/port-generator';
|
|
9
10
|
describe('createGetEntityEndpoint', () => {
|
|
10
11
|
it('Should return the entity', async () => {
|
|
11
12
|
await usingAsync(new Injector(), async (i) => {
|
|
12
13
|
setupContext(i);
|
|
14
|
+
const port = getPort();
|
|
13
15
|
await useRestService({
|
|
14
16
|
injector: i,
|
|
15
17
|
root: '/api',
|
|
16
|
-
port
|
|
18
|
+
port,
|
|
17
19
|
api: {
|
|
18
20
|
GET: {
|
|
19
21
|
'/:id': createGetEntityEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -22,7 +24,7 @@ describe('createGetEntityEndpoint', () => {
|
|
|
22
24
|
});
|
|
23
25
|
const mockEntity = { id: 'mock', value: 'mock' };
|
|
24
26
|
await getDataSetFor(i, MockClass, 'id').add(i, mockEntity);
|
|
25
|
-
const response = await fetch(
|
|
27
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/mock`, { method: 'GET' });
|
|
26
28
|
expect(response.status).toBe(200);
|
|
27
29
|
const body = await response.json();
|
|
28
30
|
expect(body).toEqual(mockEntity);
|
|
@@ -31,10 +33,11 @@ describe('createGetEntityEndpoint', () => {
|
|
|
31
33
|
it('Should return the entity with the selected fields', async () => {
|
|
32
34
|
await usingAsync(new Injector(), async (i) => {
|
|
33
35
|
setupContext(i);
|
|
36
|
+
const port = getPort();
|
|
34
37
|
await useRestService({
|
|
35
38
|
injector: i,
|
|
36
39
|
root: '/api',
|
|
37
|
-
port
|
|
40
|
+
port,
|
|
38
41
|
api: {
|
|
39
42
|
GET: {
|
|
40
43
|
'/:id': createGetEntityEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
@@ -43,7 +46,7 @@ describe('createGetEntityEndpoint', () => {
|
|
|
43
46
|
});
|
|
44
47
|
const mockEntity = { id: 'mock', value: 'mock' };
|
|
45
48
|
await getDataSetFor(i, MockClass, 'id').add(i, mockEntity);
|
|
46
|
-
const response = await fetch(`http://127.0.0.1
|
|
49
|
+
const response = await fetch(`http://127.0.0.1:${port}/api/mock?${serializeToQueryString({ select: ['id'] })}`, {
|
|
47
50
|
method: 'GET',
|
|
48
51
|
});
|
|
49
52
|
expect(response.status).toBe(200);
|
|
@@ -54,17 +57,18 @@ describe('createGetEntityEndpoint', () => {
|
|
|
54
57
|
it('Should return 404 if no entity has been found', async () => {
|
|
55
58
|
await usingAsync(new Injector(), async (i) => {
|
|
56
59
|
setupContext(i);
|
|
60
|
+
const port = getPort();
|
|
57
61
|
await useRestService({
|
|
58
62
|
injector: i,
|
|
59
63
|
root: '/api',
|
|
60
|
-
port
|
|
64
|
+
port,
|
|
61
65
|
api: {
|
|
62
66
|
GET: {
|
|
63
67
|
'/:id': createGetEntityEndpoint({ model: MockClass, primaryKey: 'id' }),
|
|
64
68
|
},
|
|
65
69
|
},
|
|
66
70
|
});
|
|
67
|
-
const result = await fetch(`http://127.0.0.1
|
|
71
|
+
const result = await fetch(`http://127.0.0.1:${port}/api/mock`, { method: 'GET' });
|
|
68
72
|
expect(result.status).toBe(404);
|
|
69
73
|
const body = await result.json();
|
|
70
74
|
expect(body).toEqual({ message: 'Entity not found' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-entity-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"create-get-entity-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.spec.ts"],"names":[],"mappings":"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"}
|