@forestadmin/agent 1.10.0 → 1.11.0

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.d.ts CHANGED
@@ -16,7 +16,7 @@ export default class Agent<S extends TSchema = TSchema> extends FrameworkMounter
16
16
  private options;
17
17
  private customizer;
18
18
  private nocodeCustomizer;
19
- private actionCustomizationService;
19
+ private customizationService;
20
20
  /**
21
21
  * Create a new Agent Builder.
22
22
  * If any options are missing, the default will be applied:
@@ -92,6 +92,5 @@ export default class Agent<S extends TSchema = TSchema> extends FrameworkMounter
92
92
  * Send the apimap to forest admin server
93
93
  */
94
94
  private sendSchema;
95
- private buildSchemaFeatures;
96
95
  }
97
96
  //# sourceMappingURL=agent.d.ts.map
package/dist/agent.js CHANGED
@@ -13,7 +13,7 @@ const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
13
13
  const framework_mounter_1 = __importDefault(require("./framework-mounter"));
14
14
  const routes_1 = __importDefault(require("./routes"));
15
15
  const services_1 = __importDefault(require("./services"));
16
- const action_customization_1 = __importDefault(require("./services/model-customizations/action-customization"));
16
+ const customization_1 = __importDefault(require("./services/model-customizations/customization"));
17
17
  const generator_1 = __importDefault(require("./utils/forest-schema/generator"));
18
18
  const options_validator_1 = __importDefault(require("./utils/options-validator"));
