@forestadmin/agent 1.0.0-beta.45 → 1.0.0-beta.48
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/CHANGELOG.md +29 -0
- package/dist/agent/routes/access/api-chart.js +7 -5
- package/dist/agent/routes/security/authentication.js +5 -5
- package/dist/agent/services/index.js +2 -2
- package/dist/agent/services/serializer.d.ts +0 -5
- package/dist/agent/services/serializer.js +4 -4
- package/dist/agent/utils/forest-schema/emitter.d.ts +1 -1
- package/dist/agent/utils/forest-schema/emitter.js +4 -4
- package/dist/agent/utils/forest-schema/generator-actions.d.ts +1 -1
- package/dist/agent/utils/forest-schema/generator-actions.js +3 -3
- package/dist/agent/utils/forest-schema/generator-collection.d.ts +1 -1
- package/dist/agent/utils/forest-schema/generator-collection.js +3 -3
- package/dist/builder/agent.d.ts +3 -1
- package/dist/builder/agent.js +17 -16
- package/dist/builder/utils/options-validator.d.ts +1 -1
- package/dist/builder/utils/options-validator.js +9 -8
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,32 @@
|
|
|
1
|
+
# @forestadmin/agent [1.0.0-beta.48](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.47...@forestadmin/agent@1.0.0-beta.48) (2022-08-31)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **prefix:** allow all possible prefixes as defined in the RFC ([12e4cbd](https://github.com/ForestAdmin/agent-nodejs/commit/12e4cbd9c841e818c2b37b1da320a676e833c2b9))
|
|
7
|
+
|
|
8
|
+
# @forestadmin/agent [1.0.0-beta.47](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.46...@forestadmin/agent@1.0.0-beta.47) (2022-08-26)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **configuration:** make 'prefix' option work as intended ([#395](https://github.com/ForestAdmin/agent-nodejs/issues/395)) ([36b0783](https://github.com/ForestAdmin/agent-nodejs/commit/36b07836497dc5902194b857194bd23b45abd522))
|
|
14
|
+
|
|
15
|
+
# @forestadmin/agent [1.0.0-beta.46](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.45...@forestadmin/agent@1.0.0-beta.46) (2022-08-23)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **builder:** data-source charts are lost when mounted on the agent builder ([#367](https://github.com/ForestAdmin/agent-nodejs/issues/367)) ([35617d5](https://github.com/ForestAdmin/agent-nodejs/commit/35617d54e3a23c09fc49f99354b4d7f07e31df42))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Dependencies
|
|
27
|
+
|
|
28
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.27
|
|
29
|
+
|
|
1
30
|
# @forestadmin/agent [1.0.0-beta.45](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.44...@forestadmin/agent@1.0.0-beta.45) (2022-08-23)
|
|
2
31
|
|
|
3
32
|
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const uuid_1 = require("uuid");
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
7
8
|
const types_1 = require("../../types");
|
|
8
9
|
const base_route_1 = __importDefault(require("../base-route"));
|
|
9
10
|
const query_string_1 = __importDefault(require("../../utils/query-string"));
|
|
@@ -16,12 +17,13 @@ class ApiChartRoute extends base_route_1.default {
|
|
|
16
17
|
}
|
|
17
18
|
setupRoutes(router) {
|
|
18
19
|
// Mount both GET and POST, respectively for smart and api charts.
|
|
19
|
-
const
|
|
20
|
-
router.get(
|
|
21
|
-
router.post(
|
|
20
|
+
const suffix = `/_charts/${this.chartName}`;
|
|
21
|
+
router.get(suffix, this.handleSmartChart.bind(this));
|
|
22
|
+
router.post(suffix, this.handleApiChart.bind(this));
|
|
22
23
|
// Log the route to help the customer fill the url in the frontend
|
|
23
24
|
if (!this.options.isProduction) {
|
|
24
|
-
|
|
25
|
+
const url = path_1.default.posix.join('/', this.options.prefix, 'forest', suffix);
|
|
26
|
+
this.options.logger('Info', `Chart '${this.chartName}' was mounted at '${url}'`);
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
async handleApiChart(context) {
|
|
@@ -42,4 +44,4 @@ class ApiChartRoute extends base_route_1.default {
|
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
exports.default = ApiChartRoute;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNoYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FnZW50L3JvdXRlcy9hY2Nlc3MvYXBpLWNoYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsK0JBQW9DO0FBRXBDLGdEQUF3QjtBQUV4Qix1Q0FBa0U7QUFFbEUsK0RBQXNDO0FBQ3RDLDRFQUF5RDtBQUV6RCxNQUFxQixhQUFjLFNBQVEsb0JBQVM7SUFNbEQsWUFDRSxRQUF1QyxFQUN2QyxPQUFpQyxFQUNqQyxVQUFzQixFQUN0QixTQUFpQjtRQUVqQixLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBWGxCLFNBQUksR0FBRyxpQkFBUyxDQUFDLFlBQVksQ0FBQztRQWFyQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWM7UUFDeEIsa0VBQWtFO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLFlBQVksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNyRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXBELGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDOUIsTUFBTSxHQUFHLEdBQUcsY0FBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLENBQUMsU0FBUyxxQkFBcUIsR0FBRyxHQUFHLENBQUMsQ0FBQztTQUNsRjtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQWdCO1FBQzNDLHVEQUF1RDtRQUN2RCxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRztZQUN0QixJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLElBQUEsU0FBTSxHQUFFO2dCQUNaLElBQUksRUFBRSxPQUFPO2dCQUNiLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FDdEMsc0JBQWlCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUN0QyxJQUFJLENBQUMsU0FBUyxDQUNmO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFnQjtRQUM3QywrQ0FBK0M7UUFDL0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FDdkQsc0JBQWlCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUN0QyxJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF0REQsZ0NBc0RDIn0=
|
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const openid_client_1 = require("openid-client");
|
|
7
7
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
8
|
-
const path_1 = require("path");
|
|
9
8
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
10
9
|
const koa_jwt_1 = __importDefault(require("koa-jwt"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const types_1 = require("../../types");
|
|
12
12
|
const base_route_1 = __importDefault(require("../base-route"));
|
|
13
13
|
const forest_http_api_1 = __importDefault(require("../../utils/forest-http-api"));
|
|
@@ -17,9 +17,9 @@ class Authentication extends base_route_1.default {
|
|
|
17
17
|
this.type = types_1.RouteType.Authentication;
|
|
18
18
|
}
|
|
19
19
|
get redirectUrl() {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
const externalUrl = new URL(this.options.agentUrl);
|
|
21
|
+
return (externalUrl.origin +
|
|
22
|
+
path_1.default.posix.join('/', externalUrl.pathname, '/forest/authentication/callback'));
|
|
23
23
|
}
|
|
24
24
|
async bootstrap() {
|
|
25
25
|
// Retrieve OpenId Issuer from forestadmin-server
|
|
@@ -79,4 +79,4 @@ class Authentication extends base_route_1.default {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
exports.default = Authentication;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWdlbnQvcm91dGVzL3NlY3VyaXR5L2F1dGhlbnRpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQWlFO0FBQ2pFLHdFQUFrRTtBQUVsRSxnRUFBd0M7QUFDeEMsc0RBQTBCO0FBQzFCLGdEQUF3QjtBQUd4Qix1Q0FBd0M7QUFDeEMsK0RBQXNDO0FBQ3RDLGtGQUF3RDtBQUV4RCxNQUFxQixjQUFlLFNBQVEsb0JBQVM7SUFBckQ7O1FBQ1csU0FBSSxHQUFHLGlCQUFTLENBQUMsY0FBYyxDQUFDO0lBaUYzQyxDQUFDO0lBN0VDLElBQVksV0FBVztRQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5ELE9BQU8sQ0FDTCxXQUFXLENBQUMsTUFBTTtZQUNsQixjQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQyxDQUM5RSxDQUFDO0lBQ0osQ0FBQztJQUVRLEtBQUssQ0FBQyxTQUFTO1FBQ3RCLGlEQUFpRDtRQUNqRCxpRkFBaUY7UUFDakYsTUFBTSxNQUFNLEdBQUcsSUFBSSxzQkFBTSxDQUFDLE1BQU0seUJBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVyRixrREFBa0Q7UUFDbEQsTUFBTSxZQUFZLEdBQUc7WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNoQywwQkFBMEIsRUFBRSxNQUEwQjtZQUN0RCxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2xDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxTQUFTO1lBQ2xDLENBQUMs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
|
|
@@ -7,6 +7,6 @@ const permissions_1 = __importDefault(require("./permissions"));
|
|
|
7
7
|
const serializer_1 = __importDefault(require("./serializer"));
|
|
8
8
|
exports.default = (options) => ({
|
|
9
9
|
permissions: new permissions_1.default(options),
|
|
10
|
-
serializer: new serializer_1.default(
|
|
10
|
+
serializer: new serializer_1.default(),
|
|
11
11
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWdlbnQvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxnRUFBOEM7QUFDOUMsOERBQXNDO0FBT3RDLGtCQUFlLENBQUMsT0FBaUMsRUFBaUMsRUFBRSxDQUFDLENBQUM7SUFDcEYsV0FBVyxFQUFFLElBQUkscUJBQWlCLENBQUMsT0FBTyxDQUFDO0lBQzNDLFVBQVUsRUFBRSxJQUFJLG9CQUFVLEVBQUU7Q0FDN0IsQ0FBQyxDQUFDIn0=
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Collection, RecordData } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { AgentOptionsWithDefaults } from '../types';
|
|
3
|
-
declare type SerializerOptions = Pick<AgentOptionsWithDefaults, 'prefix'>;
|
|
4
2
|
export default class Serializer {
|
|
5
3
|
private readonly serializers;
|
|
6
|
-
private readonly prefix;
|
|
7
|
-
constructor(options: SerializerOptions);
|
|
8
4
|
serialize(collection: Collection, data: RecordData | RecordData[]): unknown;
|
|
9
5
|
deserialize(collection: Collection, body: unknown): RecordData;
|
|
10
6
|
serializeWithSearchMetadata(collection: Collection, data: RecordData[], searchValue: string): unknown;
|
|
@@ -13,5 +9,4 @@ export default class Serializer {
|
|
|
13
9
|
private buildRelationshipsConfiguration;
|
|
14
10
|
private stripUndefinedsInPlace;
|
|
15
11
|
}
|
|
16
|
-
export {};
|
|
17
12
|
//# sourceMappingURL=serializer.d.ts.map
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
7
7
|
const json_api_serializer_1 = __importDefault(require("json-api-serializer"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
8
9
|
const id_1 = __importDefault(require("../utils/id"));
|
|
9
10
|
class Serializer {
|
|
10
|
-
constructor(
|
|
11
|
+
constructor() {
|
|
11
12
|
// No need to keep references to serializers for outdated schemas => weakmap.
|
|
12
13
|
this.serializers = new WeakMap();
|
|
13
|
-
this.prefix = options.prefix;
|
|
14
14
|
}
|
|
15
15
|
serialize(collection, data) {
|
|
16
16
|
const result = this.getSerializer(collection).serialize(collection.name, data);
|
|
@@ -77,7 +77,7 @@ class Serializer {
|
|
|
77
77
|
}
|
|
78
78
|
buildRelationshipsConfiguration(collection) {
|
|
79
79
|
const relationships = {};
|
|
80
|
-
const urlPrefix =
|
|
80
|
+
const urlPrefix = path_1.default.posix.join('/forest', collection.name);
|
|
81
81
|
for (const [name, field] of Object.entries(collection.schema.fields)) {
|
|
82
82
|
if (field.type === 'ManyToOne' || field.type === 'OneToOne') {
|
|
83
83
|
relationships[name] = {
|
|
@@ -117,4 +117,4 @@ class Serializer {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
exports.default = Serializer;
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZ2VudC9zZXJ2aWNlcy9zZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0VBS3lDO0FBQ3pDLDhFQUFvRDtBQUNwRCxnREFBd0I7QUFFeEIscURBQWtDO0FBSWxDLE1BQXFCLFVBQVU7SUFBL0I7UUFDRSw2RUFBNkU7UUFDNUQsZ0JBQVcsR0FBaUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQXlJN0YsQ0FBQztJQXZJQyxTQUFTLENBQUMsVUFBc0IsRUFBRSxJQUErQjtRQUMvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQXNCLEVBQUUsSUFBYTtRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELDJCQUEyQixDQUN6QixVQUFzQixFQUN0QixJQUFrQixFQUNsQixXQUFtQjtRQUVuQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQWUsQ0FBQztRQUUvRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBb0IsQ0FBQztZQUNqRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQWtCLEVB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
|
|
@@ -5,7 +5,7 @@ declare type SerializedSchema = {
|
|
|
5
5
|
schemaFileHash: string;
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
|
-
declare type Options = Pick<AgentOptions, 'isProduction' | '
|
|
8
|
+
declare type Options = Pick<AgentOptions, 'isProduction' | 'schemaPath'>;
|
|
9
9
|
/**
|
|
10
10
|
* Generate and dispatch dataSource schema on agent start.
|
|
11
11
|
*/
|
|
@@ -18,7 +18,7 @@ class SchemaEmitter {
|
|
|
18
18
|
static async getSerializedSchema(options, dataSource) {
|
|
19
19
|
const schema = options.isProduction
|
|
20
20
|
? await SchemaEmitter.loadFromDisk(options.schemaPath)
|
|
21
|
-
: await SchemaEmitter.generate(
|
|
21
|
+
: await SchemaEmitter.generate(dataSource);
|
|
22
22
|
if (!options.isProduction) {
|
|
23
23
|
const pretty = (0, json_stringify_pretty_compact_1.default)(schema, { maxLength: 80 });
|
|
24
24
|
await (0, promises_1.writeFile)(options.schemaPath, pretty, { encoding: 'utf-8' });
|
|
@@ -35,9 +35,9 @@ class SchemaEmitter {
|
|
|
35
35
|
throw new Error(`Cannot load ${schemaPath}. Providing a schema is mandatory in production mode.`);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
static async generate(
|
|
38
|
+
static async generate(dataSource) {
|
|
39
39
|
const allCollectionSchemas = [];
|
|
40
|
-
const dataSourceCollectionSchemas = dataSource.collections.map(collection => generator_collection_1.default.buildSchema(
|
|
40
|
+
const dataSourceCollectionSchemas = dataSource.collections.map(collection => generator_collection_1.default.buildSchema(collection));
|
|
41
41
|
allCollectionSchemas.push(...dataSourceCollectionSchemas);
|
|
42
42
|
return Promise.all(allCollectionSchemas);
|
|
43
43
|
}
|
|
@@ -67,4 +67,4 @@ SchemaEmitter.meta = {
|
|
|
67
67
|
engine_version: process.versions && process.versions.node,
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZ2VudC91dGlscy9mb3Jlc3Qtc2NoZW1hL2VtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwwQ0FBa0Q7QUFDbEQsOEVBQW9EO0FBQ3BELG9EQUE0QjtBQUM1QixrR0FBc0Q7QUFJdEQsa0ZBQStEO0FBTS9ELDRDQUE0QztBQUM1Qyw4REFBOEQ7QUFDOUQsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBcUIsYUFBYTtJQVVoQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUM5QixPQUFnQixFQUNoQixVQUFzQjtRQUV0QixNQUFNLE1BQU0sR0FBYyxPQUFPLENBQUMsWUFBWTtZQUM1QyxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDdEQsQ0FBQyxDQUFDLE1BQU0sYUFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFBLHVDQUFTLEVBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsTUFBTSxJQUFBLG9CQUFTLEVBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELE1BQU0sSUFBSSxHQUFHLGdCQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBGLE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQWtCO1FBQ2xELElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsbUJBQVEsRUFBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUV0RSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDaEM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQ2IsZUFBZSxVQUFVLHVEQUF1RCxDQUNqRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBc0I7UUFDbEQsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFFaEMsTUFBTSwyQkFBMkIsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUMxRSw4QkFBeUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQ2xELENBQUM7UUFDRixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRywyQkFBMkIsQ0FBQyxDQUFDO1FBRTFELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWlCLEVBQUUsSUFBWTtRQUN0RCxtQkFBbUI7UUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSw2QkFBaUIsRUFBRSxDQUFDO1FBRTNDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ2pDLHFEQUFxRDtZQUNyRCxZQUFZLEVBQUUsQ0FBQyxTQUFrQixFQUFFLEVBQUUsQ0FBQyxTQUFTO1lBQy9DLGFBQWEsRUFBRTtnQkFDYixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM5QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkMsWUFBWTtRQUNaLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FDekIsYUFBYSxFQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZDLEVBQUUsR0FBRyxhQUFhLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztJQUN4QixDQUFDOztBQXhFSCxnQ0F5RUM7QUF4RXlCLGtCQUFJLEdBQUc7SUFDN0IsS0FBSyxFQUFFLHFCQUFxQjtJQUM1QixhQUFhLEVBQUUsT0FBTztJQUN0QixLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUsUUFBUTtRQUNoQixjQUFjLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7S0FDMUQ7Q0FDRixDQUFDIn0=
|
|
@@ -6,7 +6,7 @@ export default class SchemaGeneratorActions {
|
|
|
6
6
|
* This works around a bug in frontend which won't call the server if no fields are defined.
|
|
7
7
|
*/
|
|
8
8
|
static defaultFields: ForestServerActionField[];
|
|
9
|
-
static buildSchema(
|
|
9
|
+
static buildSchema(collection: Collection, name: string): Promise<ForestServerAction>;
|
|
10
10
|
/** Build schema for given field */
|
|
11
11
|
static buildFieldSchema(dataSource: DataSource, field: ActionField): ForestServerActionField;
|
|
12
12
|
private static buildFields;
|
|
@@ -7,7 +7,7 @@ const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const action_values_1 = __importDefault(require("./action-values"));
|
|
9
9
|
class SchemaGeneratorActions {
|
|
10
|
-
static async buildSchema(
|
|
10
|
+
static async buildSchema(collection, name) {
|
|
11
11
|
const schema = collection.schema.actions[name];
|
|
12
12
|
const actionIndex = Object.keys(collection.schema.actions).indexOf(name);
|
|
13
13
|
// Generate url-safe friendly name (which won't be unique, but that's OK).
|
|
@@ -18,7 +18,7 @@ class SchemaGeneratorActions {
|
|
|
18
18
|
name,
|
|
19
19
|
type: schema.scope.toLowerCase(),
|
|
20
20
|
baseUrl: null,
|
|
21
|
-
endpoint: path_1.default.posix.join('/
|
|
21
|
+
endpoint: path_1.default.posix.join('/forest/_actions', collection.name, String(actionIndex), slug),
|
|
22
22
|
httpMethod: 'POST',
|
|
23
23
|
redirect: null,
|
|
24
24
|
download: Boolean(schema.generateFile),
|
|
@@ -96,4 +96,4 @@ SchemaGeneratorActions.defaultFields = [
|
|
|
96
96
|
widget: null,
|
|
97
97
|
},
|
|
98
98
|
];
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWdlbnQvdXRpbHMvZm9yZXN0LXNjaGVtYS9nZW5lcmF0b3ItYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQVF5QztBQUN6QyxnREFBd0I7QUFHeEIsb0VBQW1EO0FBRW5ELE1BQXFCLHNCQUFzQjtJQXFCekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBc0IsRUFBRSxJQUFZO1FBQzNELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekUsMEVBQTBFO1FBQzFFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkUsTUFBTSxNQUFNLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRixPQUFPO1lBQ0wsRUFBRSxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO1lBQy9DLElBQUk7WUFDSixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQWtDO1lBQ2hFLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLGNBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUN6RixVQUFVLEVBQUUsTUFB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
|
|
@@ -2,6 +2,6 @@ import { Collection } from '@forestadmin/datasource-toolkit';
|
|
|
2
2
|
import { ForestServerCollection } from './types';
|
|
3
3
|
export default class SchemaGeneratorCollection {
|
|
4
4
|
/** Build forest-server schema for a collection */
|
|
5
|
-
static buildSchema(
|
|
5
|
+
static buildSchema(collection: Collection): Promise<ForestServerCollection>;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=generator-collection.d.ts.map
|
|
@@ -9,11 +9,11 @@ const generator_fields_1 = __importDefault(require("./generator-fields"));
|
|
|
9
9
|
const generator_segments_1 = __importDefault(require("./generator-segments"));
|
|
10
10
|
class SchemaGeneratorCollection {
|
|
11
11
|
/** Build forest-server schema for a collection */
|
|
12
|
-
static async buildSchema(
|
|
12
|
+
static async buildSchema(collection) {
|
|
13
13
|
return {
|
|
14
14
|
actions: await Promise.all(Object.keys(collection.schema.actions)
|
|
15
15
|
.sort()
|
|
16
|
-
.map(name => generator_actions_1.default.buildSchema(
|
|
16
|
+
.map(name => generator_actions_1.default.buildSchema(collection, name))),
|
|
17
17
|
fields: Object.keys(collection.schema.fields)
|
|
18
18
|
.filter(name => !datasource_toolkit_1.SchemaUtils.isForeignKey(collection.schema, name))
|
|
19
19
|
.sort()
|
|
@@ -33,4 +33,4 @@ class SchemaGeneratorCollection {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.default = SchemaGeneratorCollection;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWdlbnQvdXRpbHMvZm9yZXN0LXNjaGVtYS9nZW5lcmF0b3ItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQUEwRTtBQUUxRSw0RUFBeUQ7QUFDekQsMEVBQXVEO0FBQ3ZELDhFQUEyRDtBQUUzRCxNQUFxQix5QkFBeUI7SUFDNUMsa0RBQWtEO0lBQ2xELE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQXNCO1FBQzdDLE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2lCQUNuQyxJQUFJLEVBQUU7aUJBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsMkJBQXNCLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUNyRTtZQUNELE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2lCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdDQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ2xFLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBcUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25FLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQ3ZELEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FDckQ7WUFDRCxZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQzFDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFFBQVEsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVE7aUJBQ2pDLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBdUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE1QkQsNENBNEJDIn0=
|
package/dist/builder/agent.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ export default class AgentBuilder<S extends TSchema = TSchema> {
|
|
|
26
26
|
* clientId: null,
|
|
27
27
|
* forestServerUrl: 'https://api.forestadmin.com',
|
|
28
28
|
* logger: (level, data) => console.error(level, data),
|
|
29
|
-
* prefix: '/
|
|
29
|
+
* prefix: 'api/v1',
|
|
30
30
|
* schemaPath: '.forestadmin-schema.json',
|
|
31
31
|
* permissionsCacheDurationInSeconds: 15 * 60,
|
|
32
32
|
* ```
|
|
@@ -96,6 +96,8 @@ export default class AgentBuilder<S extends TSchema = TSchema> {
|
|
|
96
96
|
*/
|
|
97
97
|
start(): Promise<void>;
|
|
98
98
|
stop(): Promise<void>;
|
|
99
|
+
/** Compute the prefix that the main router should be mounted at in the client's application */
|
|
100
|
+
private get completeMountPrefix();
|
|
99
101
|
private useCallbackOnFastify;
|
|
100
102
|
private getConnectCallback;
|
|
101
103
|
}
|
package/dist/builder/agent.js
CHANGED
|
@@ -31,6 +31,7 @@ const promises_1 = require("fs/promises");
|
|
|
31
31
|
const koa_1 = __importDefault(require("koa"));
|
|
32
32
|
const router_1 = __importDefault(require("@koa/router"));
|
|
33
33
|
const http_1 = __importDefault(require("http"));
|
|
34
|
+
const path_1 = __importDefault(require("path"));
|
|
34
35
|
const collection_1 = __importDefault(require("./collection"));
|
|
35
36
|
const decorators_stack_1 = __importDefault(require("./decorators-stack"));
|
|
36
37
|
const forestadmin_http_driver_1 = __importDefault(require("../agent/forestadmin-http-driver"));
|
|
@@ -54,7 +55,7 @@ class AgentBuilder {
|
|
|
54
55
|
* clientId: null,
|
|
55
56
|
* forestServerUrl: 'https://api.forestadmin.com',
|
|
56
57
|
* logger: (level, data) => console.error(level, data),
|
|
57
|
-
* prefix: '/
|
|
58
|
+
* prefix: 'api/v1',
|
|
58
59
|
* schemaPath: '.forestadmin-schema.json',
|
|
59
60
|
* permissionsCacheDurationInSeconds: 15 * 60,
|
|
60
61
|
* ```
|
|
@@ -69,7 +70,7 @@ class AgentBuilder {
|
|
|
69
70
|
this.mounts = [];
|
|
70
71
|
this.termination = [];
|
|
71
72
|
this.options = options_validator_1.default.withDefaults(options);
|
|
72
|
-
this.compositeDataSource = new datasource_toolkit_1.
|
|
73
|
+
this.compositeDataSource = new datasource_toolkit_1.CompositeDatasource();
|
|
73
74
|
this.stack = new decorators_stack_1.default(this.compositeDataSource);
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
@@ -80,13 +81,9 @@ class AgentBuilder {
|
|
|
80
81
|
addDataSource(factory, options) {
|
|
81
82
|
this.customizations.push(async () => {
|
|
82
83
|
const dataSource = await factory(this.options.logger);
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
for (const collection of decorated.collections) {
|
|
88
|
-
this.compositeDataSource.addCollection(collection);
|
|
89
|
-
}
|
|
84
|
+
const renamedDecorator = new datasource_toolkit_1.RenameCollectionDataSourceDecorator(dataSource);
|
|
85
|
+
renamedDecorator.renameCollections(options?.rename);
|
|
86
|
+
this.compositeDataSource.addDataSource(renamedDecorator);
|
|
90
87
|
});
|
|
91
88
|
return this;
|
|
92
89
|
}
|
|
@@ -144,7 +141,7 @@ class AgentBuilder {
|
|
|
144
141
|
*/
|
|
145
142
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
146
143
|
mountOnExpress(express) {
|
|
147
|
-
express.use(
|
|
144
|
+
express.use(this.completeMountPrefix, this.getConnectCallback(false));
|
|
148
145
|
this.options.logger('Info', `Successfully mounted on Express.js`);
|
|
149
146
|
return this;
|
|
150
147
|
}
|
|
@@ -165,7 +162,7 @@ class AgentBuilder {
|
|
|
165
162
|
*/
|
|
166
163
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
167
164
|
mountOnKoa(koa) {
|
|
168
|
-
const parentRouter = new router_1.default({ prefix:
|
|
165
|
+
const parentRouter = new router_1.default({ prefix: this.completeMountPrefix });
|
|
169
166
|
koa.use(parentRouter.routes());
|
|
170
167
|
this.options.logger('Info', `Successfully mounted on Koa`);
|
|
171
168
|
this.mounts.push(async (router) => {
|
|
@@ -182,7 +179,7 @@ class AgentBuilder {
|
|
|
182
179
|
const adapter = nestJs.getHttpAdapter();
|
|
183
180
|
const callback = this.getConnectCallback(false);
|
|
184
181
|
if (adapter.constructor.name === 'ExpressAdapter') {
|
|
185
|
-
nestJs.use(
|
|
182
|
+
nestJs.use(this.completeMountPrefix, callback);
|
|
186
183
|
}
|
|
187
184
|
else {
|
|
188
185
|
this.useCallbackOnFastify(nestJs, callback);
|
|
@@ -214,11 +211,15 @@ class AgentBuilder {
|
|
|
214
211
|
for (const task of this.termination)
|
|
215
212
|
await task(); // eslint-disable-line no-await-in-loop
|
|
216
213
|
}
|
|
214
|
+
/** Compute the prefix that the main router should be mounted at in the client's application */
|
|
215
|
+
get completeMountPrefix() {
|
|
216
|
+
return path_1.default.posix.join('/', this.options.prefix, 'forest');
|
|
217
|
+
}
|
|
217
218
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
218
219
|
useCallbackOnFastify(fastify, callback) {
|
|
219
220
|
try {
|
|
220
221
|
// 'fastify 2' or 'middie' or 'fastify-express'
|
|
221
|
-
fastify.use(
|
|
222
|
+
fastify.use(this.completeMountPrefix, callback);
|
|
222
223
|
}
|
|
223
224
|
catch (e) {
|
|
224
225
|
// 'fastify 3'
|
|
@@ -226,7 +227,7 @@ class AgentBuilder {
|
|
|
226
227
|
fastify
|
|
227
228
|
.register(Promise.resolve().then(() => __importStar(require('@fastify/express'))))
|
|
228
229
|
.then(() => {
|
|
229
|
-
fastify.use(
|
|
230
|
+
fastify.use(this.completeMountPrefix, callback);
|
|
230
231
|
})
|
|
231
232
|
.catch(err => {
|
|
232
233
|
this.options.logger('Error', err.message);
|
|
@@ -242,7 +243,7 @@ class AgentBuilder {
|
|
|
242
243
|
this.mounts.push(async (driverRouter) => {
|
|
243
244
|
let router = driverRouter;
|
|
244
245
|
if (nested) {
|
|
245
|
-
router = new router_1.default({ prefix:
|
|
246
|
+
router = new router_1.default({ prefix: this.completeMountPrefix }).use(router.routes());
|
|
246
247
|
}
|
|
247
248
|
handler = new koa_1.default().use(router.routes()).callback();
|
|
248
249
|
});
|
|
@@ -258,4 +259,4 @@ class AgentBuilder {
|
|
|
258
259
|
}
|
|
259
260
|
}
|
|
260
261
|
exports.default = AgentBuilder;
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlci9hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0VBUXlDO0FBQ3pDLDBDQUF3QztBQUN4Qyw4Q0FBc0I7QUFDdEIseURBQWlDO0FBQ2pDLGdEQUF3QjtBQUN4QixnREFBd0I7QUFJeEIsOERBQTZDO0FBQzdDLDBFQUFpRDtBQUNqRCwrRkFBcUU7QUFDckUsa0ZBQXlEO0FBQ3pELGdGQUF1RDtBQUV2RDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFxQixZQUFZO0lBUS9COzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0gsWUFBWSxPQUFxQjtRQXJCekIsbUJBQWMsR0FBNEIsRUFBRSxDQUFDO1FBQzdDLFdBQU0sR0FBMEMsRUFBRSxDQUFDO1FBQ25ELGdCQUFXLEdBQTRCLEVBQUUsQ0FBQztRQW9CaEQsSUFBSSxDQUFDLE9BQU8sR0FBRywyQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksd0NBQW1CLEVBQWMsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksMEJBQWUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxPQUEwQixFQUFFLE9BQTJCO1FBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xDLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHdEQUFtQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzdFLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVwRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILFFBQVEsQ0FBQyxJQUFZLEVBQUUsVUFBOEI7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxtQkFBbUIsQ0FDakIsSUFBTyxFQUNQLE1BQXdEO1FBRXhELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLENBQUMsSUFBSSxvQkFBaUIsQ0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdkQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx1QkFBdUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLElBQUksR0FBRyxXQUFXO1FBQ3JELE1BQU0sTUFBTSxHQUFHLGNBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ2pCLE1BQU0sRUFDTixxREFBcUQsSUFBSSxJQUFJLElBQUksR0FBRyxDQUNyRSxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDL0IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsOERBQThEO0lBQzlELGNBQWMsQ0FBQyxPQUFZO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILDhEQUE4RDtJQUM5RCxjQUFjLENBQUMsT0FBWTtRQUN6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztRQUUvRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSCw4REFBOEQ7SUFDOUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxnQkFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFFdEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUMsTUFBTSxFQUFDLEVBQUU7WUFDOUIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7T0FHRztJQUNILDhEQUE4RDtJQUM5RCxhQUFhLENBQUMsTUFBVztRQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7WUFDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDaEQ7YUFBTTtZQUNMLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUU5RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1Qsa0JBQWtCO1FBQ2xCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsdUNBQXVDO1FBRTdGLCtCQUErQjtRQUMvQixNQUFNLE9BQU8sR0FBRywyQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXhELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ2hELE1BQU0sS0FBSyxHQUFHLDBCQUFlLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN4RixNQUFNLElBQUEsb0JBQVMsRUFBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQ0FBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RSxNQUFNLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU5QixNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUM7SUFDN0YsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7SUFDNUYsQ0FBQztJQUVELCtGQUErRjtJQUMvRixJQUFZLG1CQUFtQjtRQUM3QixPQUFPLGNBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsOERBQThEO0lBQ3RELG9CQUFvQixDQUFDLE9BQVksRUFBRSxRQUFzQjtRQUMvRCxJQUFJO1lBQ0YsK0NBQStDO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ2pEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixjQUFjO1lBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLDRCQUE0QixFQUFFO2dCQUMzQyxPQUFPO3FCQUNKLFFBQVEsbURBQVEsa0JBQWtCLElBQUU7cUJBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ2xELENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsQ0FBQzthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBZTtRQUN4QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLFlBQVksRUFBQyxFQUFFO1lBQ3BDLElBQUksTUFBTSxHQUFHLFlBQVksQ0FBQztZQUUxQixJQUFJLE1BQU0sRUFBRTtnQkFDVixNQUFNLEdBQUcsSUFBSSxnQkFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ2hGO1lBRUQsT0FBTyxHQUFHLElBQUksYUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNsQixJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO2lCQUFNO2dCQUNMLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztnQkFDM0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzVEO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBMVBELCtCQTBQQyJ9
|
|
@@ -2,7 +2,7 @@ import { AgentOptions } from '../../types';
|
|
|
2
2
|
import { AgentOptionsWithDefaults } from '../../agent/types';
|
|
3
3
|
export default class OptionsValidator {
|
|
4
4
|
private static loggerPrefix;
|
|
5
|
-
static withDefaults(options: AgentOptions):
|
|
5
|
+
static withDefaults(options: AgentOptions): AgentOptionsWithDefaults;
|
|
6
6
|
static validate(options: AgentOptions): AgentOptionsWithDefaults;
|
|
7
7
|
private static checkForestServerOptions;
|
|
8
8
|
private static checkAuthOptions;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
const fs_1 = require("fs");
|
|
4
|
-
const path_1 = require("path");
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
5
8
|
const DOCUMENTATION_URL = 'https://docs.forestadmin.com/beta-developer-guide-agents-v2/';
|
|
6
9
|
const RUNNING_ON_MULTIPLE_INSTANCES_PATH = 'extra-helps/running-forest-admin-on-multiple-instances';
|
|
7
10
|
class OptionsValidator {
|
|
@@ -18,12 +21,10 @@ class OptionsValidator {
|
|
|
18
21
|
copyOptions.schemaPath = copyOptions.schemaPath || '.forestadmin-schema.json';
|
|
19
22
|
copyOptions.forestServerUrl = copyOptions.forestServerUrl || 'https://api.forestadmin.com';
|
|
20
23
|
copyOptions.typingsMaxDepth = copyOptions.typingsMaxDepth ?? 5;
|
|
21
|
-
|
|
22
|
-
copyOptions.prefix ?? (copyOptions.prefix = (0, path_1.join)('/', parsed.pathname, 'forest'));
|
|
24
|
+
copyOptions.prefix = copyOptions.prefix || '';
|
|
23
25
|
return {
|
|
24
26
|
clientId: null,
|
|
25
27
|
loggerLevel: 'Info',
|
|
26
|
-
prefix: '/forest',
|
|
27
28
|
permissionsCacheDurationInSeconds: 15 * 60,
|
|
28
29
|
...copyOptions,
|
|
29
30
|
};
|
|
@@ -71,16 +72,16 @@ class OptionsValidator {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
static checkOtherOptions(options) {
|
|
74
|
-
if (typeof options.prefix !== 'string' ||
|
|
75
|
+
if (typeof options.prefix !== 'string' || !/^[-~/\w]*$/i.test(options.prefix)) {
|
|
75
76
|
throw new Error('options.prefix is invalid. It should contain the prefix on which ' +
|
|
76
|
-
'forest admin routes should be mounted (i.e. "/
|
|
77
|
+
'forest admin routes should be mounted (i.e. "/api/v1")');
|
|
77
78
|
}
|
|
78
79
|
}
|
|
79
80
|
static isExistingPath(string) {
|
|
80
81
|
if (typeof string !== 'string') {
|
|
81
82
|
return false;
|
|
82
83
|
}
|
|
83
|
-
const parsed =
|
|
84
|
+
const parsed = path_1.default.parse(string);
|
|
84
85
|
return parsed.dir.length ? (0, fs_1.existsSync)(parsed.dir) : true;
|
|
85
86
|
}
|
|
86
87
|
static isUrl(string) {
|
|
@@ -103,4 +104,4 @@ OptionsValidator.loggerPrefix = {
|
|
|
103
104
|
Warn: '\x1b[33mwarning:\x1b[0m',
|
|
104
105
|
Error: '\x1b[31merror:\x1b[0m',
|
|
105
106
|
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy12YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlci91dGlscy9vcHRpb25zLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJCQUFnQztBQUNoQyxnREFBd0I7QUFLeEIsTUFBTSxpQkFBaUIsR0FBRyw4REFBOEQsQ0FBQztBQUN6RixNQUFNLGtDQUFrQyxHQUFHLHdEQUF3RCxDQUFDO0FBRXBHLE1BQXFCLGdCQUFnQjtJQVFuQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQXFCO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUVuQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNwQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQztZQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUU5QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUM7UUFFRixXQUFXLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDO1FBQ3pELFdBQVcsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsSUFBSSwwQkFBMEIsQ0FBQztRQUM5RSxXQUFXLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLElBQUksNkJBQTZCLENBQUM7UUFDM0YsV0FBVyxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsZUFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/agent",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.48",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@fast-csv/format": "^4.3.5",
|
|
16
16
|
"@fastify/express": "^1.1.0",
|
|
17
|
-
"@forestadmin/datasource-toolkit": "1.0.0-beta.
|
|
17
|
+
"@forestadmin/datasource-toolkit": "1.0.0-beta.27",
|
|
18
18
|
"@koa/cors": "^3.3.0",
|
|
19
19
|
"@koa/router": "^10.1.1",
|
|
20
20
|
"forest-ip-utils": "^1.0.1",
|