@forestadmin/agent-testing 0.1.0 → 1.0.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.
Files changed (116) hide show
  1. package/dist/benchmark.js +36 -0
  2. package/dist/{integrations/forest-admin-client-mock.d.ts → forest-admin-client-mock.d.ts} +2 -0
  3. package/dist/forest-admin-client-mock.js +83 -0
  4. package/dist/forest-server-sandbox.js +153 -0
  5. package/dist/http-requester-mock.d.ts +7 -0
  6. package/dist/{integrations/http-requester-mock.js → http-requester-mock.js} +4 -4
  7. package/dist/index.d.ts +46 -3
  8. package/dist/index.js +101 -4
  9. package/dist/schema-converter.d.ts +6 -0
  10. package/dist/schema-converter.js +16 -0
  11. package/dist/{integrations/schema-path-manager.js → schema-path-manager.js} +1 -1
  12. package/dist/{integrations/testable-agent-base.d.ts → testable-agent-base.d.ts} +2 -2
  13. package/dist/{integrations/testable-agent-base.js → testable-agent-base.js} +3 -3
  14. package/dist/{integrations/testable-agent.d.ts → testable-agent.d.ts} +1 -1
  15. package/dist/{integrations/testable-agent.js → testable-agent.js} +2 -2
  16. package/dist/types.d.ts +5 -0
  17. package/dist/{units/types.js → types.js} +1 -1
  18. package/package.json +2 -2
  19. package/dist/integrations/benchmark.js +0 -36
  20. package/dist/integrations/forest-admin-client-mock.js +0 -76
  21. package/dist/integrations/forest-server-sandbox.js +0 -153
  22. package/dist/integrations/http-requester-mock.d.ts +0 -8
  23. package/dist/integrations/index.d.ts +0 -43
  24. package/dist/integrations/index.js +0 -119
  25. package/dist/integrations/schema-converter.d.ts +0 -6
  26. package/dist/integrations/schema-converter.js +0 -16
  27. package/dist/integrations/types.d.ts +0 -5
  28. package/dist/integrations/types.js +0 -3
  29. package/dist/remote-agent-client/action-fields/action-field-checkbox-group.d.ts +0 -8
  30. package/dist/remote-agent-client/action-fields/action-field-checkbox-group.js +0 -23
  31. package/dist/remote-agent-client/action-fields/action-field-checkbox.d.ts +0 -6
  32. package/dist/remote-agent-client/action-fields/action-field-checkbox.js +0 -16
  33. package/dist/remote-agent-client/action-fields/action-field-color-picker.d.ts +0 -7
  34. package/dist/remote-agent-client/action-fields/action-field-color-picker.js +0 -19
  35. package/dist/remote-agent-client/action-fields/action-field-date.d.ts +0 -5
  36. package/dist/remote-agent-client/action-fields/action-field-date.js +0 -13
  37. package/dist/remote-agent-client/action-fields/action-field-dropdown.d.ts +0 -7
  38. package/dist/remote-agent-client/action-fields/action-field-dropdown.js +0 -16
  39. package/dist/remote-agent-client/action-fields/action-field-enum.d.ts +0 -6
  40. package/dist/remote-agent-client/action-fields/action-field-enum.js +0 -19
  41. package/dist/remote-agent-client/action-fields/action-field-json.d.ts +0 -5
  42. package/dist/remote-agent-client/action-fields/action-field-json.js +0 -13
  43. package/dist/remote-agent-client/action-fields/action-field-multiple-choice.d.ts +0 -7
  44. package/dist/remote-agent-client/action-fields/action-field-multiple-choice.js +0 -19
  45. package/dist/remote-agent-client/action-fields/action-field-number-list.d.ts +0 -6
  46. package/dist/remote-agent-client/action-fields/action-field-number-list.js +0 -20
  47. package/dist/remote-agent-client/action-fields/action-field-number.d.ts +0 -5
  48. package/dist/remote-agent-client/action-fields/action-field-number.js +0 -13
  49. package/dist/remote-agent-client/action-fields/action-field-radio-group.d.ts +0 -7
  50. package/dist/remote-agent-client/action-fields/action-field-radio-group.js +0 -16
  51. package/dist/remote-agent-client/action-fields/action-field-string-list.d.ts +0 -6
  52. package/dist/remote-agent-client/action-fields/action-field-string-list.js +0 -20
  53. package/dist/remote-agent-client/action-fields/action-field-string.d.ts +0 -5
  54. package/dist/remote-agent-client/action-fields/action-field-string.js +0 -13
  55. package/dist/remote-agent-client/action-fields/action-field.d.ts +0 -15
  56. package/dist/remote-agent-client/action-fields/action-field.js +0 -34
  57. package/dist/remote-agent-client/action-fields/field-form-states.d.ts +0 -25
  58. package/dist/remote-agent-client/action-fields/field-form-states.js +0 -94
  59. package/dist/remote-agent-client/action-fields/field-getter.d.ts +0 -10
  60. package/dist/remote-agent-client/action-fields/field-getter.js +0 -21
  61. package/dist/remote-agent-client/action-fields/types.d.ts +0 -28
  62. package/dist/remote-agent-client/action-fields/types.js +0 -3
  63. package/dist/remote-agent-client/action-layout/action-layout-container.d.ts +0 -9
  64. package/dist/remote-agent-client/action-layout/action-layout-container.js +0 -24
  65. package/dist/remote-agent-client/action-layout/action-layout-element.d.ts +0 -14
  66. package/dist/remote-agent-client/action-layout/action-layout-element.js +0 -47
  67. package/dist/remote-agent-client/action-layout/action-layout-input.d.ts +0 -7
  68. package/dist/remote-agent-client/action-layout/action-layout-input.js +0 -12
  69. package/dist/remote-agent-client/action-layout/action-layout-page.d.ts +0 -8
  70. package/dist/remote-agent-client/action-layout/action-layout-page.js +0 -18
  71. package/dist/remote-agent-client/action-layout/action-layout-root.d.ts +0 -6
  72. package/dist/remote-agent-client/action-layout/action-layout-root.js +0 -19
  73. package/dist/remote-agent-client/action-layout/errors.d.ts +0 -8
  74. package/dist/remote-agent-client/action-layout/errors.js +0 -16
  75. package/dist/remote-agent-client/domains/action.d.ts +0 -59
  76. package/dist/remote-agent-client/domains/action.js +0 -139
  77. package/dist/remote-agent-client/domains/chart.d.ts +0 -21
  78. package/dist/remote-agent-client/domains/chart.js +0 -39
  79. package/dist/remote-agent-client/domains/collection-chart.d.ts +0 -19
  80. package/dist/remote-agent-client/domains/collection-chart.js +0 -40
  81. package/dist/remote-agent-client/domains/collection.d.ts +0 -26
  82. package/dist/remote-agent-client/domains/collection.js +0 -109
  83. package/dist/remote-agent-client/domains/relation.d.ts +0 -11
  84. package/dist/remote-agent-client/domains/relation.js +0 -23
  85. package/dist/remote-agent-client/domains/remote-agent-client.d.ts +0 -41
  86. package/dist/remote-agent-client/domains/remote-agent-client.js +0 -43
  87. package/dist/remote-agent-client/domains/segment.d.ts +0 -14
  88. package/dist/remote-agent-client/domains/segment.js +0 -46
  89. package/dist/remote-agent-client/http-requester.d.ts +0 -30
  90. package/dist/remote-agent-client/http-requester.js +0 -67
  91. package/dist/remote-agent-client/index.d.ts +0 -10
  92. package/dist/remote-agent-client/index.js +0 -18
  93. package/dist/remote-agent-client/query-serializer.d.ts +0 -7
  94. package/dist/remote-agent-client/query-serializer.js +0 -34
  95. package/dist/remote-agent-client/types.d.ts +0 -25
  96. package/dist/remote-agent-client/types.js +0 -3
  97. package/dist/units/add-action.d.ts +0 -16
  98. package/dist/units/add-action.js +0 -70
  99. package/dist/units/add-field.d.ts +0 -3
  100. package/dist/units/add-field.js +0 -18
  101. package/dist/units/add-hook.d.ts +0 -3
  102. package/dist/units/add-hook.js +0 -18
  103. package/dist/units/import-field.d.ts +0 -3
  104. package/dist/units/import-field.js +0 -18
  105. package/dist/units/index.d.ts +0 -9
  106. package/dist/units/index.js +0 -25
  107. package/dist/units/many-to-one-relation.d.ts +0 -3
  108. package/dist/units/many-to-one-relation.js +0 -18
  109. package/dist/units/replace-search.d.ts +0 -3
  110. package/dist/units/replace-search.js +0 -18
  111. package/dist/units/types.d.ts +0 -34
  112. package/dist/units/use-plugin.d.ts +0 -3
  113. package/dist/units/use-plugin.js +0 -18
  114. /package/dist/{integrations/benchmark.d.ts → benchmark.d.ts} +0 -0
  115. /package/dist/{integrations/forest-server-sandbox.d.ts → forest-server-sandbox.d.ts} +0 -0
  116. /package/dist/{integrations/schema-path-manager.d.ts → schema-path-manager.d.ts} +0 -0
