@forestadmin/forestadmin-client 1.3.0 → 1.4.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.
@@ -1,9 +1,9 @@
1
- import { ModelCustomizationService, WebhookAction } from './types';
1
+ import { ModelCustomization, ModelCustomizationService } from './types';
2
2
  import { ForestAdminClientOptionsWithDefaults, ForestAdminServerInterface } from '../types';
3
3
  export default class ModelCustomizationFromApiService implements ModelCustomizationService {
4
4
  private readonly forestadminServerInterface;
5
5
  private readonly options;
6
6
  constructor(forestadminServerInterface: ForestAdminServerInterface, options: ForestAdminClientOptionsWithDefaults);
7
- getConfiguration(): Promise<WebhookAction[]>;
7
+ getConfiguration(): Promise<ModelCustomization[]>;
8
8
  }
9
9
  //# sourceMappingURL=model-customization-from-api.d.ts.map
@@ -1,21 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const types_1 = require("./types");
3
4
  function mapApiValues(modelCustomization) {
4
- if (modelCustomization.type !== 'action') {
5
- throw new Error('Only action customizations are supported for now.');
5
+ switch (modelCustomization.type) {
6
+ case types_1.ModelCustomizationType.action: {
7
+ const configuration = modelCustomization.configuration;
8
+ const mappedConfiguration = {
9
+ ...configuration,
10
+ scope: configuration.scope
11
+ ? (configuration.scope.slice(0, 1).toUpperCase() +
12
+ configuration.scope.slice(1))
13
+ : 'Single',
14
+ };
15
+ return {
16
+ ...modelCustomization,
17
+ configuration: mappedConfiguration,
18
+ };
19
+ }
20
+ default:
21
+ throw new Error('Only action customizations are supported for now.');
6
22
  }
7
- const configuration = modelCustomization.configuration;
8
- const mappedConfiguration = {
9
- ...configuration,
10
- scope: configuration.scope
11
- ? (configuration.scope.slice(0, 1).toUpperCase() +
12
- configuration.scope.slice(1))
13
- : 'Single',
14
- };
15
- return {
16
- ...modelCustomization,
17
- configuration: mappedConfiguration,
18
- };
19
23
  }
20
24
  class ModelCustomizationFromApiService {
21
25
  constructor(forestadminServerInterface, options) {
@@ -28,4 +32,4 @@ class ModelCustomizationFromApiService {
28
32
  }
29
33
  }
30
34
  exports.default = ModelCustomizationFromApiService;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY3VzdG9taXphdGlvbi1mcm9tLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC1jdXN0b21pemF0aW9ucy9tb2RlbC1jdXN0b21pemF0aW9uLWZyb20tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsU0FBUyxZQUFZLENBQ25CLGtCQUFxRTtJQUVyRSxJQUFJLGtCQUFrQixDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0tBQ3RFO0lBRUQsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsYUFBOEMsQ0FBQztJQUN4RixNQUFNLG1CQUFtQixHQUErQjtRQUN0RCxHQUFHLGFBQWE7UUFDaEIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLO1lBQ3hCLENBQUMsQ0FBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzdDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFpQjtZQUNqRCxDQUFDLENBQUMsUUFBUTtLQUNiLENBQUM7SUFFRixPQUFPO1FBQ0wsR0FBRyxrQkFBa0I7UUFDckIsYUFBYSxFQUFFLG1CQUFtQjtLQUNuQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQXFCLGdDQUFnQztJQUNuRCxZQUNtQiwwQkFBc0QsRUFDdEQsT0FBNkM7UUFEN0MsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtRQUN0RCxZQUFPLEdBQVAsT0FBTyxDQUFzQztJQUM3RCxDQUFDO0lBRUosS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUYsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQVhELG1EQVdDIn0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY3VzdG9taXphdGlvbi1mcm9tLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC1jdXN0b21pemF0aW9ucy9tb2RlbC1jdXN0b21pemF0aW9uLWZyb20tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBT2lCO0FBR2pCLFNBQVMsWUFBWSxDQUNuQixrQkFBd0Q7SUFFeEQsUUFBUSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7UUFDL0IsS0FBSyw4QkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxhQUF1QyxDQUFDO1lBQ2pGLE1BQU0sbUJBQW1CLEdBQUc7Z0JBQzFCLEdBQUcsYUFBYTtnQkFDaEIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLO29CQUN4QixDQUFDLENBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO3dCQUM3QyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBaUI7b0JBQ2pELENBQUMsQ0FBQyxRQUFRO2FBQ2IsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsR0FBRyxrQkFBa0I7Z0JBQ3JCLGFBQWEsRUFBRSxtQkFBbUI7YUFDbkMsQ0FBQztTQUNIO1FBRUQ7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7S0FDeEU7QUFDSCxDQUFDO0FBRUQsTUFBcUIsZ0NBQWdDO0lBQ25ELFlBQ21CLDBCQUFzRCxFQUN0RCxPQUE2QztRQUQ3QywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELFlBQU8sR0FBUCxPQUFPLENBQXNDO0lBQzdELENBQUM7SUFFSixLQUFLLENBQUMsZ0JBQWdCO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBWEQsbURBV0MifQ==
@@ -3,35 +3,43 @@ export declare enum ModelCustomizationType {
3
3
  }
4
4
  export type ActionScopeApi = 'global' | 'single' | 'bulk';
5
5
  export type ActionScope = 'Global' | 'Single' | 'Bulk';
6
- export type ActionType = 'webhook';
6
+ export type ActionType = 'webhook' | 'update-record';
7
7
  export type ModelCustomization<TConfiguration = unknown> = {
8
8
  name: string;
9
9
  type: `${ModelCustomizationType}`;
10
10
  modelName: string;
11
11
  configuration: TConfiguration;
12
12
  };
13
+ export type ConfigurationApi<TConfigurationSpecific = unknown> = {
14
+ type: string;
15
+ configuration: TConfigurationSpecific;
16
+ };
13
17
  export type ActionConfigurationApi<TActionConfigurationSpecific = unknown> = {
14
18
  scope: ActionScopeApi;
15
19
  type: ActionType;
16
20
  configuration: TActionConfigurationSpecific;
17
21
  };
18
- export type WebhookActionConfigurationSpecific = {
19
- url: string;
20
- integration: string;
21
- };
22
- export type WebhookActionConfigurationApi = ActionConfigurationApi<WebhookActionConfigurationSpecific> & {
23
- type: 'webhook';
24
- };
25
22
  export type ActionConfiguration<TActionConfigurationSpecific = unknown> = {
26
23
  scope: ActionScope;
27
24
  type: ActionType;
28
25
  configuration: TActionConfigurationSpecific;
29
26
  };
27
+ export type WebhookActionConfigurationSpecific = {
28
+ url: string;
29
+ integration: string;
30
+ };
30
31
  export type WebhookActionConfiguration = ActionConfiguration<WebhookActionConfigurationSpecific> & {
31
32
  type: 'webhook';
32
33
  };
34
+ export type UpdateRecordActionConfigurationSpecific = {
35
+ fields: Record<string, unknown>;
36
+ };
37
+ export type UpdateRecordActionConfiguration = ActionConfiguration<UpdateRecordActionConfigurationSpecific> & {
38
+ type: 'update-record';
39
+ };
33
40
  export interface ModelCustomizationService {
34
41
  getConfiguration(): Promise<ModelCustomization[]>;
35
42
  }
36
43
  export type WebhookAction = ModelCustomization<WebhookActionConfiguration>;
44
+ export type UpdateRecordAction = ModelCustomization<UpdateRecordActionConfiguration>;
37
45
  //# sourceMappingURL=types.d.ts.map
@@ -19,4 +19,4 @@ class ForestHttpApi {
19
19
  }
20
20
  }
21
21
  exports.default = ForestHttpApi;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWh0dHAtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2ZvcmVzdC1odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDZEQUEwQztBQU8xQyxNQUFxQixhQUFhO0lBQ2hDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxPQUFvQjtRQUNsRCxPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFvQjtRQUNqQyxPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsS0FBSyxDQUFDLHVCQUF1QixDQUMzQixXQUFtQixFQUNuQixPQUFvQjtRQUVwQixPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsb0NBQW9DLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxPQUFvQjtRQUMvQyxPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUN0QixPQUFPLEVBQ1AsS0FBSyxFQUNMLDZCQUE2QixDQUM5QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBdkJELGdDQXVCQyJ9
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZXN0LWh0dHAtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2ZvcmVzdC1odHRwLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDZEQUEwQztBQU8xQyxNQUFxQixhQUFhO0lBQ2hDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxPQUFvQjtRQUNsRCxPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUNBQW1DLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFvQjtRQUNqQyxPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsS0FBSyxDQUFDLHVCQUF1QixDQUMzQixXQUFtQixFQUNuQixPQUFvQjtRQUVwQixPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsb0NBQW9DLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxPQUFvQjtRQUMvQyxPQUFPLGdCQUFXLENBQUMsS0FBSyxDQUF1QixPQUFPLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNGO0FBbkJELGdDQW1CQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forestadmin/forestadmin-client",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "main": "dist/index.js",
5
5
  "license": "GPL-3.0",
6
6
  "publishConfig": {