19
19
  /**
@@ -48,7 +48,7 @@ class Agent extends framework_mounter_1.default {
48
48
  super(allOptions.prefix, allOptions.logger);
49
49
  this.options = allOptions;
50
50
  this.customizer = new datasource_customizer_1.DataSourceCustomizer();
51
- this.actionCustomizationService = new action_customization_1.default(allOptions);
51
+ this.customizationService = new customization_1.default(allOptions);
52
52
  }
53
53
  /**
54
54
  * Start the agent.
@@ -136,11 +136,11 @@ class Agent extends framework_mounter_1.default {
136
136
  return router;
137
137
  }
138
138
  async buildRouterAndSendSchema() {
139
- const { isProduction, logger, typingsPath, typingsMaxDepth, experimental } = this.options;
139
+ const { isProduction, logger, typingsPath, typingsMaxDepth } = this.options;
140
140
  // It allows to rebuild the full customization stack with no code customizations
141
141
  this.nocodeCustomizer = new datasource_customizer_1.DataSourceCustomizer();
142
142
  this.nocodeCustomizer.addDataSource(this.customizer.getFactory());
143
- this.nocodeCustomizer.use(this.actionCustomizationService.addWebhookActions, experimental?.webhookCustomActions);
143
+ this.nocodeCustomizer.use(this.customizationService.addCustomizations);
144
144
  const dataSource = await this.nocodeCustomizer.getDataSource(logger);
145
145
  const [router] = await Promise.all([
146
146
  this.getRouter(dataSource),
@@ -173,7 +173,7 @@ class Agent extends framework_mounter_1.default {
173
173
  }
174
174
  }
175
175
  else {
176
- schema = await generator_1.default.buildSchema(dataSource, this.buildSchemaFeatures());
176
+ schema = await generator_1.default.buildSchema(dataSource, this.customizationService.buildFeatures());
177
177
  const pretty = (0, json_stringify_pretty_compact_1.default)(schema, { maxLength: 100 });
178
178
  await (0, promises_1.writeFile)(schemaPath, pretty, { encoding: 'utf-8' });
179
179
  }
@@ -184,14 +184,6 @@ class Agent extends framework_mounter_1.default {
184
184
  : 'Schema was not updated since last run';
185
185
  this.options.logger('Info', message);
186
186
  }
187
- buildSchemaFeatures() {
188
- const mapping = {
189
- webhookCustomActions: action_customization_1.default.FEATURE,
190
- };
191
- return Object.entries(mapping)
192
- .filter(([experimentalFeature]) => this.options.experimental?.[experimentalFeature])
193
- .map(([, feature]) => feature);
194
- }
195
187
  }
196
188
  exports.default = Agent;
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsOEVBUTRDO0FBRzVDLHFEQUE2QjtBQUM3Qix5REFBaUM7QUFDakMsMENBQWtEO0FBQ2xELGtHQUFzRDtBQUN0RCxvRUFBd0M7QUFFeEMsNEVBQW1EO0FBQ25ELHNEQUFrQztBQUNsQywwREFBc0M7QUFDdEMsZ0hBQThGO0FBRTlGLGdGQUE4RDtBQUM5RCxrRkFBeUQ7QUFFekQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBcUIsS0FBbUMsU0FBUSwyQkFBZ0I7SUFNOUU7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsWUFBWSxPQUFxQjtRQUMvQixNQUFNLFVBQVUsR0FBRywyQkFBZ0IsQ0FBQyxRQUFRLENBQUMsMkJBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSw0Q0FBb0IsRUFBSyxDQUFDO1FBQ2hELElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLDhCQUEwQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVyRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFD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
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsOEVBUTRDO0FBRzVDLHFEQUE2QjtBQUM3Qix5REFBaUM7QUFDakMsMENBQWtEO0FBQ2xELGtHQUFzRDtBQUN0RCxvRUFBd0M7QUFFeEMsNEVBQW1EO0FBQ25ELHNEQUFrQztBQUNsQywwREFBc0M7QUFDdEMsa0dBQWlGO0FBRWpGLGdGQUE4RDtBQUM5RCxrRkFBeUQ7QUFFekQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBcUIsS0FBbUMsU0FBUSwyQkFBZ0I7SUFNOUU7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsWUFBWSxPQUFxQjtRQUMvQixNQUFNLFVBQVUsR0FBRywyQkFBZ0IsQ0FBQyxRQUFRLENBQUMsMkJBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDckYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSw0Q0FBb0IsRUFBSyxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLHVCQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVyRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFD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
@@ -0,0 +1,3 @@
1
+ import { ActionConfiguration, ActionType, ModelCustomization } from '@forestadmin/forestadmin-client';
2
+ export default function getActions<TConfiguration extends ActionConfiguration>(type: ActionType, configuration: ModelCustomization[]): ModelCustomization<TConfiguration>[];
3
+ //# sourceMappingURL=get-actions.d.ts.map
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const forestadmin_client_1 = require("@forestadmin/forestadmin-client");
4
+ function getActions(type, configuration) {
5
+ return configuration.filter(customization => customization.type === forestadmin_client_1.ModelCustomizationType.action &&
6
+ customization.configuration.type === type);
7
+ }
8
+ exports.default = getActions;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbW9kZWwtY3VzdG9taXphdGlvbnMvYWN0aW9ucy9nZXQtYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdFQUt5QztBQUV6QyxTQUF3QixVQUFVLENBQ2hDLElBQWdCLEVBQ2hCLGFBQW1DO0lBRW5DLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FDekIsYUFBYSxDQUFDLEVBQUUsQ0FDZCxhQUFhLENBQUMsSUFBSSxLQUFLLDJDQUFzQixDQUFDLE1BQU07UUFDbkQsYUFBb0QsQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLElBQUksQ0FDNUMsQ0FBQztBQUM1QyxDQUFDO0FBVEQsNkJBU0MifQ==
@@ -0,0 +1,8 @@
1
+ import { Plugin } from '@forestadmin/datasource-customizer';
2
+ import { ModelCustomization } from '@forestadmin/forestadmin-client';
3
+ export default class UpdateRecordActionsPlugin {
4
+ static VERSION: string;
5
+ static FEATURE: string;
6
+ static addUpdateRecordActions: Plugin<ModelCustomization[]>;
7
+ }
8
+ //# sourceMappingURL=update-record-plugin.d.ts.map
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ var _a;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const get_actions_1 = __importDefault(require("../get-actions"));
8
+ class UpdateRecordActionsPlugin {
9
+ }
10
+ exports.default = UpdateRecordActionsPlugin;
11
+ _a = UpdateRecordActionsPlugin;
12
+ UpdateRecordActionsPlugin.VERSION = '1.0.0';
13
+ UpdateRecordActionsPlugin.FEATURE = 'update-record-actions';
14
+ UpdateRecordActionsPlugin.addUpdateRecordActions = (datasourceCustomizer, _, modelCustomizations) => {
15
+ const actions = (0, get_actions_1.default)('update-record', modelCustomizations);
16
+ actions.forEach(action => {
17
+ const collection = datasourceCustomizer.getCollection(action.modelName);
18
+ collection.addAction(action.name, {
19
+ scope: action.configuration.scope,
20
+ execute: async (context) => {
21
+ const { configuration: { configuration: { fields }, }, } = action;
22
+ await context.collection.update(context.filter, fields);
23
+ },
24
+ });
25
+ });
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXJlY29yZC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbW9kZWwtY3VzdG9taXphdGlvbnMvYWN0aW9ucy91cGRhdGUtcmVjb3JkL3VwZGF0ZS1yZWNvcmQtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BLGlFQUF3QztBQUV4QyxNQUFxQix5QkFBeUI7O0FBQTlDLDRDQStCQzs7QUE5QmUsaUNBQU8sR0FBRyxPQUFPLENBQUM7QUFDbEIsaUNBQU8sR0FBRyx1QkFBdUIsQ0FBQztBQUVsQyxnREFBc0IsR0FBaUMsQ0FDbkUsb0JBQW9CLEVBQ3BCLENBQUMsRUFDRCxtQkFBbUIsRUFDbkIsRUFBRTtJQUNGLE1BQU0sT0FBTyxHQUFHLElBQUEscUJBQVUsRUFDeEIsZUFBZSxFQUNmLG1CQUFtQixDQUNwQixDQUFDO0lBRUYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN2QixNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhFLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNoQyxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLO1lBQ2pDLE9BQU8sRUFBRSxLQUFLLEVBQUMsT0FBTyxFQUFDLEVBQUU7Z0JBQ3ZCLE1BQU0sRUFDSixhQUFhLEVBQUUsRUFDYixhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FDMUIsR0FDRixHQUFHLE1BQU0sQ0FBQztnQkFFWCxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDMUQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
@@ -52,4 +52,4 @@ async function executeWebhook(action, context) {
52
52
  }
53
53
  }
54
54
  exports.default = executeWebhook;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS13ZWJob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21vZGVsLWN1c3RvbWl6YXRpb25zL2V4ZWN1dGUtd2ViaG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHdFQUE0RTtBQUU1RSw0REFBdUQ7QUFFdkQsU0FBUyxZQUFZLENBQ25CLE1BQXFCLEVBQ3JCLE9BQTRDO0lBRTVDLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUU7U0FDdEQ7S0FDRixDQUFDO0lBRUYsUUFBUSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtRQUNsQyxLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssTUFBTTtZQUNULE9BQU87Z0JBQ0wsR0FBRyxVQUFVO2dCQUNiLE9BQU87YUFDUixDQUFDO1FBQ0osS0FBSyxRQUFRO1lBQ1gsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO2FBQzdFO1lBRUQsT0FBTztnQkFDTCxHQUFHLFVBQVU7Z0JBQ2IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDbkIsQ0FBQztRQUNKO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0tBQ25FO0FBQ0gsQ0FBQztBQUVjLEtBQUssVUFBVSxjQUFjLENBQzFDLE1BQXFCLEVBQ3JCLE9BQXlCO0lBRXpCLE1BQU0sV0FBVyxHQUFHLGdDQUFXLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUdyRSxDQUFDO0lBRUosTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXRELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFM0MsSUFBSTtRQUNGLE1BQU0sb0JBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzFFO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixJQUFLLENBQW1CLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsT0FBTyxFQUFFLDZDQUE2QyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxPQUFPLEdBQUc7YUFDL0UsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLGlDQUFpQyxDQUFDLENBQUMsT0FBTyxHQUFHO1NBQ3ZELENBQUM7S0FDSDtBQUNILENBQUM7QUE1QkQsaUNBNEJDIn0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS13ZWJob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21vZGVsLWN1c3RvbWl6YXRpb25zL2FjdGlvbnMvd2ViaG9vay9leGVjdXRlLXdlYmhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx3RUFBNEU7QUFFNUUsNERBQXVEO0FBRXZELFNBQVMsWUFBWSxDQUNuQixNQUFxQixFQUNyQixPQUE0QztJQUU1QyxNQUFNLFVBQVUsR0FBRztRQUNqQixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFO1NBQ3REO0tBQ0YsQ0FBQztJQUVGLFFBQVEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7UUFDbEMsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLE1BQU07WUFDVCxPQUFPO2dCQUNMLEdBQUcsVUFBVTtnQkFDYixPQUFPO2FBQ1IsQ0FBQztRQUNKLEtBQUssUUFBUTtZQUNYLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQzthQUM3RTtZQUVELE9BQU87Z0JBQ0wsR0FBRyxVQUFVO2dCQUNiLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ25CLENBQUM7UUFDSjtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUNuRTtBQUNILENBQUM7QUFFYyxLQUFLLFVBQVUsY0FBYyxDQUMxQyxNQUFxQixFQUNyQixPQUF5QjtJQUV6QixNQUFNLFdBQVcsR0FBRyxnQ0FBVyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FHckUsQ0FBQztJQUVKLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0RCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTNDLElBQUk7UUFDRixNQUFNLG9CQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMxRTtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsSUFBSyxDQUFtQixDQUFDLFFBQVEsRUFBRTtZQUNqQyxPQUFPO2dCQUNMLElBQUksRUFBRSxPQUFPO2dCQUNiLE9BQU8sRUFBRSw2Q0FBNkMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxHQUFHO2FBQy9FLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsT0FBTztZQUNiLE9BQU8sRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDLE9BQU8sR0FBRztTQUN2RCxDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBNUJELGlDQTRCQyJ9
@@ -0,0 +1,8 @@
1
+ import { Plugin } from '@forestadmin/datasource-customizer';
2
+ import { ModelCustomization } from '@forestadmin/forestadmin-client';
3
+ export default class WebhookActionsPlugin {
4
+ static VERSION: string;
5
+ static FEATURE: string;
6
+ static addWebhookActions: Plugin<ModelCustomization[]>;
7
+ }
8
+ //# sourceMappingURL=webhook-plugin.d.ts.map
@@ -0,0 +1,23 @@
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 execute_webhook_1 = __importDefault(require("./execute-webhook"));
7
+ const get_actions_1 = __importDefault(require("../get-actions"));
8
+ class WebhookActionsPlugin {
9
+ }
10
+ exports.default = WebhookActionsPlugin;
11
+ WebhookActionsPlugin.VERSION = '1.0.0';
12
+ WebhookActionsPlugin.FEATURE = 'webhook-custom-actions';
13
+ WebhookActionsPlugin.addWebhookActions = (datasourceCustomizer, _, modelCustomizations) => {
14
+ const actions = (0, get_actions_1.default)('webhook', modelCustomizations);
15
+ actions.forEach(action => {
16
+ const collection = datasourceCustomizer.getCollection(action.modelName);
17
+ collection.addAction(action.name, {
18
+ scope: action.configuration.scope,
19
+ execute: context => (0, execute_webhook_1.default)(action, context),
20
+ });
21
+ });
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViaG9vay1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbW9kZWwtY3VzdG9taXphdGlvbnMvYWN0aW9ucy93ZWJob29rL3dlYmhvb2stcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esd0VBQStDO0FBQy9DLGlFQUF3QztBQUV4QyxNQUFxQixvQkFBb0I7O0FBQXpDLHVDQW1CQztBQWxCZSw0QkFBTyxHQUFHLE9BQU8sQ0FBQztBQUNsQiw0QkFBTyxHQUFHLHdCQUF3QixDQUFDO0FBRW5DLHNDQUFpQixHQUFpQyxDQUM5RCxvQkFBb0IsRUFDcEIsQ0FBQyxFQUNELG1CQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBQSxxQkFBVSxFQUE2QixTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2hDLEtBQUssRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7WUFDakMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBQSx5QkFBYyxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
@@ -0,0 +1,16 @@
1
+ import { Plugin } from '@forestadmin/datasource-customizer';
2
+ import { ModelCustomization } from '@forestadmin/forestadmin-client';
3
+ import { AgentOptionsWithDefaults } from '../../types';
4
+ type ExperimentalOptions = AgentOptionsWithDefaults['experimental'];
5
+ export default class CustomizationPluginService {
6
+ private readonly client;
7
+ private readonly options;
8
+ constructor(agentOptions: AgentOptionsWithDefaults);
9
+ addCustomizations: Plugin<void>;
10
+ static makeAddCustomizations: (experimental: ExperimentalOptions) => Plugin<ModelCustomization[]>;
11
+ buildFeatures(): Record<string, string>;
12
+ static buildFeatures(experimental: ExperimentalOptions): Record<string, string> | null;
13
+ private static getFeatures;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=customization.d.ts.map
@@ -0,0 +1,60 @@
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 update_record_plugin_1 = __importDefault(require("./actions/update-record/update-record-plugin"));
7
+ const webhook_plugin_1 = __importDefault(require("./actions/webhook/webhook-plugin"));
8
+ const optionsToFeatureMapping = {
9
+ webhookCustomActions: webhook_plugin_1.default.FEATURE,
10
+ updateRecordCustomActions: update_record_plugin_1.default.FEATURE,
11
+ };
12
+ const featuresFormattedWithVersion = [
13
+ { feature: webhook_plugin_1.default.FEATURE, version: webhook_plugin_1.default.VERSION },
14
+ { feature: update_record_plugin_1.default.FEATURE, version: update_record_plugin_1.default.VERSION },
15
+ ];
16
+ class CustomizationPluginService {
17
+ constructor(agentOptions) {
18
+ this.addCustomizations = async (datasourceCustomizer, _) => {
19
+ const { experimental } = this.options;
20
+ if (!experimental)
21
+ return;
22
+ const modelCustomizations = await this.client.modelCustomizationService.getConfiguration();
23
+ CustomizationPluginService.makeAddCustomizations(experimental)(datasourceCustomizer, _, modelCustomizations);
24
+ };
25
+ this.client = agentOptions.forestAdminClient;
26
+ this.options = agentOptions;
27
+ }
28
+ buildFeatures() {
29
+ return CustomizationPluginService.buildFeatures(this.options?.experimental);
30
+ }
31
+ static buildFeatures(experimental) {
32
+ const features = CustomizationPluginService.getFeatures(experimental);
33
+ const enabledFeaturesFormattedWithVersion = featuresFormattedWithVersion
34
+ .filter(({ feature }) => features?.includes(feature))
35
+ .reduce((acc, { feature, version }) => ({
36
+ ...acc,
37
+ [feature]: version,
38
+ }), {});
39
+ return Object.keys(enabledFeaturesFormattedWithVersion).length
40
+ ? enabledFeaturesFormattedWithVersion
41
+ : null;
42
+ }
43
+ static getFeatures(experimental) {
44
+ return Object.entries(optionsToFeatureMapping)
45
+ .filter(([experimentalFeature]) => experimental?.[experimentalFeature])
46
+ .map(([, feature]) => feature);
47
+ }
48
+ }
49
+ exports.default = CustomizationPluginService;
50
+ CustomizationPluginService.makeAddCustomizations = (experimental) => {
51
+ return (datasourceCustomizer, _, modelCustomizations) => {
52
+ if (experimental.webhookCustomActions) {
53
+ webhook_plugin_1.default.addWebhookActions(datasourceCustomizer, _, modelCustomizations);
54
+ }
55
+ if (experimental.updateRecordCustomActions) {
56
+ update_record_plugin_1.default.addUpdateRecordActions(datasourceCustomizer, _, modelCustomizations);
57
+ }
58
+ };
59
+ };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9taXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tb2RlbC1jdXN0b21pemF0aW9ucy9jdXN0b21pemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esd0dBQXFGO0FBQ3JGLHNGQUFvRTtBQUtwRSxNQUFNLHVCQUF1QixHQUE4QztJQUN6RSxvQkFBb0IsRUFBRSx3QkFBb0IsQ0FBQyxPQUFPO0lBQ2xELHlCQUF5QixFQUFFLDhCQUF5QixDQUFDLE9BQU87Q0FDN0QsQ0FBQztBQUVGLE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsRUFBRSxPQUFPLEVBQUUsd0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSx3QkFBb0IsQ0FBQyxPQUFPLEVBQUU7SUFDaEYsRUFBRSxPQUFPLEVBQUUsOEJBQXlCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSw4QkFBeUIsQ0FBQyxPQUFPLEVBQUU7Q0FDM0YsQ0FBQztBQUVGLE1BQXFCLDBCQUEwQjtJQUs3QyxZQUFtQixZQUFzQztRQU1sRCxzQkFBaUIsR0FBaUIsS0FBSyxFQUFFLG9CQUFvQixFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxZQUFZO2dCQUFFLE9BQU87WUFFMUIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUUzRiwwQkFBMEIsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FDNUQsb0JBQW9CLEVBQ3BCLENBQUMsRUFDRCxtQkFBbUIsQ0FDcEIsQ0FBQztRQUNKLENBQUMsQ0FBQztRQWhCQSxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztRQUU3QyxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztJQUM5QixDQUFDO0lBaUNNLGFBQWE7UUFDbEIsT0FBTywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFpQztRQUMzRCxNQUFNLFFBQVEsR0FBRywwQkFBMEIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEUsTUFBTSxtQ0FBbUMsR0FBRyw0QkFBNEI7YUFDckUsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwRCxNQUFNLENBQ0wsQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUIsR0FBRyxHQUFHO1lBQ04sQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPO1NBQ25CLENBQUMsRUFDRixFQUFFLENBQ0gsQ0FBQztRQUVKLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLE1BQU07WUFDNUQsQ0FBQyxDQUFDLG1DQUFtQztZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBaUM7UUFDMUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDO2FBQzNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN0RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7O0FBcEVILDZDQXFFQztBQTdDZSxnREFBcUIsR0FFQyxDQUFDLFlBQWlDLEVBQUUsRUFBRTtJQUN4RSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLEVBQUU7UUFDdEQsSUFBSSxZQUFZLENBQUMsb0JBQW9CLEVBQUU7WUFDckMsd0JBQW9CLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDdEY7UUFFRCxJQUFJLFlBQVksQ0FBQyx5QkFBeUIsRUFBRTtZQUMxQyw4QkFBeUIsQ0FBQyxzQkFBc0IsQ0FDOUMsb0JBQW9CLEVBQ3BCLENBQUMsRUFDRCxtQkFBbUIsQ0FDcEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
package/dist/types.d.ts CHANGED
@@ -21,6 +21,7 @@ export type AgentOptions = {
21
21
  forestAdminClient?: ForestAdminClient;
22
22
  experimental?: {
23
23
  webhookCustomActions?: boolean;
24
+ updateRecordCustomActions?: boolean;
24
25
  };
25
26
  };
26
27
  export type AgentOptionsWithDefaults = Readonly<Required<AgentOptions>>;
package/dist/types.js CHANGED
@@ -20,4 +20,4 @@ var RouteType;
20
20
  RouteType[RouteType["Authentication"] = 3] = "Authentication";
21
21
  RouteType[RouteType["PrivateRoute"] = 4] = "PrivateRoute";
22
22
  })(RouteType = exports.RouteType || (exports.RouteType = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkJBLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixxREFBZ0IsQ0FBQTtJQUNoQixtREFBZSxDQUFBO0lBQ2YsdUVBQXlCLENBQUE7SUFDekIsbURBQWUsQ0FBQTtJQUNmLGlEQUFjLENBQUE7SUFDZCxxQ0FBUSxDQUFBO0lBQ1IsMkRBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVJXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBUW5CO0FBRUQsSUFBWSxTQU9YO0FBUEQsV0FBWSxTQUFTO0lBQ25CLGlHQUFpRztJQUNqRyx5REFBZ0IsQ0FBQTtJQUNoQiwyREFBaUIsQ0FBQTtJQUNqQix1REFBZSxDQUFBO0lBQ2YsNkRBQWtCLENBQUE7SUFDbEIseURBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQVBXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBT3BCIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBOEJBLElBQVksUUFRWDtBQVJELFdBQVksUUFBUTtJQUNsQixxREFBZ0IsQ0FBQTtJQUNoQixtREFBZSxDQUFBO0lBQ2YsdUVBQXlCLENBQUE7SUFDekIsbURBQWUsQ0FBQTtJQUNmLGlEQUFjLENBQUE7SUFDZCxxQ0FBUSxDQUFBO0lBQ1IsMkRBQW1CLENBQUE7QUFDckIsQ0FBQyxFQVJXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBUW5CO0FBRUQsSUFBWSxTQU9YO0FBUEQsV0FBWSxTQUFTO0lBQ25CLGlHQUFpRztJQUNqRyx5REFBZ0IsQ0FBQTtJQUNoQiwyREFBaUIsQ0FBQTtJQUNqQix1REFBZSxDQUFBO0lBQ2YsNkRBQWtCLENBQUE7SUFDbEIseURBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQVBXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBT3BCIn0=
@@ -1,7 +1,6 @@
1
1
  import { DataSource } from '@forestadmin/datasource-toolkit';
2
2
  import { ForestSchema } from '@forestadmin/forestadmin-client';
3
3
  export default class SchemaGenerator {
4
- static buildSchema(dataSource: DataSource, features: string[]): Promise<ForestSchema>;
5
- private static buildFeatures;
4
+ static buildSchema(dataSource: DataSource, features: Record<string, string> | null): Promise<ForestSchema>;
6
5
  }
7
6
  //# sourceMappingURL=generator.d.ts.map
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const generator_collection_1 = __importDefault(require("./generator-collection"));
7
- const action_customization_1 = __importDefault(require("../../services/model-customizations/action-customization"));
8
7
  class SchemaGenerator {
9
8
  static async buildSchema(dataSource, features) {
10
9
  const { version } = require('../../../package.json'); // eslint-disable-line @typescript-eslint/no-var-requires,global-require,max-len
@@ -15,7 +14,7 @@ class SchemaGenerator {
15
14
  metadata: {
16
15
  liana: 'forest-nodejs-agent',
17
16
  liana_version: version,
18
- liana_features: SchemaGenerator.buildFeatures(features),
17
+ liana_features: features,
19
18
  stack: {
20
19
  engine: 'nodejs',
21
20
  engine_version: process.versions && process.versions.node,
@@ -23,17 +22,6 @@ class SchemaGenerator {
23
22
  },
24
23
  };
25
24
  }
26
- static buildFeatures(features) {
27
- const result = Object.entries({
28
- [action_customization_1.default.FEATURE]: action_customization_1.default.VERSION,
29
- })
30
- .filter(([feature]) => features.includes(feature))
31
- .reduce((acc, [feature, version]) => ({
32
- ...acc,
33
- [feature]: version,
34
- }), {});
35
- return Object.keys(result).length ? result : null;
36
- }
37
25
  }
38
26
  exports.default = SchemaGenerator;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2ZvcmVzdC1zY2hlbWEvZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esa0ZBQStEO0FBQy9ELG9IQUFrRztBQUVsRyxNQUFxQixlQUFlO0lBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQXNCLEVBQUUsUUFBa0I7UUFDakUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsZ0ZBQWdGO1FBRXRJLE9BQU87WUFDTCxXQUFXLEVBQUUsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUM1QixDQUFDLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztpQkFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyw4QkFBeUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEQ7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLHFCQUFxQjtnQkFDNUIsYUFBYSxFQUFFLE9BQU87Z0JBQ3RCLGNBQWMsRUFBRSxlQUFlLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztnQkFDdkQsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRSxRQUFRO29CQUNoQixjQUFjLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7aUJBQzFEO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBa0I7UUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUM1QixDQUFDLDhCQUEwQixDQUFDLE9BQU8sQ0FBQyxFQUFFLDhCQUEwQixDQUFDLE9BQU87U0FDekUsQ0FBQzthQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakQsTUFBTSxDQUNMLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsR0FBRztZQUNOLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTztTQUNuQixDQUFDLEVBQ0YsRUFBRSxDQUNILENBQUM7UUFFSixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0NBQ0Y7QUFyQ0Qsa0NBcUNDIn0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2ZvcmVzdC1zY2hlbWEvZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esa0ZBQStEO0FBRS9ELE1BQXFCLGVBQWU7SUFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3RCLFVBQXNCLEVBQ3RCLFFBQXVDO1FBRXZDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLGdGQUFnRjtRQUV0SSxPQUFPO1lBQ0wsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDNUIsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7aUJBQ3hCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsOEJBQXlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3REO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxxQkFBcUI7Z0JBQzVCLGFBQWEsRUFBRSxPQUFPO2dCQUN0QixjQUFjLEVBQUUsUUFBUTtnQkFDeEIsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRSxRQUFRO29CQUNoQixjQUFjLEVBQUUsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7aUJBQzFEO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBeEJELGtDQXdCQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/agent",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "publishConfig": {
@@ -14,9 +14,9 @@
14
14
  "dependencies": {
15
15
  "@fast-csv/format": "^4.3.5",
16
16
  "@fastify/express": "^1.1.0",
17
- "@forestadmin/datasource-customizer": "1.8.0",
17
+ "@forestadmin/datasource-customizer": "1.9.0",
18
18
  "@forestadmin/datasource-toolkit": "1.5.0",
19
- "@forestadmin/forestadmin-client": "1.3.0",
19
+ "@forestadmin/forestadmin-client": "1.4.0",
20
20
  "@koa/cors": "^4.0.0",
21
21
  "@koa/router": "^12.0.0",
22
22
  "forest-ip-utils": "^1.0.1",
@@ -1,12 +0,0 @@
1
- import { Plugin } from '@forestadmin/datasource-customizer';
2
- import { ModelCustomization } from '@forestadmin/forestadmin-client';
3
- import { AgentOptionsWithDefaults } from '../../types';
4
- export default class ActionCustomizationService {
5
- static VERSION: string;
6
- static FEATURE: string;
7
- private readonly client;
8
- constructor(agentOptions: Pick<AgentOptionsWithDefaults, 'forestAdminClient'>);
9
- addWebhookActions: Plugin<boolean | undefined>;
10
- static addWebhookActions: Plugin<ModelCustomization[]>;
11
- }
12
- //# sourceMappingURL=action-customization.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
- var _a;
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const forestadmin_client_1 = require("@forestadmin/forestadmin-client");
8
- const execute_webhook_1 = __importDefault(require("./execute-webhook"));
9
- function getActions(type, configuration) {
10
- return configuration.filter(customization => customization.type === forestadmin_client_1.ModelCustomizationType.action &&
11
- customization.configuration.type === type);
12
- }
13
- class ActionCustomizationService {
14
- constructor(agentOptions) {
15
- this.addWebhookActions = async (datasourceCustomizer, _, enabled) => {
16
- if (!enabled)
17
- return;
18
- const modelCustomizations = await this.client.modelCustomizationService.getConfiguration();
19
- await ActionCustomizationService.addWebhookActions(datasourceCustomizer, _, modelCustomizations);
20
- };
21
- this.client = agentOptions.forestAdminClient;
22
- }
23
- }
24
- exports.default = ActionCustomizationService;
25
- _a = ActionCustomizationService;
26
- ActionCustomizationService.VERSION = '1.0.0';
27
- ActionCustomizationService.FEATURE = 'webhook-custom-actions';
28
- ActionCustomizationService.addWebhookActions = async (datasourceCustomizer, _, modelCustomizations) => {
29
- const actions = await getActions('webhook', modelCustomizations);
30
- actions.forEach(action => {
31
- const collection = datasourceCustomizer.getCollection(action.modelName);
32
- collection.addAction(action.name, {
33
- scope: action.configuration.scope,
34
- execute: context => (0, execute_webhook_1.default)(action, context),
35
- });
36
- });
37
- };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWN1c3RvbWl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvbW9kZWwtY3VzdG9taXphdGlvbnMvYWN0aW9uLWN1c3RvbWl6YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esd0VBT3lDO0FBRXpDLHdFQUErQztBQUcvQyxTQUFTLFVBQVUsQ0FDakIsSUFBZ0IsRUFDaEIsYUFBbUM7SUFFbkMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUN6QixhQUFhLENBQUMsRUFBRSxDQUNkLGFBQWEsQ0FBQyxJQUFJLEtBQUssMkNBQXNCLENBQUMsTUFBTTtRQUNuRCxhQUF5RCxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUNqRCxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFxQiwwQkFBMEI7SUFNN0MsWUFBbUIsWUFBaUU7UUFJN0Usc0JBQWlCLEdBQWdDLEtBQUssRUFDM0Qsb0JBQW9CLEVBQ3BCLENBQUMsRUFDRCxPQUFPLEVBQ1AsRUFBRTtZQUNGLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU87WUFFckIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUUzRixNQUFNLDBCQUEwQixDQUFDLGlCQUFpQixDQUNoRCxvQkFBb0IsRUFDcEIsQ0FBQyxFQUNELG1CQUFtQixDQUNwQixDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBakJBLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7O0FBUkgsNkNBeUNDOztBQXhDZSxrQ0FBTyxHQUFHLE9BQU8sQ0FBQztBQUNsQixrQ0FBTyxHQUFHLHdCQUF3QixDQUFDO0FBd0JuQyw0Q0FBaUIsR0FBaUMsS0FBSyxFQUNuRSxvQkFBb0IsRUFDcEIsQ0FBQyxFQUNELG1CQUFtQixFQUNuQixFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQTZCLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQzdGLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdkIsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4RSxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDaEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSztZQUNqQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHlCQUFjLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9