@@ -1,19 +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 action_layout_container_1 = __importDefault(require("./action-layout-container"));
7
- const action_layout_page_1 = __importDefault(require("./action-layout-page"));
8
- const errors_1 = require("./errors");
9
- class ActionLayoutRoot extends action_layout_container_1.default {
10
- page(n) {
11
- if (n < 0 || n >= this.layout.length)
12
- throw new errors_1.NotFoundElementError(n);
13
- if (!this.isPage(n))
14
- throw new errors_1.NotRightElementError('a page', this.layout[n]);
15
- return new action_layout_page_1.default(this.layout[n]);
16
- }
17
- }
18
- exports.default = ActionLayoutRoot;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWxheW91dC1yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWxheW91dC9hY3Rpb24tbGF5b3V0LXJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RkFBc0U7QUFDdEUsOEVBQW9EO0FBQ3BELHFDQUFzRTtBQUV0RSxNQUFxQixnQkFBaUIsU0FBUSxpQ0FBNkI7SUFDekUsSUFBSSxDQUFDLENBQVM7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFBRSxNQUFNLElBQUksNkJBQW9CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RSxPQUFPLElBQUksNEJBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQVBELG1DQU9DIn0=
@@ -1,8 +0,0 @@
1
- import { ForestServerActionFormLayoutElement } from '@forestadmin/forestadmin-client';
2
- export declare class NotRightElementError extends Error {
3
- constructor(elementName: string, element: ForestServerActionFormLayoutElement);
4
- }
5
- export declare class NotFoundElementError extends Error {
6
- constructor(n: number);
7
- }
8
- //# sourceMappingURL=errors.d.ts.map
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotFoundElementError = exports.NotRightElementError = void 0;
4
- class NotRightElementError extends Error {
5
- constructor(elementName, element) {
6
- super(`This is not ${elementName}, it's a ${element.component} element`);
7
- }
8
- }
9
- exports.NotRightElementError = NotRightElementError;
10
- class NotFoundElementError extends Error {
11
- constructor(n) {
12
- super(`Element ${n} not found`);
13
- }
14
- }
15
- exports.NotFoundElementError = NotFoundElementError;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvYWN0aW9uLWxheW91dC9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBQzdDLFlBQVksV0FBbUIsRUFBRSxPQUE0QztRQUMzRSxLQUFLLENBQUMsZUFBZSxXQUFXLFlBQVksT0FBTyxDQUFDLFNBQVMsVUFBVSxDQUFDLENBQUM7SUFDM0UsQ0FBQztDQUNGO0FBSkQsb0RBSUM7QUFFRCxNQUFhLG9CQUFxQixTQUFRLEtBQUs7SUFDN0MsWUFBWSxDQUFTO1FBQ25CLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBSkQsb0RBSUMifQ==
@@ -1,59 +0,0 @@
1
- import type HttpRequester from '../http-requester';
2
- import ActionField from '../action-fields/action-field';
3
- import ActionFieldCheckbox from '../action-fields/action-field-checkbox';
4
- import ActionFieldCheckboxGroup from '../action-fields/action-field-checkbox-group';
5
- import ActionFieldColorPicker from '../action-fields/action-field-color-picker';
6
- import ActionFieldDate from '../action-fields/action-field-date';
7
- import ActionFieldDropdown from '../action-fields/action-field-dropdown';
8
- import ActionFieldEnum from '../action-fields/action-field-enum';
9
- import ActionFieldJson from '../action-fields/action-field-json';
10
- import ActionFieldNumber from '../action-fields/action-field-number';
11
- import ActionFieldNumberList from '../action-fields/action-field-number-list';
12
- import ActionFieldRadioGroup from '../action-fields/action-field-radio-group';
13
- import ActionFieldString from '../action-fields/action-field-string';
14
- import ActionFieldStringList from '../action-fields/action-field-string-list';
15
- import FieldFormStates from '../action-fields/field-form-states';
16
- import ActionLayoutRoot from '../action-layout/action-layout-root';
17
- export type BaseActionContext = {
18
- recordId?: string | number;
19
- recordIds?: string[] | number[];
20
- };
21
- export type ActionEndpointsByCollection = {
22
- [collectionName: string]: {
23
- [actionName: string]: {
24
- name: string;
25
- endpoint: string;
26
- };
27
- };
28
- };
29
- export default class Action<TypingsSchema> {
30
- private readonly collectionName;
31
- private readonly httpRequester;
32
- protected readonly fieldsFormStates: FieldFormStates<TypingsSchema>;
33
- private readonly ids;
34
- private actionPath;
35
- constructor(collectionName: keyof TypingsSchema, httpRequester: HttpRequester, actionPath: string, fieldsFormStates: FieldFormStates<TypingsSchema>, ids?: (string | number)[]);
36
- execute(validateApproval?: boolean): Promise<{
37
- success: string;
38
- html?: string;
39
- }>;
40
- private getSignedApprovalRequest;
41
- setFields(fields: Record<string, unknown>): Promise<void>;
42
- getFields(): ActionField<TypingsSchema>[];
43
- getField(fieldName: string): ActionField<TypingsSchema>;
44
- getFieldNumber(fieldName: string): ActionFieldNumber<TypingsSchema>;
45
- getFieldJson(fieldName: string): ActionFieldJson<TypingsSchema>;
46
- getFieldNumberList(fieldName: string): ActionFieldNumberList<TypingsSchema>;
47
- getFieldString(fieldName: string): ActionFieldString<TypingsSchema>;
48
- getFieldStringList(fieldName: string): ActionFieldStringList<TypingsSchema>;
49
- getDropdownField(fieldName: string): ActionFieldDropdown<TypingsSchema>;
50
- getCheckboxField(fieldName: string): ActionFieldCheckbox<TypingsSchema>;
51
- getCheckboxGroupField(fieldName: string): ActionFieldCheckboxGroup<TypingsSchema>;
52
- getColorPickerField(fieldName: string): ActionFieldColorPicker<TypingsSchema>;
53
- getDateField(fieldName: string): ActionFieldDate<TypingsSchema>;
54
- getEnumField(fieldName: string): ActionFieldEnum<TypingsSchema>;
55
- getRadioGroupField(fieldName: string): ActionFieldRadioGroup<TypingsSchema>;
56
- getLayout(): ActionLayoutRoot;
57
- doesFieldExist(fieldName: string): boolean;
58
- }
59
- //# sourceMappingURL=action.d.ts.map
@@ -1,139 +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 jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
7
- const action_field_checkbox_1 = __importDefault(require("../action-fields/action-field-checkbox"));
8
- const action_field_checkbox_group_1 = __importDefault(require("../action-fields/action-field-checkbox-group"));
9
- const action_field_color_picker_1 = __importDefault(require("../action-fields/action-field-color-picker"));
10
- const action_field_date_1 = __importDefault(require("../action-fields/action-field-date"));
11
- const action_field_dropdown_1 = __importDefault(require("../action-fields/action-field-dropdown"));
12
- const action_field_enum_1 = __importDefault(require("../action-fields/action-field-enum"));
13
- const action_field_json_1 = __importDefault(require("../action-fields/action-field-json"));
14
- const action_field_number_1 = __importDefault(require("../action-fields/action-field-number"));
15
- const action_field_number_list_1 = __importDefault(require("../action-fields/action-field-number-list"));
16
- const action_field_radio_group_1 = __importDefault(require("../action-fields/action-field-radio-group"));
17
- const action_field_string_1 = __importDefault(require("../action-fields/action-field-string"));
18
- const action_field_string_list_1 = __importDefault(require("../action-fields/action-field-string-list"));
19
- const action_layout_root_1 = __importDefault(require("../action-layout/action-layout-root"));
20
- class Action {
21
- constructor(collectionName, httpRequester, actionPath, fieldsFormStates, ids) {
22
- this.collectionName = collectionName;
23
- this.httpRequester = httpRequester;
24
- this.ids = ids ?? undefined;
25
- this.actionPath = actionPath;
26
- this.fieldsFormStates = fieldsFormStates;
27
- }
28
- async execute(validateApproval) {
29
- const requestBody = {
30
- data: {
31
- attributes: {
32
- collection_name: this.collectionName,
33
- ids: this.ids,
34
- values: this.fieldsFormStates.getFieldValues(),
35
- signed_approval_request: validateApproval ? this.getSignedApprovalRequest() : undefined,
36
- },
37
- type: 'custom-action-requests',
38
- },
39
- };
40
- return this.httpRequester.query({
41
- method: 'post',
42
- path: this.actionPath,
43
- body: requestBody,
44
- });
45
- }
46
- getSignedApprovalRequest() {
47
- return jsonwebtoken_1.default.sign({
48
- data: {
49
- attributes: {
50
- status: 'in-progress',
51
- closed_at: null,
52
- updated_at: new Date().toISOString(),
53
- error_message: null,
54
- requester_id: 1,
55
- },
56
- },
57
- }, this.httpRequester.agentOptions.envSecret, { expiresIn: '1 hours' });
58
- }
59
- async setFields(fields) {
60
- for (const [fieldName, value] of Object.entries(fields)) {
61
- // eslint-disable-next-line no-await-in-loop
62
- await this.fieldsFormStates.setFieldValue(fieldName, value);
63
- }
64
- }
65
- getFields() {
66
- return this.fieldsFormStates.getFields().map(f => {
67
- return this.getField(f.getName());
68
- });
69
- }
70
- getField(fieldName) {
71
- const field = this.fieldsFormStates.getField(fieldName);
72
- const type = typeof field.getType() === 'string' ? field.getType() : JSON.stringify(field.getType());
73
- switch (type) {
74
- case 'Number':
75
- return this.getFieldNumber(fieldName);
76
- case 'Json':
77
- return this.getFieldJson(fieldName);
78
- case 'NumberList':
79
- case '["Number"]':
80
- return this.getFieldNumberList(fieldName);
81
- case 'StringList':
82
- case '["String"]':
83
- return this.getFieldStringList(fieldName);
84
- case 'Boolean':
85
- return this.getCheckboxField(fieldName);
86
- case 'Date':
87
- return this.getDateField(fieldName);
88
- case 'Enum':
89
- return this.getEnumField(fieldName);
90
- case 'String':
91
- default:
92
- return this.getFieldString(fieldName);
93
- }
94
- }
95
- getFieldNumber(fieldName) {
96
- return new action_field_number_1.default(fieldName, this.fieldsFormStates);
97
- }
98
- getFieldJson(fieldName) {
99
- return new action_field_json_1.default(fieldName, this.fieldsFormStates);
100
- }
101
- getFieldNumberList(fieldName) {
102
- return new action_field_number_list_1.default(fieldName, this.fieldsFormStates);
103
- }
104
- getFieldString(fieldName) {
105
- return new action_field_string_1.default(fieldName, this.fieldsFormStates);
106
- }
107
- getFieldStringList(fieldName) {
108
- return new action_field_string_list_1.default(fieldName, this.fieldsFormStates);
109
- }
110
- getDropdownField(fieldName) {
111
- return new action_field_dropdown_1.default(fieldName, this.fieldsFormStates);
112
- }
113
- getCheckboxField(fieldName) {
114
- return new action_field_checkbox_1.default(fieldName, this.fieldsFormStates);
115
- }
116
- getCheckboxGroupField(fieldName) {
117
- return new action_field_checkbox_group_1.default(fieldName, this.fieldsFormStates);
118
- }
119
- getColorPickerField(fieldName) {
120
- return new action_field_color_picker_1.default(fieldName, this.fieldsFormStates);
121
- }
122
- getDateField(fieldName) {
123
- return new action_field_date_1.default(fieldName, this.fieldsFormStates);
124
- }
125
- getEnumField(fieldName) {
126
- return new action_field_enum_1.default(fieldName, this.fieldsFormStates);
127
- }
128
- getRadioGroupField(fieldName) {
129
- return new action_field_radio_group_1.default(fieldName, this.fieldsFormStates);
130
- }
131
- getLayout() {
132
- return new action_layout_root_1.default(this.fieldsFormStates.getLayout());
133
- }
134
- doesFieldExist(fieldName) {
135
- return Boolean(this.fieldsFormStates.getField(fieldName));
136
- }
137
- }
138
- exports.default = Action;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlbW90ZS1hZ2VudC1jbGllbnQvZG9tYWlucy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxnRUFBd0M7QUFHeEMsbUdBQXlFO0FBQ3pFLCtHQUFvRjtBQUNwRiwyR0FBZ0Y7QUFDaEYsMkZBQWlFO0FBQ2pFLG1HQUF5RTtBQUN6RSwyRkFBaUU7QUFDakUsMkZBQWlFO0FBQ2pFLCtGQUFxRTtBQUNyRSx5R0FBOEU7QUFDOUUseUdBQThFO0FBQzlFLCtGQUFxRTtBQUNyRSx5R0FBOEU7QUFFOUUsNkZBQW1FO0FBWW5FLE1BQXFCLE1BQU07SUFRekIsWUFDRSxjQUFtQyxFQUNuQyxhQUE0QixFQUM1QixVQUFrQixFQUNsQixnQkFBZ0QsRUFDaEQsR0FBeUI7UUFFekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBMEI7UUFDdEMsTUFBTSxXQUFXLEdBQUc7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRTtvQkFDVixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7b0JBQ3BDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtvQkFDOUMsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUN4RjtnQkFD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
@@ -1,21 +0,0 @@
1
- import { DistributionChart, LeaderboardChart, ObjectiveChart, PercentageChart, TimeBasedChart, ValueChart } from '@forestadmin/datasource-toolkit';
2
- import HttpRequester from '../http-requester';
3
- export interface ChartInterface {
4
- valueChart(...args: unknown[]): Promise<ValueChart>;
5
- distributionChart(...args: unknown[]): Promise<DistributionChart>;
6
- percentageChart(...args: unknown[]): Promise<PercentageChart>;
7
- objectiveChart(...args: unknown[]): Promise<ObjectiveChart>;
8
- leaderboardChart(...args: unknown[]): Promise<LeaderboardChart>;
9
- timeBasedChart(...args: unknown[]): Promise<TimeBasedChart>;
10
- }
11
- export default abstract class Chart implements ChartInterface {
12
- protected httpRequester: HttpRequester;
13
- valueChart(chartName: string): Promise<ValueChart>;
14
- distributionChart(chartName: string): Promise<DistributionChart>;
15
- percentageChart(chartName: string): Promise<PercentageChart>;
16
- objectiveChart(chartName: string): Promise<ObjectiveChart>;
17
- leaderboardChart(chartName: string): Promise<LeaderboardChart>;
18
- timeBasedChart(chartName: string): Promise<TimeBasedChart>;
19
- protected loadChart<Type>(chartName: string, body?: Record<string, unknown>): Promise<Type>;
20
- }
21
- //# sourceMappingURL=chart.d.ts.map
@@ -1,39 +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 http_requester_1 = __importDefault(require("../http-requester"));
7
- class Chart {
8
- async valueChart(chartName) {
9
- return this.loadChart(chartName);
10
- }
11
- async distributionChart(chartName) {
12
- return this.loadChart(chartName);
13
- }
14
- async percentageChart(chartName) {
15
- return this.loadChart(chartName);
16
- }
17
- async objectiveChart(chartName) {
18
- return this.loadChart(chartName);
19
- }
20
- async leaderboardChart(chartName) {
21
- return this.loadChart(chartName);
22
- }
23
- async timeBasedChart(chartName) {
24
- return this.loadChart(chartName);
25
- }
26
- async loadChart(chartName, body) {
27
- if (!this.httpRequester) {
28
- throw new Error('HttpRequester is not initialized. Please ensure it is set before calling chart methods.');
29
- }
30
- const result = await this.httpRequester.query({
31
- method: 'post',
32
- path: `${http_requester_1.default.escapeUrlSlug(`/forest/_charts/${chartName}`)}`,
33
- body,
34
- });
35
- return result.value;
36
- }
37
- }
38
- exports.default = Chart;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVtb3RlLWFnZW50LWNsaWVudC9kb21haW5zL2NoYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsdUVBQThDO0FBVzlDLE1BQThCLEtBQUs7SUFHakMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFpQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBaUI7UUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQWlCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVTLEtBQUssQ0FBQyxTQUFTLENBQ3ZCLFNBQWlCLEVBQ2pCLElBQThCO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FDYix5RkFBeUYsQ0FDMUYsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFrQjtZQUM3RCxNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxHQUFHLHdCQUFhLENBQUMsYUFBYSxDQUFDLG1CQUFtQixTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQ3RFLElBQUk7U0FDTCxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBN0NELHdCQTZDQyJ9
@@ -1,19 +0,0 @@
1
- import { DistributionChart, LeaderboardChart, ObjectiveChart, PercentageChart, TimeBasedChart, ValueChart } from '@forestadmin/datasource-toolkit';
2
- import { ChartInterface } from './chart';
3
- import HttpRequester from '../http-requester';
4
- export type ChartContext = {
5
- recordId: string | number;
6
- };
7
- export default abstract class CollectionChart implements ChartInterface {
8
- protected httpRequester: HttpRequester;
9
- private collectionName;
10
- constructor(collectionName: string, httpRequester: HttpRequester);
11
- valueChart(chartName: string, { recordId }: ChartContext): Promise<ValueChart>;
12
- distributionChart(chartName: string, { recordId }: ChartContext): Promise<DistributionChart>;
13
- percentageChart(chartName: string, { recordId }: ChartContext): Promise<PercentageChart>;
14
- objectiveChart(chartName: string, { recordId }: ChartContext): Promise<ObjectiveChart>;
15
- leaderboardChart(chartName: string, { recordId }: ChartContext): Promise<LeaderboardChart>;
16
- timeBasedChart(chartName: string, { recordId }: ChartContext): Promise<TimeBasedChart>;
17
- protected loadChart<Type>(chartName: string, body?: Record<string, unknown>): Promise<Type>;
18
- }
19
- //# sourceMappingURL=collection-chart.d.ts.map
@@ -1,40 +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 http_requester_1 = __importDefault(require("../http-requester"));
7
- class CollectionChart {
8
- constructor(collectionName, httpRequester) {
9
- this.httpRequester = httpRequester;
10
- this.collectionName = collectionName;
11
- }
12
- async valueChart(chartName, { recordId }) {
13
- return this.loadChart(chartName, { record_id: recordId });
14
- }
15
- async distributionChart(chartName, { recordId }) {
16
- return this.loadChart(chartName, { record_id: recordId });
17
- }
18
- async percentageChart(chartName, { recordId }) {
19
- return this.loadChart(chartName, { record_id: recordId });
20
- }
21
- async objectiveChart(chartName, { recordId }) {
22
- return this.loadChart(chartName, { record_id: recordId });
23
- }
24
- async leaderboardChart(chartName, { recordId }) {
25
- return this.loadChart(chartName, { record_id: recordId });
26
- }
27
- async timeBasedChart(chartName, { recordId }) {
28
- return this.loadChart(chartName, { record_id: recordId });
29
- }
30
- async loadChart(chartName, body) {
31
- const result = await this.httpRequester.query({
32
- method: 'post',
33
- path: `${http_requester_1.default.escapeUrlSlug(`/forest/_charts/${this.collectionName}/${chartName}`)}`,
34
- body,
35
- });
36
- return result.value;
37
- }
38
- }
39
- exports.default = CollectionChart;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2RvbWFpbnMvY29sbGVjdGlvbi1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVVBLHVFQUE4QztBQU05QyxNQUE4QixlQUFlO0lBSTNDLFlBQVksY0FBc0IsRUFBRSxhQUE0QjtRQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFnQjtRQUM1RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FDckIsU0FBaUIsRUFDakIsRUFBRSxRQUFRLEVBQWdCO1FBRTFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFnQjtRQUNqRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBaUIsRUFBRSxFQUFFLFFBQVEsRUFBZ0I7UUFDaEUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxFQUFFLFFBQVEsRUFBZ0I7UUFDbEUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQWdCO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRVMsS0FBSyxDQUFDLFNBQVMsQ0FDdkIsU0FBaUIsRUFDakIsSUFBOEI7UUFFOUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBa0I7WUFDN0QsTUFBTSxFQUFFLE1BQU07WUFDZCxJQUFJLEVBQUUsR0FBRyx3QkFBYSxDQUFDLGFBQWEsQ0FDbEMsbUJBQW1CLElBQUksQ0FBQyxjQUF3QixJQUFJLFNBQVMsRUFBRSxDQUNoRSxFQUFFO1lBQ0gsSUFBSTtTQUNMLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFsREQsa0NBa0RDIn0=
@@ -1,26 +0,0 @@
1
- import type { ExportOptions, LiveQueryOptions, SelectOptions } from '../types';
2
- import type { TSchema } from '@forestadmin/datasource-customizer';
3
- import { WriteStream } from 'fs';
4
- import Action, { ActionEndpointsByCollection, BaseActionContext } from './action';
5
- import CollectionChart from './collection-chart';
6
- import Relation from './relation';
7
- import Segment from './segment';
8
- import HttpRequester from '../http-requester';
9
- export default class Collection<TypingsSchema extends TSchema = TSchema> extends CollectionChart {
10
- protected readonly name: keyof TypingsSchema;
11
- protected readonly actionEndpoints?: ActionEndpointsByCollection;
12
- constructor(name: keyof TypingsSchema, httpRequester: HttpRequester, actionEndpoints: ActionEndpointsByCollection);
13
- action(actionName: string, actionContext?: BaseActionContext): Promise<Action<TypingsSchema>>;
14
- segment(name: string): Segment<TypingsSchema>;
15
- liveQuerySegment(options: LiveQueryOptions): Segment<TypingsSchema>;
16
- relation(name: string, parentId: string | number): Relation<TypingsSchema>;
17
- search<Data = any>(content: string): Promise<Data[]>;
18
- list<Data = any>(options?: SelectOptions): Promise<Data[]>;
19
- exportCsv(stream: WriteStream, options?: ExportOptions): Promise<void>;
20
- count(options?: SelectOptions): Promise<number>;
21
- delete<Data = any>(ids: string[] | number[]): Promise<Data>;
22
- create<Data = any>(attributes: Record<string, unknown>): Promise<Data>;
23
- update<Data = any>(id: string | number, attributes: Record<string, unknown>): Promise<Data>;
24
- private getActionPath;
25
- }
26
- //# sourceMappingURL=collection.d.ts.map
@@ -1,109 +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 action_1 = __importDefault(require("./action"));
7
- const collection_chart_1 = __importDefault(require("./collection-chart"));
8
- const relation_1 = __importDefault(require("./relation"));
9
- const segment_1 = __importDefault(require("./segment"));
10
- const field_form_states_1 = __importDefault(require("../action-fields/field-form-states"));
11
- const query_serializer_1 = __importDefault(require("../query-serializer"));
12
- class Collection extends collection_chart_1.default {
13
- constructor(name, httpRequester, actionEndpoints) {
14
- super(name, httpRequester);
15
- this.name = name;
16
- this.actionEndpoints = actionEndpoints;
17
- }
18
- async action(actionName, actionContext) {
19
- const actionPath = this.getActionPath(this.actionEndpoints, this.name, actionName);
20
- const ids = (actionContext?.recordIds ?? [actionContext?.recordId]).filter(Boolean).map(String);
21
- const fieldsFormStates = new field_form_states_1.default(actionName, actionPath, this.name, this.httpRequester, ids);
22
- const action = new action_1.default(this.name, this.httpRequester, actionPath, fieldsFormStates, ids);
23
- await fieldsFormStates.loadInitialState();
24
- return action;
25
- }
26
- segment(name) {
27
- return new segment_1.default(name, this.name, this.httpRequester);
28
- }
29
- liveQuerySegment(options) {
30
- // there is no name for live query
31
- return new segment_1.default(undefined, this.name, this.httpRequester, options);
32
- }
33
- relation(name, parentId) {
34
- return new relation_1.default(name, this.name, parentId, this.httpRequester);
35
- }
36
- async search(content) {
37
- return this.list({ search: content });
38
- }
39
- async list(options) {
40
- return this.httpRequester.query({
41
- method: 'get',
42
- path: `/forest/${this.name}`,
43
- query: query_serializer_1.default.serialize(options, this.name),
44
- });
45
- }
46
- async exportCsv(stream, options) {
47
- await this.httpRequester.stream({
48
- path: `/forest/${this.name}.csv`,
49
- contentType: 'text/csv',
50
- query: {
51
- ...query_serializer_1.default.serialize(options, this.name),
52
- ...{ header: JSON.stringify(options?.projection) },
53
- },
54
- stream,
55
- });
56
- }
57
- async count(options) {
58
- return Number((await this.httpRequester.query({
59
- method: 'get',
60
- path: `/forest/${this.name}/count`,
61
- query: query_serializer_1.default.serialize(options, this.name),
62
- })).count);
63
- }
64
- async delete(ids) {
65
- const serializedIds = ids.map((id) => id.toString());
66
- const requestBody = {
67
- data: {
68
- attributes: { collection_name: this.name, ids: serializedIds },
69
- type: 'action-requests',
70
- },
71
- };
72
- return this.httpRequester.query({
73
- method: 'delete',
74
- path: `/forest/${this.name}`,
75
- body: requestBody,
76
- });
77
- }
78
- async create(attributes) {
79
- const requestBody = { data: { attributes, type: this.name } };
80
- return this.httpRequester.query({
81
- method: 'post',
82
- path: `/forest/${this.name}`,
83
- body: requestBody,
84
- });
85
- }
86
- async update(id, attributes) {
87
- const requestBody = { data: { attributes, type: this.name, id: id.toString() } };
88
- return this.httpRequester.query({
89
- method: 'put',
90
- path: `/forest/${this.name}/${id.toString()}`,
91
- body: requestBody,
92
- });
93
- }
94
- getActionPath(actionEndpoints, collectionName, actionName) {
95
- const collection = actionEndpoints[collectionName];
96
- if (!collection)
97
- throw new Error(`Collection ${collectionName} not found in schema`);
98
- const action = collection[actionName];
99
- if (!action) {
100
- throw new Error(`Action ${actionName} not found in collection ${collectionName}`);
101
- }
102
- if (!action.endpoint) {
103
- throw new Error(`Action ${actionName} not found in collection ${collectionName}`);
104
- }
105
- return action.endpoint;
106
- }
107
- }
108
- exports.default = Collection;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZW1vdGUtYWdlbnQtY2xpZW50L2RvbWFpbnMvY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLHNEQUFrRjtBQUNsRiwwRUFBaUQ7QUFDakQsMERBQWtDO0FBQ2xDLHdEQUFnQztBQUNoQywyRkFBaUU7QUFFakUsMkVBQWtEO0FBRWxELE1BQXFCLFVBQW9ELFNBQVEsMEJBQWU7SUFJOUYsWUFDRSxJQUF5QixFQUN6QixhQUE0QixFQUM1QixlQUE0QztRQUU1QyxLQUFLLENBQUMsSUFBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUNWLFVBQWtCLEVBQ2xCLGFBQWlDO1FBRWpDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLFNBQVMsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEcsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLDJCQUFlLENBQzFDLFVBQVUsRUFDVixVQUFVLEVBQ1YsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsYUFBYSxFQUNsQixHQUFHLENBQ0osQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQU0sQ0FDdkIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsYUFBYSxFQUNsQixVQUFVLEVBQ1YsZ0JBQWdC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
@@ -1,11 +0,0 @@
1
- import type HttpRequester from '../http-requester';
2
- import type { SelectOptions } from '../types';
3
- export default class Relation<TypingsSchema> {
4
- private readonly name;
5
- private readonly collectionName;
6
- private readonly parentId;
7
- private readonly httpRequester;
8
- constructor(name: string, collectionName: keyof TypingsSchema, parentId: string | number, httpRequester: HttpRequester);
9
- list<Data = unknown>(options?: SelectOptions): Promise<Data[]>;
10
- }
11
- //# sourceMappingURL=relation.d.ts.map
@@ -1,23 +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 query_serializer_1 = __importDefault(require("../query-serializer"));
7
- class Relation {
8
- constructor(name, collectionName, parentId, httpRequester) {
9
- this.name = name;
10
- this.collectionName = collectionName;
11
- this.httpRequester = httpRequester;
12
- this.parentId = parentId;
13
- }
14
- list(options) {
15
- return this.httpRequester.query({
16
- method: 'get',
17
- path: `/forest/${this.collectionName}/${this.parentId}/relationships/${this.name}`,
18
- query: query_serializer_1.default.serialize(options, this.collectionName),
19
- });
20
- }
21
- }
22
- exports.default = Relation;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVtb3RlLWFnZW50LWNsaWVudC9kb21haW5zL3JlbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkVBQWtEO0FBRWxELE1BQXFCLFFBQVE7SUFNM0IsWUFDRSxJQUFZLEVBQ1osY0FBbUMsRUFDbkMsUUFBeUIsRUFDekIsYUFBNEI7UUFFNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksQ0FBaUIsT0FBdUI7UUFDMUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBUztZQUN0QyxNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxXQUFXLElBQUksQ0FBQyxjQUF3QixJQUFJLElBQUksQ0FBQyxRQUFRLGtCQUFrQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzVGLEtBQUssRUFBRSwwQkFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQXdCLENBQUM7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekJELDJCQXlCQyJ9
@@ -1,41 +0,0 @@
1
- import type { TSchema } from '@forestadmin/datasource-customizer';
2
- import { RawTreeWithSources } from '@forestadmin/forestadmin-client';
3
- import { ActionEndpointsByCollection } from './action';
4
- import Chart from './chart';
5
- import Collection from './collection';
6
- import HttpRequester from '../http-requester';
7
- export type SmartActionPermissionsOverride = Partial<{
8
- triggerEnabled: boolean;
9
- triggerConditions: RawTreeWithSources;
10
- approvalRequired: boolean;
11
- approvalRequiredConditions: RawTreeWithSources;
12
- userApprovalEnabled: boolean;
13
- userApprovalConditions: RawTreeWithSources;
14
- selfApprovalEnabled: boolean;
15
- }>;
16
- export type CollectionPermissionsOverride = Partial<{
17
- browseEnabled: boolean;
18
- deleteEnabled: boolean;
19
- editEnabled: boolean;
20
- exportEnabled: boolean;
21
- addEnabled: boolean;
22
- readEnabled: boolean;
23
- }>;
24
- export type PermissionsOverride = Record<string, {
25
- collection: CollectionPermissionsOverride;
26
- actions: Record<string, SmartActionPermissionsOverride>;
27
- }>;
28
- export default class RemoteAgentClient<TypingsSchema extends TSchema = TSchema> extends Chart {
29
- protected actionEndpoints?: ActionEndpointsByCollection;
30
- private overridePermissions?;
31
- constructor(params?: {
32
- actionEndpoints?: ActionEndpointsByCollection;
33
- httpRequester: HttpRequester;
34
- overridePermissions?: (permissions: PermissionsOverride) => Promise<void>;
35
- });
36
- overrideCollectionPermission(collectionName: keyof TypingsSchema, permissions: CollectionPermissionsOverride): Promise<void>;
37
- overrideActionPermission(collectionName: keyof TypingsSchema, actionName: string, permissions: SmartActionPermissionsOverride): Promise<void>;
38
- clearPermissionOverride(): Promise<void>;
39
- collection(name: keyof TypingsSchema): Collection<TypingsSchema>;
40
- }
41
- //# sourceMappingURL=remote-agent-client.d.ts.map