@forestadmin/agent 1.0.0-beta.6 → 1.0.0-beta.9
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 +30 -0
- package/dist/agent/forestadmin-http-driver.d.ts +2 -2
- package/dist/agent/forestadmin-http-driver.js +4 -5
- package/dist/agent/routes/system/logger.js +4 -5
- package/dist/agent/utils/forest-schema/generator-collection.js +8 -3
- package/dist/agent/utils/http-driver-options.js +19 -10
- package/dist/builder/agent.d.ts +5 -4
- package/dist/builder/agent.js +19 -9
- package/dist/index.d.ts +2 -3
- package/dist/index.js +10 -6
- package/dist/types.d.ts +2 -8
- package/dist/types.js +1 -9
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
# @forestadmin/agent [1.0.0-beta.9](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.8...@forestadmin/agent@1.0.0-beta.9) (2022-04-25)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **agent:** force default value for some options when null or undefined are given ([#258](https://github.com/ForestAdmin/agent-nodejs/issues/258)) ([4d40954](https://github.com/ForestAdmin/agent-nodejs/commit/4d409542b80f21f7195ca1666fd42f2e36c6dc01))
|
|
7
|
+
* import packages from js ([#260](https://github.com/ForestAdmin/agent-nodejs/issues/260)) ([de00886](https://github.com/ForestAdmin/agent-nodejs/commit/de008862971ea5d3559e5a4c3136b0dd2161d760))
|
|
8
|
+
|
|
9
|
+
# @forestadmin/agent [1.0.0-beta.8](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.7...@forestadmin/agent@1.0.0-beta.8) (2022-04-21)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* harmonize datasource creation and pass logger to it ([#257](https://github.com/ForestAdmin/agent-nodejs/issues/257)) ([82cb4ea](https://github.com/ForestAdmin/agent-nodejs/commit/82cb4ea37ac0a9fe83423d917226dfd8fad7d0a6))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
* **@forestadmin/datasource-toolkit:** upgraded to 1.0.0-beta.6
|
|
23
|
+
|
|
24
|
+
# @forestadmin/agent [1.0.0-beta.7](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.6...@forestadmin/agent@1.0.0-beta.7) (2022-04-21)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* **cors:** handle future private network access header ([#259](https://github.com/ForestAdmin/agent-nodejs/issues/259)) ([e9442f8](https://github.com/ForestAdmin/agent-nodejs/commit/e9442f8aa508dd4e6c663f1641d3161d35da321a))
|
|
30
|
+
|
|
1
31
|
# @forestadmin/agent [1.0.0-beta.6](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/agent@1.0.0-beta.5...@forestadmin/agent@1.0.0-beta.6) (2022-04-19)
|
|
2
32
|
|
|
3
33
|
|
|
@@ -5,7 +5,7 @@ import { AgentOptions } from '../types';
|
|
|
5
5
|
import { AgentOptionsWithDefaults } from './types';
|
|
6
6
|
import BaseRoute from './routes/base-route';
|
|
7
7
|
import { ForestAdminHttpDriverServices } from './services';
|
|
8
|
-
/** Native
|
|
8
|
+
/** Native Node.js callback that can be passed to an HTTP Server */
|
|
9
9
|
export declare type HttpCallback = (req: IncomingMessage, res: ServerResponse) => void;
|
|
10
10
|
export default class ForestAdminHttpDriver {
|
|
11
11
|
readonly dataSource: DataSource;
|
|
@@ -16,7 +16,7 @@ export default class ForestAdminHttpDriver {
|
|
|
16
16
|
private status;
|
|
17
17
|
/**
|
|
18
18
|
* Native request handler.
|
|
19
|
-
* Can be used directly with express.js or the
|
|
19
|
+
* Can be used directly with express.js or the Node.js http module.
|
|
20
20
|
* Other frameworks will require adapters.
|
|
21
21
|
*/
|
|
22
22
|
get handler(): HttpCallback;
|
|
@@ -8,7 +8,6 @@ const router_1 = __importDefault(require("@koa/router"));
|
|
|
8
8
|
const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
|
|
9
9
|
const cors_1 = __importDefault(require("@koa/cors"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const types_1 = require("../types");
|
|
12
11
|
const forest_http_api_1 = __importDefault(require("./utils/forest-http-api"));
|
|
13
12
|
const http_driver_options_1 = __importDefault(require("./utils/http-driver-options"));
|
|
14
13
|
const emitter_1 = __importDefault(require("./utils/forest-schema/emitter"));
|
|
@@ -26,7 +25,7 @@ class ForestAdminHttpDriver {
|
|
|
26
25
|
}
|
|
27
26
|
/**
|
|
28
27
|
* Native request handler.
|
|
29
|
-
* Can be used directly with express.js or the
|
|
28
|
+
* Can be used directly with express.js or the Node.js http module.
|
|
30
29
|
* Other frameworks will require adapters.
|
|
31
30
|
*/
|
|
32
31
|
get handler() {
|
|
@@ -47,7 +46,7 @@ class ForestAdminHttpDriver {
|
|
|
47
46
|
this.routes.forEach(route => route.setupRoutes(router));
|
|
48
47
|
await Promise.all(this.routes.map(route => route.bootstrap()));
|
|
49
48
|
this.app
|
|
50
|
-
.use((0, cors_1.default)({ credentials: true, maxAge: 24 * 3600 }))
|
|
49
|
+
.use((0, cors_1.default)({ credentials: true, maxAge: 24 * 3600, privateNetworkAccess: true }))
|
|
51
50
|
.use((0, koa_bodyparser_1.default)({ jsonLimit: '50mb' }))
|
|
52
51
|
.use(router.routes());
|
|
53
52
|
// Send schema to forestadmin-server (if relevant).
|
|
@@ -56,7 +55,7 @@ class ForestAdminHttpDriver {
|
|
|
56
55
|
if (!schemaIsKnown) {
|
|
57
56
|
await forest_http_api_1.default.uploadSchema(this.options, schema);
|
|
58
57
|
}
|
|
59
|
-
this.options?.logger(
|
|
58
|
+
this.options?.logger('Info', 'Started');
|
|
60
59
|
}
|
|
61
60
|
/**
|
|
62
61
|
* Tear down all routes (close open sockets, ...)
|
|
@@ -70,4 +69,4 @@ class ForestAdminHttpDriver {
|
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
71
|
exports.default = ForestAdminHttpDriver;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0YWRtaW4taHR0cC1kcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWdlbnQvZm9yZXN0YWRtaW4taHR0cC1kcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSw4Q0FBc0I7QUFDdEIseURBQWlDO0FBQ2pDLG9FQUF3QztBQUN4QyxxREFBNkI7QUFDN0IsZ0RBQXdCO0FBS3hCLDhFQUFvRDtBQUNwRCxzRkFBdUQ7QUFDdkQsNEVBQTBEO0FBQzFELHNEQUFrQztBQUNsQywwREFBeUU7QUFLekUsTUFBcUIscUJBQXFCO0lBa0J4QyxZQUFZLFVBQXNCLEVBQUUsT0FBcUI7UUFkbEQsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFFZixRQUFHLEdBQUcsSUFBSSxhQUFHLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQW1DLFNBQVMsQ0FBQztRQVl6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLDZCQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBQSxrQkFBWSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUzQyw2QkFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQWZEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQVVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUV4Qix5QkFBeUI7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQkFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLGNBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBQSxnQkFBVSxFQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsR0FBRzthQUNMLEdBQUcsQ0FBQyxJQUFBLGNBQUksRUFBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUMvRSxHQUFHLENBQUMsSUFBQSx3QkFBVSxFQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDdEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhCLG1EQUFtRDtRQUNuRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEYsTUFBTSxhQUFhLEdBQUcsTUFBTSx5QkFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFOUYsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixNQUFNLHlCQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBdEVELHdDQXNFQyJ9
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const types_1 = require("../../types");
|
|
7
|
-
const types_2 = require("../../../types");
|
|
8
7
|
const base_route_1 = __importDefault(require("../base-route"));
|
|
9
8
|
class Logger extends base_route_1.default {
|
|
10
9
|
constructor() {
|
|
@@ -20,11 +19,11 @@ class Logger extends base_route_1.default {
|
|
|
20
19
|
await next();
|
|
21
20
|
}
|
|
22
21
|
finally {
|
|
23
|
-
let logLevel =
|
|
22
|
+
let logLevel = 'Info';
|
|
24
23
|
if (context.response.status >= types_1.HttpCode.BadRequest)
|
|
25
|
-
logLevel =
|
|
24
|
+
logLevel = 'Warn';
|
|
26
25
|
if (context.response.status >= types_1.HttpCode.InternalServerError)
|
|
27
|
-
logLevel =
|
|
26
|
+
logLevel = 'Error';
|
|
28
27
|
let message = `[${context.response.status}]`;
|
|
29
28
|
message += ` ${context.request.method} ${context.request.path}`;
|
|
30
29
|
message += ` - ${Date.now() - timer}ms`;
|
|
@@ -33,4 +32,4 @@ class Logger extends base_route_1.default {
|
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
exports.default = Logger;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FnZW50L3JvdXRlcy9zeXN0ZW0vbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0EsdUNBQWtEO0FBQ2xELCtEQUFzQztBQUV0QyxNQUFxQixNQUFPLFNBQVEsb0JBQVM7SUFBN0M7O1FBQ0UsU0FBSSxHQUFHLGlCQUFTLENBQUMsTUFBTSxDQUFDO0lBdUIxQixDQUFDO0lBckJDLFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFnQixFQUFFLElBQVU7UUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUk7WUFDRixNQUFNLElBQUksRUFBRSxDQUFDO1NBQ2Q7Z0JBQVM7WUFDUixJQUFJLFFBQVEsR0FBZ0IsTUFBTSxDQUFDO1lBQ25DLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksZ0JBQVEsQ0FBQyxVQUFVO2dCQUFFLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDdEUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxnQkFBUSxDQUFDLG1CQUFtQjtnQkFBRSxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBRWhGLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUM3QyxPQUFPLElBQUksSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLElBQUksQ0FBQztZQUV4QyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0NBQ0Y7QUF4QkQseUJBd0JDIn0=
|
|
@@ -11,9 +11,12 @@ class SchemaGeneratorCollection {
|
|
|
11
11
|
/** Build forest-server schema for a collection */
|
|
12
12
|
static async buildSchema(prefix, collection) {
|
|
13
13
|
return {
|
|
14
|
-
actions: await Promise.all(Object.keys(collection.schema.actions)
|
|
14
|
+
actions: await Promise.all(Object.keys(collection.schema.actions)
|
|
15
|
+
.sort()
|
|
16
|
+
.map(name => generator_actions_1.default.buildSchema(prefix, collection, name))),
|
|
15
17
|
fields: Object.keys(collection.schema.fields)
|
|
16
18
|
.filter(name => !datasource_toolkit_1.SchemaUtils.isForeignKey(collection.schema, name))
|
|
19
|
+
.sort()
|
|
17
20
|
.map(name => generator_fields_1.default.buildSchema(collection, name)),
|
|
18
21
|
icon: null,
|
|
19
22
|
integration: null,
|
|
@@ -23,9 +26,11 @@ class SchemaGeneratorCollection {
|
|
|
23
26
|
name: collection.name,
|
|
24
27
|
onlyForRelationships: false,
|
|
25
28
|
paginationType: 'page',
|
|
26
|
-
segments: collection.schema.segments
|
|
29
|
+
segments: collection.schema.segments
|
|
30
|
+
.sort()
|
|
31
|
+
.map(name => generator_segments_1.default.buildSchema(collection, name)),
|
|
27
32
|
};
|
|
28
33
|
}
|
|
29
34
|
}
|
|
30
35
|
exports.default = SchemaGeneratorCollection;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWdlbnQvdXRpbHMvZm9yZXN0LXNjaGVtYS9nZW5lcmF0b3ItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQUEwRTtBQUUxRSw0RUFBeUQ7QUFDekQsMEVBQXVEO0FBQ3ZELDhFQUEyRDtBQUUzRCxNQUFxQix5QkFBeUI7SUFDNUMsa0RBQWtEO0lBQ2xELE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUN0QixNQUFjLEVBQ2QsVUFBc0I7UUFFdEIsT0FBTztZQUNMLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7aUJBQ25DLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywyQkFBc0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUM3RTtZQUNELE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2lCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGdDQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQ2xFLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBcUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25FLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQ3ZELEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FDckQ7WUFDRCxZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQzFDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFFBQVEsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVE7aUJBQ2pDLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBdUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUEvQkQsNENBK0JDIn0=
|
|
@@ -2,17 +2,25 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const fs_1 = require("fs");
|
|
4
4
|
const path_1 = require("path");
|
|
5
|
-
const types_1 = require("../../types");
|
|
6
5
|
class OptionsUtils {
|
|
7
6
|
static withDefaults(options) {
|
|
7
|
+
const copyOptions = { ...options };
|
|
8
|
+
const defaultLogger = (level, data) => {
|
|
9
|
+
const loggerLevel = options.loggerLevel ?? 'Info';
|
|
10
|
+
const levels = Object.keys(this.loggerPrefix);
|
|
11
|
+
if (levels.indexOf(level) >= levels.indexOf(loggerLevel)) {
|
|
12
|
+
console.error(OptionsUtils.loggerPrefix[level], data);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
copyOptions.logger = copyOptions.logger || defaultLogger;
|
|
16
|
+
copyOptions.schemaPath = copyOptions.schemaPath || '.forestadmin-schema.json';
|
|
17
|
+
copyOptions.forestServerUrl = copyOptions.forestServerUrl || 'https://api.forestadmin.com';
|
|
8
18
|
return Object.freeze({
|
|
9
19
|
clientId: null,
|
|
10
|
-
|
|
11
|
-
logger: (level, data) => console.error(OptionsUtils.loggerPrefix[level], data),
|
|
20
|
+
loggerLevel: 'Info',
|
|
12
21
|
prefix: '/forest',
|
|
13
|
-
schemaPath: '.forestadmin-schema.json',
|
|
14
22
|
permissionsCacheDurationInSeconds: 15 * 60,
|
|
15
|
-
...
|
|
23
|
+
...copyOptions,
|
|
16
24
|
});
|
|
17
25
|
}
|
|
18
26
|
static validate(options) {
|
|
@@ -44,7 +52,7 @@ class OptionsUtils {
|
|
|
44
52
|
'(i.e. "OfpssLrbgF3P4vHJTTpb"');
|
|
45
53
|
}
|
|
46
54
|
if (options.clientId === null) {
|
|
47
|
-
options.logger?.(
|
|
55
|
+
options.logger?.('Warn', 'options.clientId was not provided. Using NodeJS cluster mode, ' +
|
|
48
56
|
'or multiple instances of the agent will break authentication');
|
|
49
57
|
}
|
|
50
58
|
else if (typeof options.clientId !== 'string') {
|
|
@@ -79,8 +87,9 @@ class OptionsUtils {
|
|
|
79
87
|
}
|
|
80
88
|
exports.default = OptionsUtils;
|
|
81
89
|
OptionsUtils.loggerPrefix = {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
90
|
+
Debug: '\x1b[34mdebug:\x1b[0m',
|
|
91
|
+
Info: '\x1b[32minfo:\x1b[0m',
|
|
92
|
+
Warn: '\x1b[33mwarning:\x1b[0m',
|
|
93
|
+
Error: '\x1b[31merror:\x1b[0m',
|
|
85
94
|
};
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kcml2ZXItb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZ2VudC91dGlscy9odHRwLWRyaXZlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQWdDO0FBQ2hDLCtCQUEwQztBQUsxQyxNQUFxQixZQUFZO0lBUS9CLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBcUI7UUFDdkMsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRW5DLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO1lBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTlDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN4RCxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDdkQ7UUFDSCxDQUFDLENBQUM7UUFFRixXQUFXLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDO1FBQ3pELFdBQVcsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsSUFBSSwwQkFBMEIsQ0FBQztRQUM5RSxXQUFXLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLElBQUksNkJBQTZCLENBQUM7UUFFM0YsT0FBaUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUM3QyxRQUFRLEVBQUUsSUFBSTtZQUNkLFdBQVcsRUFBRSxNQUFNO1lBQ25CLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLGlDQUFpQyxFQUFFLEVB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
|
package/dist/builder/agent.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionCollectionDecorator, BaseDataSource, Collection, ComputedCollectionDecorator,
|
|
1
|
+
import { ActionCollectionDecorator, BaseDataSource, Collection, ComputedCollectionDecorator, DataSourceDecorator, DataSourceFactory, OperatorsEmulateCollectionDecorator, OperatorsReplaceCollectionDecorator, PublicationCollectionDecorator, RelationCollectionDecorator, RenameCollectionDecorator, SearchCollectionDecorator, SegmentCollectionDecorator, SortEmulateCollectionDecorator, WriteCollectionDecorator } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
import { AgentOptions } from '../types';
|
|
3
3
|
import CollectionBuilder from './collection';
|
|
4
4
|
import ForestAdminHttpDriver, { HttpCallback } from '../agent/forestadmin-http-driver';
|
|
@@ -29,6 +29,7 @@ export default class AgentBuilder {
|
|
|
29
29
|
segment: DataSourceDecorator<SegmentCollectionDecorator>;
|
|
30
30
|
sortEmulate: DataSourceDecorator<SortEmulateCollectionDecorator>;
|
|
31
31
|
write: DataSourceDecorator<WriteCollectionDecorator>;
|
|
32
|
+
private tasks;
|
|
32
33
|
/**
|
|
33
34
|
* Native nodejs HttpCallback object
|
|
34
35
|
* @example
|
|
@@ -43,7 +44,7 @@ export default class AgentBuilder {
|
|
|
43
44
|
* ```
|
|
44
45
|
* clientId: null,
|
|
45
46
|
* forestServerUrl: 'https://api.forestadmin.com',
|
|
46
|
-
* logger: (level, data) => console.error(
|
|
47
|
+
* logger: (level, data) => console.error(level, data),
|
|
47
48
|
* prefix: '/forest',
|
|
48
49
|
* schemaPath: '.forestadmin-schema.json',
|
|
49
50
|
* permissionsCacheDurationInSeconds: 15 * 60,
|
|
@@ -57,9 +58,9 @@ export default class AgentBuilder {
|
|
|
57
58
|
constructor(options: AgentOptions);
|
|
58
59
|
/**
|
|
59
60
|
* Add a datasource
|
|
60
|
-
* @param {
|
|
61
|
+
* @param {DataSourceFactory} factory the datasource to add
|
|
61
62
|
*/
|
|
62
|
-
addDatasource(
|
|
63
|
+
addDatasource(factory: DataSourceFactory): this;
|
|
63
64
|
/**
|
|
64
65
|
* Allow to interact with a decorated collection
|
|
65
66
|
* @param {string} name the name of the collection to manipulate
|
package/dist/builder/agent.js
CHANGED
|
@@ -23,7 +23,7 @@ class AgentBuilder {
|
|
|
23
23
|
* ```
|
|
24
24
|
* clientId: null,
|
|
25
25
|
* forestServerUrl: 'https://api.forestadmin.com',
|
|
26
|
-
* logger: (level, data) => console.error(
|
|
26
|
+
* logger: (level, data) => console.error(level, data),
|
|
27
27
|
* prefix: '/forest',
|
|
28
28
|
* schemaPath: '.forestadmin-schema.json',
|
|
29
29
|
* permissionsCacheDurationInSeconds: 15 * 60,
|
|
@@ -35,6 +35,7 @@ class AgentBuilder {
|
|
|
35
35
|
* .start();
|
|
36
36
|
*/
|
|
37
37
|
constructor(options) {
|
|
38
|
+
this.tasks = [];
|
|
38
39
|
let last;
|
|
39
40
|
/* eslint-disable no-multi-assign */
|
|
40
41
|
last = this.compositeDatasource = new datasource_toolkit_1.BaseDataSource();
|
|
@@ -74,11 +75,14 @@ class AgentBuilder {
|
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
76
77
|
* Add a datasource
|
|
77
|
-
* @param {
|
|
78
|
+
* @param {DataSourceFactory} factory the datasource to add
|
|
78
79
|
*/
|
|
79
|
-
addDatasource(
|
|
80
|
-
|
|
81
|
-
this.
|
|
80
|
+
addDatasource(factory) {
|
|
81
|
+
this.tasks.push(async () => {
|
|
82
|
+
const datasource = await factory(this.forestAdminHttpDriver.options.logger);
|
|
83
|
+
datasource.collections.forEach(collection => {
|
|
84
|
+
this.compositeDatasource.addCollection(collection);
|
|
85
|
+
});
|
|
82
86
|
});
|
|
83
87
|
return this;
|
|
84
88
|
}
|
|
@@ -91,15 +95,21 @@ class AgentBuilder {
|
|
|
91
95
|
* .customizeCollection('books', books => books.renameField('xx', 'yy'))
|
|
92
96
|
*/
|
|
93
97
|
customizeCollection(name, handle) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
this.tasks.push(async () => {
|
|
99
|
+
if (this.publication.getCollection(name)) {
|
|
100
|
+
handle(new collection_1.default(this, name));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
97
103
|
return this;
|
|
98
104
|
}
|
|
99
105
|
/**
|
|
100
106
|
* Start the agent.
|
|
101
107
|
*/
|
|
102
108
|
async start() {
|
|
109
|
+
for (const task of this.tasks) {
|
|
110
|
+
// eslint-disable-next-line no-await-in-loop
|
|
111
|
+
await task();
|
|
112
|
+
}
|
|
103
113
|
return this.forestAdminHttpDriver.start();
|
|
104
114
|
}
|
|
105
115
|
/**
|
|
@@ -110,4 +120,4 @@ class AgentBuilder {
|
|
|
110
120
|
}
|
|
111
121
|
}
|
|
112
122
|
exports.default = AgentBuilder;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGRlci9hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQWlCeUM7QUFHekMsOERBQTZDO0FBQzdDLCtGQUF1RjtBQUV2Rjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFxQixZQUFZO0lBb0MvQjs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNILFlBQVksT0FBcUI7UUE5QnpCLFVBQUssR0FBNEIsRUFBRSxDQUFDO1FBK0IxQyxJQUFJLElBQWdCLENBQUM7UUFFckIsb0NBQW9DO1FBQ3BDLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxtQ0FBYyxFQUFjLENBQUM7UUFFbkUsNkZBQTZGO1FBQzdGLHNFQUFzRTtRQUN0RSwyRkFBMkY7UUFDM0YsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx3Q0FBbUIsQ0FBQyxJQUFJLEVBQUUsZ0RBQTJCLENBQUMsQ0FBQztRQUN2RixJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLHdDQUFtQixDQUFDLElBQUksRUFBRSx3REFBbUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksd0NBQW1CLENBQUMsSUFBSSxFQUFFLHdEQUFtQyxDQUFDLENBQUM7UUFDaEcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx3Q0FBbUIsQ0FBQyxJQUFJLEVBQUUsZ0RBQTJCLENBQUMsQ0FBQztRQUNsRixJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHdDQUFtQixDQUFDLElBQUksRUFBRSxnREFBMkIsQ0FBQyxDQUFDO1FBQ3RGLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksd0NBQW1CLENBQUMsSUFBSSxFQUFFLHdEQUFtQyxDQUFDLENBQUM7UUFDL0YsSUFBSSxHQUFHLElBQUksQ0FB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
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export * from './types';
|
|
1
|
+
export { default as Agent } from './builder/agent';
|
|
3
2
|
export { default as Collection } from './builder/collection';
|
|
4
|
-
export
|
|
3
|
+
export * from './types';
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -13,10 +17,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
18
|
};
|
|
15
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.Collection = void 0;
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
exports.Collection = exports.Agent = void 0;
|
|
21
|
+
var agent_1 = require("./builder/agent");
|
|
22
|
+
Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return __importDefault(agent_1).default; } });
|
|
19
23
|
var collection_1 = require("./builder/collection");
|
|
20
24
|
Object.defineProperty(exports, "Collection", { enumerable: true, get: function () { return __importDefault(collection_1).default; } });
|
|
21
|
-
exports
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
__exportStar(require("./types"), exports);
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBbUQ7QUFBMUMsK0dBQUEsT0FBTyxPQUFTO0FBQ3pCLG1EQUE2RDtBQUFwRCx5SEFBQSxPQUFPLE9BQWM7QUFDOUIsMENBQXdCIn0=
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export declare enum LoggerLevel {
|
|
3
|
-
Info = "info",
|
|
4
|
-
Warn = "warn",
|
|
5
|
-
Error = "error"
|
|
6
|
-
}
|
|
7
|
-
/** Logger */
|
|
8
|
-
export declare type Logger = (level: LoggerLevel, message: unknown) => void;
|
|
1
|
+
import { Logger, LoggerLevel } from '@forestadmin/datasource-toolkit';
|
|
9
2
|
/** Options to configure behavior of an agent's forestadmin driver */
|
|
10
3
|
export declare type AgentOptions = {
|
|
11
4
|
agentUrl: string;
|
|
@@ -14,6 +7,7 @@ export declare type AgentOptions = {
|
|
|
14
7
|
envSecret: string;
|
|
15
8
|
forestServerUrl?: string;
|
|
16
9
|
logger?: Logger;
|
|
10
|
+
loggerLevel?: LoggerLevel;
|
|
17
11
|
prefix?: string;
|
|
18
12
|
isProduction: boolean;
|
|
19
13
|
schemaPath?: string;
|
package/dist/types.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
/** Logger Level */
|
|
5
|
-
var LoggerLevel;
|
|
6
|
-
(function (LoggerLevel) {
|
|
7
|
-
LoggerLevel["Info"] = "info";
|
|
8
|
-
LoggerLevel["Warn"] = "warn";
|
|
9
|
-
LoggerLevel["Error"] = "error";
|
|
10
|
-
})(LoggerLevel = exports.LoggerLevel || (exports.LoggerLevel = {}));
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUJBQW1CO0FBQ25CLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2IsNEJBQWEsQ0FBQTtJQUNiLDhCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBSXRCIn0=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
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.9",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@fast-csv/format": "^4.3.5",
|
|
16
|
-
"@forestadmin/datasource-toolkit": "1.0.0-beta.
|
|
17
|
-
"@koa/cors": "^3.
|
|
16
|
+
"@forestadmin/datasource-toolkit": "1.0.0-beta.6",
|
|
17
|
+
"@koa/cors": "^3.3.0",
|
|
18
18
|
"@koa/router": "^10.1.1",
|
|
19
19
|
"forest-ip-utils": "^1.0.1",
|
|
20
20
|
"json-api-serializer": "^2.6.6",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"koa-jwt": "^4.0.3",
|
|
26
26
|
"lru-cache": "^7.3.1",
|
|
27
27
|
"luxon": "^2.3.0",
|
|
28
|
-
"object-hash": "^
|
|
28
|
+
"object-hash": "^3.0.0",
|
|
29
29
|
"openid-client": "5.1.3",
|
|
30
30
|
"superagent": "^7.0.1",
|
|
31
31
|
"uuid": "^8.3.2"
|