@forestadmin/agent 1.4.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.js +26 -9
- package/dist/routes/security/ip-whitelist.js +2 -3
- package/dist/routes/system/error-handling.js +9 -2
- package/dist/utils/forest-http-api.d.ts +0 -14
- package/dist/utils/forest-http-api.js +1 -36
- package/dist/utils/forest-schema/generator-actions.d.ts +1 -1
- package/dist/utils/forest-schema/generator-actions.js +1 -1
- package/dist/utils/forest-schema/generator-collection.d.ts +2 -2
- package/dist/utils/forest-schema/generator-collection.js +3 -3
- package/dist/utils/forest-schema/generator-fields.d.ts +1 -1
- package/dist/utils/forest-schema/generator-fields.js +1 -1
- package/dist/utils/forest-schema/generator-segments.d.ts +1 -1
- package/dist/utils/forest-schema/generator-segments.js +1 -1
- package/dist/utils/forest-schema/validation.d.ts +1 -1
- package/dist/utils/forest-schema/validation.js +9 -9
- package/package.json +2 -2
- package/dist/utils/forest-schema/emitter.d.ts +0 -17
- package/dist/utils/forest-schema/emitter.js +0 -38
- package/dist/utils/forest-schema/schema-generator.d.ts +0 -6
- package/dist/utils/forest-schema/schema-generator.js +0 -13
- package/dist/utils/forest-schema/schema-serializer.d.ts +0 -12
- package/dist/utils/forest-schema/schema-serializer.js +0 -35
- package/dist/utils/forest-schema/types.d.ts +0 -85
- package/dist/utils/forest-schema/types.js +0 -16
package/dist/agent.js
CHANGED
|
@@ -7,12 +7,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
const datasource_customizer_1 = require("@forestadmin/datasource-customizer");
|
|
8
8
|
const cors_1 = __importDefault(require("@koa/cors"));
|
|
9
9
|
const router_1 = __importDefault(require("@koa/router"));
|
|
10
|
+
const promises_1 = require("fs/promises");
|
|
11
|
+
const json_stringify_pretty_compact_1 = __importDefault(require("json-stringify-pretty-compact"));
|
|
10
12
|
const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
|
|
11
13
|
const framework_mounter_1 = __importDefault(require("./framework-mounter"));
|
|
12
14
|
const routes_1 = __importDefault(require("./routes"));
|
|
13
15
|
const services_1 = __importDefault(require("./services"));
|
|
14
|
-
const
|
|
15
|
-
const emitter_1 = __importDefault(require("./utils/forest-schema/emitter"));
|
|
16
|
+
const generator_collection_1 = __importDefault(require("./utils/forest-schema/generator-collection"));
|
|
16
17
|
const options_validator_1 = __importDefault(require("./utils/options-validator"));
|
|
17
18
|
/**
|
|
18
19
|
* Allow to create a new Forest Admin agent from scratch.
|
|
@@ -131,16 +132,32 @@ class Agent extends framework_mounter_1.default {
|
|
|
131
132
|
* Send the apimap to forest admin server
|
|
132
133
|
*/
|
|
133
134
|
async sendSchema(dataSource) {
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
const { schemaPath } = this.options;
|
|
136
|
+
// Load or generate schema
|
|
137
|
+
let schema;
|
|
138
|
+
if (this.options.isProduction) {
|
|
139
|
+
try {
|
|
140
|
+
schema = JSON.parse(await (0, promises_1.readFile)(schemaPath, { encoding: 'utf-8' }));
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
throw new Error(`Can't load ${schemaPath}. Providing a schema is mandatory in production.`);
|
|
144
|
+
}
|
|
139
145
|
}
|
|
140
146
|
else {
|
|
141
|
-
|
|
147
|
+
schema = await Promise.all(dataSource.collections.map(c => generator_collection_1.default.buildSchema(c)));
|
|
148
|
+
const pretty = (0, json_stringify_pretty_compact_1.default)(schema, { maxLength: 80 });
|
|
149
|
+
await (0, promises_1.writeFile)(schemaPath, pretty, { encoding: 'utf-8' });
|
|
142
150
|
}
|
|
151
|
+
// Send schema to forest servers
|
|
152
|
+
const name = 'forest-nodejs-agent';
|
|
153
|
+
const { version } = require('../package.json'); // eslint-disable-line @typescript-eslint/no-var-requires,global-require,max-len
|
|
154
|
+
const updated = await this.options.forestAdminClient.postSchema(schema, name, version);
|
|
155
|
+
// Log
|
|
156
|
+
const message = updated
|
|
157
|
+
? 'Schema was updated, sending new version'
|
|
158
|
+
: 'Schema was not updated since last run';
|
|
159
|
+
this.options.logger('Info', message);
|
|
143
160
|
}
|
|
144
161
|
}
|
|
145
162
|
exports.default = Agent;
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsOEVBUTRDO0FBRzVDLHFEQUE2QjtBQUM3Qix5REFBaUM7QUFDakMsMENBQWtEO0FBQ2xELGtHQUFzRDtBQUN0RCxvRUFBd0M7QUFFeEMsNEVBQW1EO0FBQ25ELHNEQUFrQztBQUNsQywwREFBc0M7QUFFdEMsc0dBQXlFO0FBQ3pFLGtGQUF5RDtBQUV6RDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFxQixLQUFtQyxTQUFRLDJCQUFnQjtJQUk5RTs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxZQUFZLE9BQXFCO1FBQy9CLE1BQU0sVUFBVSxHQUFHLDJCQUFnQixDQUFDLFFBQVEsQ0FBQywyQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRixLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLDRDQUFvQixFQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ00sS0FBSyxDQUFDLEtBQUs7UUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUU5RCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFDM0IsQ0FB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
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const forest_ip_utils_1 = __importDefault(require("forest-ip-utils"));
|
|
7
7
|
const types_1 = require("../../types");
|
|
8
|
-
const forest_http_api_1 = __importDefault(require("../../utils/forest-http-api"));
|
|
9
8
|
const base_route_1 = __importDefault(require("../base-route"));
|
|
10
9
|
class IpWhitelist extends base_route_1.default {
|
|
11
10
|
constructor() {
|
|
@@ -17,7 +16,7 @@ class IpWhitelist extends base_route_1.default {
|
|
|
17
16
|
}
|
|
18
17
|
/** Load whitelist */
|
|
19
18
|
async bootstrap() {
|
|
20
|
-
this.configuration = await
|
|
19
|
+
this.configuration = await this.options.forestAdminClient.getIpWhitelistConfiguration();
|
|
21
20
|
}
|
|
22
21
|
async checkIp(context, next) {
|
|
23
22
|
if (this.configuration.isFeatureEnabled) {
|
|
@@ -32,4 +31,4 @@ class IpWhitelist extends base_route_1.default {
|
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
33
|
exports.default = IpWhitelist;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtd2hpdGVsaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JvdXRlcy9zZWN1cml0eS9pcC13aGl0ZWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxzRUFBcUM7QUFHckMsdUNBQWtEO0FBQ2xELCtEQUFzQztBQUV0QyxNQUFxQixXQUFZLFNBQVEsb0JBQVM7SUFBbEQ7O1FBQ0UsU0FBSSxHQUFHLGlCQUFTLENBQUMsY0FBYyxDQUFDO0lBMEJsQyxDQUFDO0lBdEJDLFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQscUJBQXFCO0lBQ1osS0FBSyxDQUFDLFNBQVM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUMxRixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFnQixFQUFFLElBQVU7UUFDeEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFO1lBQ3ZDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLHlCQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBRWxGLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFRLENBQUMsU0FBUyxFQUFFLHdCQUF3QixTQUFTLEdBQUcsQ0FBQyxDQUFDO2FBQ2hGO1NBQ0Y7UUFFRCxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQTNCRCw4QkEyQkMifQ==
|
|
@@ -28,6 +28,7 @@ class ErrorHandling extends base_route_1.default {
|
|
|
28
28
|
{
|
|
29
29
|
name: this.getErrorName(e),
|
|
30
30
|
detail: this.getErrorMessage(e),
|
|
31
|
+
// We needed to maintaining this due to the frontend app/utils/ember-error-util.js
|
|
31
32
|
status,
|
|
32
33
|
...(data ? { data } : {}),
|
|
33
34
|
},
|
|
@@ -67,7 +68,13 @@ class ErrorHandling extends base_route_1.default {
|
|
|
67
68
|
return error.constructor.name;
|
|
68
69
|
}
|
|
69
70
|
getErrorPayload(error) {
|
|
70
|
-
|
|
71
|
+
if (error instanceof koa_1.HttpError ||
|
|
72
|
+
error instanceof datasource_toolkit_1.ValidationError ||
|
|
73
|
+
error instanceof datasource_toolkit_1.UnprocessableError ||
|
|
74
|
+
error instanceof datasource_toolkit_1.ForbiddenError) {
|
|
75
|
+
return error.data;
|
|
76
|
+
}
|
|
77
|
+
return null;
|
|
71
78
|
}
|
|
72
79
|
debugLogError(context, error) {
|
|
73
80
|
const { request } = context;
|
|
@@ -89,4 +96,4 @@ class ErrorHandling extends base_route_1.default {
|
|
|
89
96
|
}
|
|
90
97
|
}
|
|
91
98
|
exports.default = ErrorHandling;
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVzL3N5c3RlbS9lcnJvci1oYW5kbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQUl5QztBQUV6Qyw2QkFBK0M7QUFFL0MsdUNBQWtEO0FBQ2xELCtEQUFzQztBQUV0QyxNQUFxQixhQUFjLFNBQVEsb0JBQVM7SUFBcEQ7O1FBQ0UsU0FBSSxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDO0lBaUdoQyxDQUFDO0lBL0ZDLFdBQVcsQ0FBQyxNQUFjO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFnQixFQUFFLElBQVU7UUFDckQsSUFBSTtZQUNGLE1BQU0sSUFBSSxFQUFFLENBQUM7U0FDZDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXJDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNqQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRztnQkFDdEIsTUFBTSxFQUFFO29CQUNOO3dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzt3QkFDMUIsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO3dCQUMvQixrRkFBa0Y7d0JBQ2xGLE1BQU07d0JBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FC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
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import { JSONAPIDocument } from 'json-api-serializer';
|
|
2
1
|
import { IssuerMetadata } from 'openid-client';
|
|
3
2
|
import { AgentOptions } from '../types';
|
|
4
|
-
export declare type IpWhitelistConfiguration = {
|
|
5
|
-
isFeatureEnabled: boolean;
|
|
6
|
-
ipRules: Array<{
|
|
7
|
-
type: number;
|
|
8
|
-
ipMinimum?: string;
|
|
9
|
-
ipMaximum?: string;
|
|
10
|
-
ip?: string;
|
|
11
|
-
range?: string;
|
|
12
|
-
}>;
|
|
13
|
-
};
|
|
14
3
|
export declare type UserInfo = {
|
|
15
4
|
id: number;
|
|
16
5
|
email: string;
|
|
@@ -26,11 +15,8 @@ export declare type UserInfo = {
|
|
|
26
15
|
};
|
|
27
16
|
declare type HttpOptions = Pick<AgentOptions, 'envSecret' | 'forestServerUrl' | 'isProduction'>;
|
|
28
17
|
export default class ForestHttpApi {
|
|
29
|
-
static getIpWhitelistConfiguration(options: HttpOptions): Promise<IpWhitelistConfiguration>;
|
|
30
18
|
static getOpenIdIssuerMetadata(options: HttpOptions): Promise<IssuerMetadata>;
|
|
31
19
|
static getUserInformation(options: HttpOptions, renderingId: number, accessToken: string): Promise<UserInfo>;
|
|
32
|
-
static hasSchema(options: HttpOptions, hash: string): Promise<boolean>;
|
|
33
|
-
static uploadSchema(options: HttpOptions, apimap: JSONAPIDocument): Promise<void>;
|
|
34
20
|
private static handleResponseError;
|
|
35
21
|
}
|
|
36
22
|
export {};
|
|
@@ -5,18 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const superagent_1 = __importDefault(require("superagent"));
|
|
7
7
|
class ForestHttpApi {
|
|
8
|
-
static async getIpWhitelistConfiguration(options) {
|
|
9
|
-
try {
|
|
10
|
-
const response = await superagent_1.default
|
|
11
|
-
.get(new URL('/liana/v1/ip-whitelist-rules', options.forestServerUrl).toString())
|
|
12
|
-
.set('forest-secret-key', options.envSecret);
|
|
13
|
-
const { attributes } = response.body.data;
|
|
14
|
-
return { isFeatureEnabled: attributes.use_ip_whitelist, ipRules: attributes.rules };
|
|
15
|
-
}
|
|
16
|
-
catch (e) {
|
|
17
|
-
this.handleResponseError(e);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
8
|
static async getOpenIdIssuerMetadata(options) {
|
|
21
9
|
try {
|
|
22
10
|
const response = await superagent_1.default
|
|
@@ -52,29 +40,6 @@ class ForestHttpApi {
|
|
|
52
40
|
this.handleResponseError(e);
|
|
53
41
|
}
|
|
54
42
|
}
|
|
55
|
-
static async hasSchema(options, hash) {
|
|
56
|
-
try {
|
|
57
|
-
const response = await superagent_1.default
|
|
58
|
-
.post(new URL('/forest/apimaps/hashcheck', options.forestServerUrl).toString())
|
|
59
|
-
.send({ schemaFileHash: hash })
|
|
60
|
-
.set('forest-secret-key', options.envSecret);
|
|
61
|
-
return !response?.body?.sendSchema;
|
|
62
|
-
}
|
|
63
|
-
catch (e) {
|
|
64
|
-
this.handleResponseError(e);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
static async uploadSchema(options, apimap) {
|
|
68
|
-
try {
|
|
69
|
-
await superagent_1.default
|
|
70
|
-
.post(new URL('/forest/apimaps', options.forestServerUrl).toString())
|
|
71
|
-
.send(apimap)
|
|
72
|
-
.set('forest-secret-key', options.envSecret);
|
|
73
|
-
}
|
|
74
|
-
catch (e) {
|
|
75
|
-
this.handleResponseError(e);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
43
|
static handleResponseError(e) {
|
|
79
44
|
if (/certificate/i.test(e.message))
|
|
80
45
|
throw new Error('ForestAdmin server TLS certificate cannot be verified. ' +
|
|
@@ -97,4 +62,4 @@ class ForestHttpApi {
|
|
|
97
62
|
}
|
|
98
63
|
}
|
|
99
64
|
exports.default = ForestHttpApi;
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWh0dHAtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2ZvcmVzdC1odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDREQUFpRTtBQWtCakUsTUFBcUIsYUFBYTtJQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLE9BQW9CO1FBQ3ZELElBQUk7WUFDRixNQUFNLFFBQVEsR0FBYSxNQUFNLG9CQUFVO2lCQUN4QyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsd0NBQXdDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUMxRixHQUFHLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztTQUN0QjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQzdCLE9BQW9CLEVBQ3BCLFdBQW1CLEVBQ25CLFdBQW1CO1FBRW5CLElBQUk7WUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FDakIsd0JBQXdCLFdBQVcsZ0JBQWdCLEVBQ25ELE9BQU8sQ0FBQyxlQUFlLENBQ3hCLENBQUM7WUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFVO2lCQUM5QixHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUNuQixHQUFHLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztpQkFDaEMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUvQyxNQUFNLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRTlDLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO2dCQUN2QixTQUFTLEVBQUUsVUFBVSxDQUFDLFVBQVU7Z0JBQ2hDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUztnQkFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hGLFdBQVc7Z0JBQ1gsZUFBZSxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7YUFDN0MsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQVE7UUFDekMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FDYix5REFBeUQ7Z0JBQ3ZELHFEQUFxRCxDQUN4RCxDQUFDO1FBRUosSUFBSyxDQUFtQixDQUFDLFFBQVEsRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBSSxDQUFtQixFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUM7WUFFdEQsOENBQThDO1lBQzlDLElBQUksTUFBTSxLQUFLLENBQUMsSUFBSSxNQUFNLEtBQUssR0FBRztnQkFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1lBRXpFLElBQUksTUFBTSxLQUFLLEdBQUc7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0ZBQXdGO29CQUN0RiwwRUFBMEUsQ0FDN0UsQ0FBQztZQUVKLElBQUksTUFBTSxLQUFLLEdBQUc7Z0JBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0ZBQWtGO29CQUNoRiw4REFBOEQsQ0FDakUsQ0FBQztZQUVKLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0VBQXdFO2dCQUN0RSxvRUFBb0UsQ0FDdkUsQ0FBQztTQUNIO1FBRUQsTUFBTSxDQUFDLENBQUM7SUFDVixDQUFDO0NBQ0Y7QUFqRkQsZ0NBaUZDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ActionField, Collection, DataSource } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { ForestServerAction, ForestServerActionField } from '
|
|
2
|
+
import { ForestServerAction, ForestServerActionField } from '@forestadmin/forestadmin-client';
|
|
3
3
|
export default class SchemaGeneratorActions {
|
|
4
4
|
/**
|
|
5
5
|
* 'fields' sent to forestadmin-server when we want to generate the form on demand.
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZm9yZXN0LXNjaGVtYS9nZW5lcmF0b3ItYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQVF5QztBQUV6QyxnREFBd0I7QUFFeEIsb0VBQW1EO0FBRW5ELE1BQXFCLHNCQUFzQjtJQXFCekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBc0IsRUFBRSxJQUFZO1FBQzNELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekUsMEVBQTBFO1FBQzFFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkUsTUFBTSxNQUFNLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVsRixPQUFPO1lBQ0wsRUFBRSxFQUFFLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO1lBQy9DLElBQUk7WUFDSixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQWtDO1lBQ2hFLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLGNBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUN6RixVQUFVLEVBQUUsTUFBTTtZQUNsQixR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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Collection } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { ForestServerCollection } from '
|
|
3
|
-
export default class
|
|
2
|
+
import { ForestServerCollection } from '@forestadmin/forestadmin-client';
|
|
3
|
+
export default class SchemaGenerator {
|
|
4
4
|
/** Build forest-server schema for a collection */
|
|
5
5
|
static buildSchema(collection: Collection): Promise<ForestServerCollection>;
|
|
6
6
|
private static buildActions;
|
|
@@ -7,7 +7,7 @@ const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
|
7
7
|
const generator_actions_1 = __importDefault(require("./generator-actions"));
|
|
8
8
|
const generator_fields_1 = __importDefault(require("./generator-fields"));
|
|
9
9
|
const generator_segments_1 = __importDefault(require("./generator-segments"));
|
|
10
|
-
class
|
|
10
|
+
class SchemaGenerator {
|
|
11
11
|
/** Build forest-server schema for a collection */
|
|
12
12
|
static async buildSchema(collection) {
|
|
13
13
|
return {
|
|
@@ -44,5 +44,5 @@ class SchemaGeneratorCollection {
|
|
|
44
44
|
.map(name => generator_segments_1.default.buildSchema(collection, name));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
exports.default =
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
exports.default = SchemaGenerator;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZm9yZXN0LXNjaGVtYS9nZW5lcmF0b3ItY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQUEwRTtBQVExRSw0RUFBeUQ7QUFDekQsMEVBQXVEO0FBQ3ZELDhFQUEyRDtBQUUzRCxNQUFxQixlQUFlO0lBQ2xDLGtEQUFrRDtJQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFzQjtRQUM3QyxPQUFPO1lBQ0wsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7WUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQ3BDLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFLElBQUk7WUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQ3ZELEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FDckQ7WUFDRCxZQUFZLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQzFDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSTtZQUNyQixvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBc0I7UUFDaEQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ25DLElBQUksRUFBRTthQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUFzQixDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDckUsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQXNCO1FBQy9DLHlGQUF5RjtRQUN6Riw4RkFBOEY7UUFDOUYsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2FBQ3pDLE1BQU0sQ0FDTCxJQUFJLENBQUMsRUFBRSxDQUNMLGdDQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ2pELENBQUMsZ0NBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDckQ7YUFDQSxJQUFJLEVBQUU7YUFDTixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBcUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBc0I7UUFDakQsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVE7YUFDOUIsSUFBSSxFQUFFO2FBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQXVCLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQTlDRCxrQ0E4Q0MifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { ForestServerField } from '
|
|
2
|
+
import { ForestServerField } from '@forestadmin/forestadmin-client';
|
|
3
3
|
export default class SchemaGeneratorFields {
|
|
4
4
|
private static relationMap;
|
|
5
5
|
static buildSchema(collection: Collection, name: string): ForestServerField;
|
|
@@ -163,4 +163,4 @@ SchemaGeneratorFields.relationMap = {
|
|
|
163
163
|
OneToMany: 'HasMany',
|
|
164
164
|
OneToOne: 'HasOne',
|
|
165
165
|
};
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLWZpZWxkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9mb3Jlc3Qtc2NoZW1hL2dlbmVyYXRvci1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFheUM7QUFHekMsOERBQW1EO0FBQ25ELDhEQUFtRDtBQUVuRCxNQUFxQixxQkFBcUI7SUFReEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFzQixFQUFFLElBQVk7UUFDckQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhELElBQUksTUFBeUIsQ0FBQztRQUU5QixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssUUFBUTtnQkFDWCxNQUFNLEdBQUcscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuRSxNQUFNO1lBRVIsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxZQUFZLENBQUM7WUFDbEIsS0FBSyxVQUFVO2dCQUNiLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JFLE1BQU07WUFFUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDekM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO2FBQzFCLElBQUksRUFBRTthQUNOLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3JDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFFMUIsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVP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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Collection, CollectionSchema } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { ForestServerSegment } from '
|
|
2
|
+
import { ForestServerSegment } from '@forestadmin/forestadmin-client';
|
|
3
3
|
export default class SchemaGeneratorSegments {
|
|
4
4
|
static buildSchema(collection: Collection, name: CollectionSchema['segments'][number]): ForestServerSegment;
|
|
5
5
|
}
|
|
@@ -6,4 +6,4 @@ class SchemaGeneratorSegments {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
exports.default = SchemaGeneratorSegments;
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLXNlZ21lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2ZvcmVzdC1zY2hlbWEvZ2VuZXJhdG9yLXNlZ21lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsTUFBcUIsdUJBQXVCO0lBQzFDLE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFVBQXNCLEVBQ3RCLElBQTBDO1FBRTFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FDRjtBQVBELDBDQU9DIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ColumnSchema } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { ForestServerField } from '
|
|
2
|
+
import { ForestServerField } from '@forestadmin/forestadmin-client';
|
|
3
3
|
declare type FrontendValidation = ForestServerField['validations'][number];
|
|
4
4
|
declare type Validation = ColumnSchema['validation'][number];
|
|
5
5
|
export default class FrontendValidationUtils {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const forestadmin_client_1 = require("@forestadmin/forestadmin-client");
|
|
4
4
|
class FrontendValidationUtils {
|
|
5
5
|
static convertValidationList(rules) {
|
|
6
6
|
if (!rules)
|
|
@@ -17,12 +17,12 @@ class FrontendValidationUtils {
|
|
|
17
17
|
}
|
|
18
18
|
exports.default = FrontendValidationUtils;
|
|
19
19
|
FrontendValidationUtils.operatorValidationTypeMap = {
|
|
20
|
-
Present:
|
|
21
|
-
GreaterThan:
|
|
22
|
-
LessThan:
|
|
23
|
-
LongerThan:
|
|
24
|
-
ShorterThan:
|
|
25
|
-
Contains:
|
|
26
|
-
Like:
|
|
20
|
+
Present: forestadmin_client_1.ValidationType.Present,
|
|
21
|
+
GreaterThan: forestadmin_client_1.ValidationType.GreaterThan,
|
|
22
|
+
LessThan: forestadmin_client_1.ValidationType.LessThan,
|
|
23
|
+
LongerThan: forestadmin_client_1.ValidationType.LongerThan,
|
|
24
|
+
ShorterThan: forestadmin_client_1.ValidationType.ShorterThan,
|
|
25
|
+
Contains: forestadmin_client_1.ValidationType.Contains,
|
|
26
|
+
Like: forestadmin_client_1.ValidationType.Like,
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9mb3Jlc3Qtc2NoZW1hL3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSx3RUFBb0Y7QUFLcEYsTUFBcUIsdUJBQXVCO0lBVzFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFvQjtRQUMvQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLE9BQU8sS0FBSzthQUNULEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNWLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5RSxNQUFNLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyRixNQUFNLE9BQU8sR0FBRyw0QkFBNEIsS0FBSyxHQUFHLENBQUM7WUFFckQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDNUQsQ0FBQyxDQUFDO2FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLENBQUM7O0FBdkJILDBDQXdCQztBQXZCZ0IsaURBQXlCLEdBQThDO0lBQ3BGLE9BQU8sRUFBRSxtQ0FBYyxDQUFDLE9BQU87SUFDL0IsV0FBVyxFQUFFLG1DQUFjLENBQUMsV0FBVztJQUN2QyxRQUFRLEVBQUUsbUNBQWMsQ0FBQyxRQUFRO0lBQ2pDLFVBQVUsRUFBRSxtQ0FBYyxDQUFDLFVBQVU7SUFDckMsV0FBVyxFQUFFLG1DQUFjLENBQUMsV0FBVztJQUN2QyxRQUFRLEVBQUUsbUNBQWMsQ0FBQyxRQUFRO0lBQ2pDLElBQUksRUFBRSxtQ0FBYyxDQUFDLElBQUk7Q0FDMUIsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/agent",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@fastify/express": "^1.1.0",
|
|
17
17
|
"@forestadmin/datasource-customizer": "1.4.2",
|
|
18
18
|
"@forestadmin/datasource-toolkit": "1.1.1",
|
|
19
|
-
"@forestadmin/forestadmin-client": "1.0.
|
|
19
|
+
"@forestadmin/forestadmin-client": "1.0.1",
|
|
20
20
|
"@koa/cors": "^3.3.0",
|
|
21
21
|
"@koa/router": "^10.1.1",
|
|
22
22
|
"forest-ip-utils": "^1.0.1",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DataSource } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { AgentOptions } from '../../types';
|
|
3
|
-
declare type SerializedSchema = {
|
|
4
|
-
meta: {
|
|
5
|
-
schemaFileHash: string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
declare type Options = Pick<AgentOptions, 'isProduction' | 'schemaPath'>;
|
|
9
|
-
/**
|
|
10
|
-
* Generate and dispatch dataSource schema on agent start.
|
|
11
|
-
*/
|
|
12
|
-
export default class SchemaEmitter {
|
|
13
|
-
static getSerializedSchema(options: Options, dataSource: DataSource): Promise<SerializedSchema>;
|
|
14
|
-
private static loadFromDisk;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=emitter.d.ts.map
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const promises_1 = require("fs/promises");
|
|
7
|
-
const json_stringify_pretty_compact_1 = __importDefault(require("json-stringify-pretty-compact"));
|
|
8
|
-
const schema_generator_1 = __importDefault(require("./schema-generator"));
|
|
9
|
-
const schema_serializer_1 = __importDefault(require("./schema-serializer"));
|
|
10
|
-
// Load version from package.json at startup
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
12
|
-
const { version } = require('../../../package.json');
|
|
13
|
-
/**
|
|
14
|
-
* Generate and dispatch dataSource schema on agent start.
|
|
15
|
-
*/
|
|
16
|
-
class SchemaEmitter {
|
|
17
|
-
static async getSerializedSchema(options, dataSource) {
|
|
18
|
-
const schema = options.isProduction
|
|
19
|
-
? await SchemaEmitter.loadFromDisk(options.schemaPath)
|
|
20
|
-
: await schema_generator_1.default.generate(dataSource);
|
|
21
|
-
if (!options.isProduction) {
|
|
22
|
-
const pretty = (0, json_stringify_pretty_compact_1.default)(schema, { maxLength: 80 });
|
|
23
|
-
await (0, promises_1.writeFile)(options.schemaPath, pretty, { encoding: 'utf-8' });
|
|
24
|
-
}
|
|
25
|
-
return schema_serializer_1.default.serialize(schema, version);
|
|
26
|
-
}
|
|
27
|
-
static async loadFromDisk(schemaPath) {
|
|
28
|
-
try {
|
|
29
|
-
const fileContent = await (0, promises_1.readFile)(schemaPath, { encoding: 'utf-8' });
|
|
30
|
-
return JSON.parse(fileContent);
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
throw new Error(`Cannot load ${schemaPath}. Providing a schema is mandatory in production mode.`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.default = SchemaEmitter;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9mb3Jlc3Qtc2NoZW1hL2VtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwwQ0FBa0Q7QUFDbEQsa0dBQXNEO0FBR3RELDBFQUFpRDtBQUNqRCw0RUFBbUQ7QUFPbkQsNENBQTRDO0FBQzVDLDhEQUE4RDtBQUM5RCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFxQixhQUFhO0lBQ2hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQzlCLE9BQWdCLEVBQ2hCLFVBQXNCO1FBRXRCLE1BQU0sTUFBTSxHQUFjLE9BQU8sQ0FBQyxZQUFZO1lBQzVDLENBQUMsQ0FBQyxNQUFNLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUN0RCxDQUFDLENBQUMsTUFBTSwwQkFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFBLHVDQUFTLEVBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsTUFBTSxJQUFBLG9CQUFTLEVBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELE9BQU8sMkJBQWdCLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBa0I7UUFDbEQsSUFBSTtZQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBRXRFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FDYixlQUFlLFVBQVUsdURBQXVELENBQ2pGLENBQUM7U0FDSDtJQUNILENBQUM7Q0FDRjtBQTVCRCxnQ0E0QkMifQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { DataSource } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
import { ForestServerCollection } from './types';
|
|
3
|
-
export default class SchemaGenerator {
|
|
4
|
-
static generate(dataSource: DataSource): Promise<ForestServerCollection[]>;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=schema-generator.d.ts.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const generator_collection_1 = __importDefault(require("./generator-collection"));
|
|
7
|
-
class SchemaGenerator {
|
|
8
|
-
static async generate(dataSource) {
|
|
9
|
-
return Promise.all(dataSource.collections.map(collection => generator_collection_1.default.buildSchema(collection)));
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.default = SchemaGenerator;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9mb3Jlc3Qtc2NoZW1hL3NjaGVtYS1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxrRkFBK0Q7QUFHL0QsTUFBcUIsZUFBZTtJQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFzQjtRQUMxQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsOEJBQXlCLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzVGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFORCxrQ0FNQyJ9
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ForestServerCollection } from './types';
|
|
2
|
-
declare type SerializedSchema = {
|
|
3
|
-
meta: {
|
|
4
|
-
schemaFileHash: string;
|
|
5
|
-
};
|
|
6
|
-
};
|
|
7
|
-
export default class SchemaSerializer {
|
|
8
|
-
private static readonly meta;
|
|
9
|
-
static serialize(schema: ForestServerCollection[], lianaVersion: string): SerializedSchema;
|
|
10
|
-
}
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=schema-serializer.d.ts.map
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
7
|
-
const json_api_serializer_1 = __importDefault(require("json-api-serializer"));
|
|
8
|
-
class SchemaSerializer {
|
|
9
|
-
static serialize(schema, lianaVersion) {
|
|
10
|
-
const hash = crypto_1.default.createHash('sha1').update(JSON.stringify(schema)).digest('hex');
|
|
11
|
-
// Build serializer
|
|
12
|
-
const serializer = new json_api_serializer_1.default();
|
|
13
|
-
serializer.register('collections', {
|
|
14
|
-
// Pass the metadata provided to the serialization fn
|
|
15
|
-
topLevelMeta: (extraData) => extraData,
|
|
16
|
-
relationships: {
|
|
17
|
-
segments: { type: 'segments' },
|
|
18
|
-
actions: { type: 'actions' },
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
serializer.register('segments', {});
|
|
22
|
-
serializer.register('actions', {});
|
|
23
|
-
// Serialize
|
|
24
|
-
return serializer.serialize('collections', schema.map(c => ({ id: c.name, ...c })), { ...SchemaSerializer.meta, liana_version: lianaVersion, schemaFileHash: hash });
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.default = SchemaSerializer;
|
|
28
|
-
SchemaSerializer.meta = {
|
|
29
|
-
liana: 'forest-nodejs-agent',
|
|
30
|
-
stack: {
|
|
31
|
-
engine: 'nodejs',
|
|
32
|
-
engine_version: process.versions && process.versions.node,
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLXNlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZm9yZXN0LXNjaGVtYS9zY2hlbWEtc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1Qiw4RUFBb0Q7QUFNcEQsTUFBcUIsZ0JBQWdCO0lBU25DLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBZ0MsRUFBRSxZQUFvQjtRQUNyRSxNQUFNLElBQUksR0FBRyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRixtQkFBbUI7UUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSw2QkFBaUIsRUFBRSxDQUFDO1FBRTNDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ2pDLHFEQUFxRDtZQUNyRCxZQUFZLEVBQUUsQ0FBQyxTQUFrQixFQUFFLEVBQUUsQ0FBQyxTQUFTO1lBQy9DLGFBQWEsRUFBRTtnQkFDYixRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM5QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFbkMsWUFBWTtRQUNaLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FDekIsYUFBYSxFQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZDLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQzVELENBQUM7SUFDeEIsQ0FBQzs7QUFoQ0gsbUNBaUNDO0FBaEN5QixxQkFBSSxHQUFHO0lBQzdCLEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLFFBQVE7UUFDaEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJO0tBQzFEO0NBQ0YsQ0FBQyJ9
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { PrimitiveTypes } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
export declare type ForestServerColumnType = PrimitiveTypes | [ForestServerColumnType] | {
|
|
3
|
-
fields: Array<{
|
|
4
|
-
field: string;
|
|
5
|
-
type: ForestServerColumnType;
|
|
6
|
-
}>;
|
|
7
|
-
};
|
|
8
|
-
export declare type ForestServerCollection = {
|
|
9
|
-
name: string;
|
|
10
|
-
icon: null;
|
|
11
|
-
integration: null;
|
|
12
|
-
isReadOnly: boolean;
|
|
13
|
-
isSearchable: boolean;
|
|
14
|
-
isVirtual: false;
|
|
15
|
-
onlyForRelationships: boolean;
|
|
16
|
-
paginationType: 'page';
|
|
17
|
-
actions: Array<ForestServerAction>;
|
|
18
|
-
fields: Array<ForestServerField>;
|
|
19
|
-
segments: Array<ForestServerSegment>;
|
|
20
|
-
};
|
|
21
|
-
export declare type ForestServerAction = {
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
type: 'single' | 'bulk' | 'global';
|
|
25
|
-
baseUrl: string;
|
|
26
|
-
endpoint: string;
|
|
27
|
-
httpMethod: 'POST';
|
|
28
|
-
redirect: unknown;
|
|
29
|
-
download: boolean;
|
|
30
|
-
fields: ForestServerActionField[];
|
|
31
|
-
hooks: {
|
|
32
|
-
load: boolean;
|
|
33
|
-
change: Array<unknown>;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export declare type ForestServerActionField = {
|
|
37
|
-
value: unknown;
|
|
38
|
-
defaultValue: unknown;
|
|
39
|
-
description: string | null;
|
|
40
|
-
enums: string[];
|
|
41
|
-
field: string;
|
|
42
|
-
hook: string;
|
|
43
|
-
isReadOnly: boolean;
|
|
44
|
-
isRequired: boolean;
|
|
45
|
-
reference: string | null;
|
|
46
|
-
type: ForestServerColumnType;
|
|
47
|
-
widget: null | 'belongsto select' | 'file picker';
|
|
48
|
-
};
|
|
49
|
-
export declare type ForestServerField = Partial<{
|
|
50
|
-
field: string;
|
|
51
|
-
type: ForestServerColumnType;
|
|
52
|
-
defaultValue: unknown;
|
|
53
|
-
enums: null | string[];
|
|
54
|
-
integration: null;
|
|
55
|
-
isFilterable: boolean;
|
|
56
|
-
isPrimaryKey: boolean;
|
|
57
|
-
isReadOnly: boolean;
|
|
58
|
-
isRequired: boolean;
|
|
59
|
-
isSortable: boolean;
|
|
60
|
-
isVirtual: boolean;
|
|
61
|
-
reference: null | string;
|
|
62
|
-
inverseOf: null | string;
|
|
63
|
-
relationship: 'BelongsTo' | 'BelongsToMany' | 'HasMany' | 'HasOne';
|
|
64
|
-
validations: Array<{
|
|
65
|
-
message: string | null;
|
|
66
|
-
type: ValidationType;
|
|
67
|
-
value: unknown;
|
|
68
|
-
}>;
|
|
69
|
-
}>;
|
|
70
|
-
export declare type ForestServerSegment = {
|
|
71
|
-
id: string;
|
|
72
|
-
name: string;
|
|
73
|
-
};
|
|
74
|
-
export declare enum ValidationType {
|
|
75
|
-
Present = "is present",
|
|
76
|
-
GreaterThan = "is greater than",
|
|
77
|
-
LessThan = "is less than",
|
|
78
|
-
Before = "is before",
|
|
79
|
-
After = "is after",
|
|
80
|
-
LongerThan = "is longer than",
|
|
81
|
-
ShorterThan = "is shorter than",
|
|
82
|
-
Contains = "contains",
|
|
83
|
-
Like = "is like"
|
|
84
|
-
}
|
|
85
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationType = void 0;
|
|
4
|
-
var ValidationType;
|
|
5
|
-
(function (ValidationType) {
|
|
6
|
-
ValidationType["Present"] = "is present";
|
|
7
|
-
ValidationType["GreaterThan"] = "is greater than";
|
|
8
|
-
ValidationType["LessThan"] = "is less than";
|
|
9
|
-
ValidationType["Before"] = "is before";
|
|
10
|
-
ValidationType["After"] = "is after";
|
|
11
|
-
ValidationType["LongerThan"] = "is longer than";
|
|
12
|
-
ValidationType["ShorterThan"] = "is shorter than";
|
|
13
|
-
ValidationType["Contains"] = "contains";
|
|
14
|
-
ValidationType["Like"] = "is like";
|
|
15
|
-
})(ValidationType = exports.ValidationType || (exports.ValidationType = {}));
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZm9yZXN0LXNjaGVtYS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEwRUEsSUFBWSxjQVVYO0FBVkQsV0FBWSxjQUFjO0lBQ3hCLHdDQUFzQixDQUFBO0lBQ3RCLGlEQUErQixDQUFBO0lBQy9CLDJDQUF5QixDQUFBO0lBQ3pCLHNDQUFvQixDQUFBO0lBQ3BCLG9DQUFrQixDQUFBO0lBQ2xCLCtDQUE2QixDQUFBO0lBQzdCLGlEQUErQixDQUFBO0lBQy9CLHVDQUFxQixDQUFBO0lBQ3JCLGtDQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFWVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQVV6QiJ9
|