@forestadmin/datasource-customizer 1.9.2 → 1.10.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/decorators/actions/collection.d.ts +1 -3
- package/dist/decorators/actions/collection.js +3 -3
- package/dist/decorators/binary/collection.d.ts +1 -3
- package/dist/decorators/binary/collection.js +2 -3
- package/dist/decorators/chart/collection.d.ts +1 -2
- package/dist/decorators/chart/collection.js +3 -3
- package/dist/decorators/chart/datasource.d.ts +1 -2
- package/dist/decorators/chart/datasource.js +3 -3
- package/dist/decorators/computed/collection.d.ts +1 -3
- package/dist/decorators/computed/collection.js +2 -3
- package/dist/decorators/decorators-stack.d.ts +1 -2
- package/dist/decorators/decorators-stack.js +21 -21
- package/dist/decorators/empty/collection.d.ts +1 -2
- package/dist/decorators/empty/collection.js +2 -6
- package/dist/decorators/hook/collection.d.ts +1 -2
- package/dist/decorators/hook/collection.js +3 -3
- package/dist/decorators/operators-emulate/collection.d.ts +1 -3
- package/dist/decorators/operators-emulate/collection.js +2 -3
- package/dist/decorators/operators-equivalence/collection.d.ts +1 -2
- package/dist/decorators/operators-equivalence/collection.js +2 -6
- package/dist/decorators/publication-collection/datasource.d.ts +1 -2
- package/dist/decorators/publication-collection/datasource.js +3 -3
- package/dist/decorators/publication-field/collection.d.ts +1 -3
- package/dist/decorators/publication-field/collection.js +2 -6
- package/dist/decorators/relation/collection.d.ts +1 -3
- package/dist/decorators/relation/collection.js +2 -6
- package/dist/decorators/rename-collection/collection.d.ts +1 -2
- package/dist/decorators/rename-collection/collection.js +3 -6
- package/dist/decorators/rename-collection/datasource.d.ts +1 -2
- package/dist/decorators/rename-collection/datasource.js +3 -3
- package/dist/decorators/rename-field/collection.d.ts +1 -3
- package/dist/decorators/rename-field/collection.js +3 -6
- package/dist/decorators/schema/collection.d.ts +1 -2
- package/dist/decorators/schema/collection.js +3 -6
- package/dist/decorators/search/collection.d.ts +1 -2
- package/dist/decorators/search/collection.js +2 -3
- package/dist/decorators/segment/collection.d.ts +1 -2
- package/dist/decorators/segment/collection.js +2 -3
- package/dist/decorators/sort-emulate/collection.d.ts +1 -3
- package/dist/decorators/sort-emulate/collection.js +2 -6
- package/dist/decorators/validation/collection.d.ts +1 -2
- package/dist/decorators/validation/collection.js +2 -6
- package/dist/decorators/write/create-relations/collection.d.ts +1 -2
- package/dist/decorators/write/create-relations/collection.js +2 -6
- package/dist/decorators/write/datasource.d.ts +1 -2
- package/dist/decorators/write/datasource.js +5 -5
- package/dist/decorators/write/update-relations/collection.d.ts +1 -2
- package/dist/decorators/write/update-relations/collection.js +2 -6
- package/dist/decorators/write/write-replace/collection.d.ts +1 -3
- package/dist/decorators/write/write-replace/collection.js +5 -6
- package/dist/decorators/write/write-replace/context.d.ts +4 -3
- package/dist/decorators/write/write-replace/context.js +3 -2
- package/dist/decorators/write/write-replace/types.d.ts +1 -0
- package/dist/decorators/write/write-replace/types.js +7 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/package.json +2 -2
- package/dist/decorators/collection-decorator.d.ts +0 -21
- package/dist/decorators/collection-decorator.js +0 -72
- package/dist/decorators/datasource-decorator.d.ts +0 -15
- package/dist/decorators/datasource-decorator.js +0 -27
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
7
|
-
|
|
8
|
-
class UpdateRelationCollectionDecorator extends collection_decorator_1.default {
|
|
4
|
+
class UpdateRelationCollectionDecorator extends datasource_toolkit_1.CollectionDecorator {
|
|
9
5
|
async update(caller, filter, patch) {
|
|
10
6
|
// Step 1: Perform the normal update
|
|
11
7
|
if (Object.keys(patch).some(key => this.schema.fields[key].type === 'Column')) {
|
|
@@ -77,4 +73,4 @@ class UpdateRelationCollectionDecorator extends collection_decorator_1.default {
|
|
|
77
73
|
}
|
|
78
74
|
}
|
|
79
75
|
exports.default = UpdateRelationCollectionDecorator;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3dyaXRlL3VwZGF0ZS1yZWxhdGlvbnMvY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdFQVN5QztBQUV6QyxNQUFxQixpQ0FBa0MsU0FBUSx3Q0FBbUI7SUFDdkUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsTUFBYyxFQUFFLEtBQWlCO1FBQ3JFLG9DQUFvQztRQUNwQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxFQUFFO1lBQzdFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3BFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDM0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRVAsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixDQUFDLENBQUM7U0FDMUU7UUFFRCxtREFBbUQ7UUFDbkQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFN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
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { Caller, CollectionSchema, Filter, RecordData } from '@forestadmin/datasource-toolkit';
|
|
1
|
+
import { Caller, CollectionDecorator, CollectionSchema, DataSourceDecorator, Filter, RecordData } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
import { WriteDefinition } from './types';
|
|
3
|
-
import CollectionDecorator from '../../collection-decorator';
|
|
4
|
-
import DataSourceDecorator from '../../datasource-decorator';
|
|
5
3
|
export default class WriteReplacerCollectionDecorator extends CollectionDecorator {
|
|
6
4
|
private handlers;
|
|
7
5
|
readonly dataSource: DataSourceDecorator<WriteReplacerCollectionDecorator>;
|
|
@@ -5,8 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
7
7
|
const context_1 = __importDefault(require("./context"));
|
|
8
|
-
|
|
9
|
-
class WriteReplacerCollectionDecorator extends collection_decorator_1.default {
|
|
8
|
+
class WriteReplacerCollectionDecorator extends datasource_toolkit_1.CollectionDecorator {
|
|
10
9
|
constructor() {
|
|
11
10
|
super(...arguments);
|
|
12
11
|
this.handlers = {};
|
|
@@ -34,15 +33,15 @@ class WriteReplacerCollectionDecorator extends collection_decorator_1.default {
|
|
|
34
33
|
return this.childCollection.create(caller, newRecords);
|
|
35
34
|
}
|
|
36
35
|
async update(caller, filter, patch) {
|
|
37
|
-
const newPatch = await this.rewritePatch(caller, 'update', patch);
|
|
36
|
+
const newPatch = await this.rewritePatch(caller, 'update', patch, [], filter);
|
|
38
37
|
return this.childCollection.update(caller, filter, newPatch);
|
|
39
38
|
}
|
|
40
39
|
/**
|
|
41
40
|
* Takes a patch and recursively applies all rewriting rules to it.
|
|
42
41
|
*/
|
|
43
|
-
async rewritePatch(caller, action, patch, usedHandlers = []) {
|
|
42
|
+
async rewritePatch(caller, action, patch, usedHandlers = [], filter) {
|
|
44
43
|
// We rewrite the patch by applying all handlers on each field.
|
|
45
|
-
const context = new context_1.default(this, caller, action, patch);
|
|
44
|
+
const context = new context_1.default(this, caller, action, patch, filter);
|
|
46
45
|
const patches = await Promise.all(Object.keys(patch).map(key => this.rewriteKey(context, key, usedHandlers)));
|
|
47
46
|
// We now have a list of patches (one per field) that we can merge.
|
|
48
47
|
const newPatch = this.deepMerge(...patches);
|
|
@@ -102,4 +101,4 @@ class WriteReplacerCollectionDecorator extends collection_decorator_1.default {
|
|
|
102
101
|
}
|
|
103
102
|
}
|
|
104
103
|
exports.default = WriteReplacerCollectionDecorator;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3dyaXRlL3dyaXRlLXJlcGxhY2UvY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQVN5QztBQUV6Qyx3REFBa0Q7QUFHbEQsTUFBcUIsZ0NBQWlDLFNBQVEsd0NBQW1CO0lBQWpGOztRQUNVLGFBQVEsR0FBb0MsRUFBRSxDQUFDO0lBOEh6RCxDQUFDO0lBM0hDLG1CQUFtQixDQUFDLFNBQWlCLEVBQUUsVUFBMkI7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FDYixvQkFBb0IsU0FBUywyQkFBMkIsSUFBSSxDQUFDLElBQUksY0FBYyxDQUNoRixDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRWtCLFlBQVksQ0FBQyxXQUE2QjtRQUMzRCxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsV0FBVyxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFckUsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2hFLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUc7Z0JBQ3pCLEdBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQWtCO2dCQUM3QyxVQUFVLEVBQUUsT0FBTyxLQUFLLElBQUk7YUFDN0IsQ0FBQztTQUNIO1FB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
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Caller, Collection } from '@forestadmin/datasource-toolkit';
|
|
1
|
+
import { Caller, Collection, Filter } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
import CollectionCustomizationContext from '../../../context/collection-context';
|
|
3
|
-
import { TCollectionName, TPartialSimpleRow, TSchema } from '../../../templates';
|
|
3
|
+
import { TCollectionName, TFilter, TPartialSimpleRow, TSchema } from '../../../templates';
|
|
4
4
|
export default class WriteCustomizationContext<S extends TSchema = TSchema, N extends TCollectionName<S> = TCollectionName<S>> extends CollectionCustomizationContext<S, N> {
|
|
5
5
|
readonly action: 'update' | 'create';
|
|
6
6
|
readonly record: TPartialSimpleRow<S, N>;
|
|
7
|
-
|
|
7
|
+
readonly filter?: TFilter<S, N>;
|
|
8
|
+
constructor(collection: Collection, caller: Caller, action: 'update' | 'create', record: TPartialSimpleRow<S, N>, filter?: Filter);
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -5,11 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const collection_context_1 = __importDefault(require("../../../context/collection-context"));
|
|
7
7
|
class WriteCustomizationContext extends collection_context_1.default {
|
|
8
|
-
constructor(collection, caller, action, record) {
|
|
8
|
+
constructor(collection, caller, action, record, filter) {
|
|
9
9
|
super(collection, caller);
|
|
10
10
|
this.action = action;
|
|
11
|
+
this.filter = filter;
|
|
11
12
|
this.record = Object.freeze({ ...record });
|
|
12
13
|
}
|
|
13
14
|
}
|
|
14
15
|
exports.default = WriteCustomizationContext;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3dyaXRlL3dyaXRlLXJlcGxhY2UvY29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLDZGQUFpRjtBQUdqRixNQUFxQix5QkFHbkIsU0FBUSw0QkFBb0M7SUFLNUMsWUFDRSxVQUFzQixFQUN0QixNQUFjLEVBQ2QsTUFBMkIsRUFDM0IsTUFBK0IsRUFDL0IsTUFBZTtRQUVmLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFrQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFyQkQsNENBcUJDIn0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import WriteCustomizationContext from './context';
|
|
2
2
|
import { TCollectionName, TFieldName, TFieldType, TPartialRow, TSchema } from '../../../templates';
|
|
3
|
+
export { WriteCustomizationContext };
|
|
3
4
|
export type WriteDefinition<S extends TSchema = TSchema, N extends TCollectionName<S> = TCollectionName<S>, C extends TFieldName<S, N> = TFieldName<S, N>> = null | ((value: TFieldType<S, N, C>, context: WriteCustomizationContext<S, N>) => Promise<TPartialRow<S, N> | void> | TPartialRow<S, N> | void);
|
|
4
5
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
6
|
+
exports.WriteCustomizationContext = void 0;
|
|
7
|
+
const context_1 = __importDefault(require("./context"));
|
|
8
|
+
exports.WriteCustomizationContext = context_1.default;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9ycy93cml0ZS93cml0ZS1yZXBsYWNlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdEQUFrRDtBQUd6QyxvQ0FIRixpQkFBeUIsQ0FHRSJ9
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { OperatorDefinition } from './decorators/operators-emulate/types';
|
|
|
10
10
|
export { RelationDefinition } from './decorators/relation/types';
|
|
11
11
|
export { SearchDefinition } from './decorators/search/types';
|
|
12
12
|
export { SegmentDefinition } from './decorators/segment/types';
|
|
13
|
-
export
|
|
13
|
+
export * from './decorators/write/write-replace/types';
|
|
14
14
|
export * from './decorators/hook/types';
|
|
15
15
|
export { default as CollectionCustomizationContext } from './context/collection-context';
|
|
16
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,9 @@ __exportStar(require("./types"), exports);
|
|
|
27
27
|
// Decorators (helpers)
|
|
28
28
|
__exportStar(require("./decorators/actions/types/actions"), exports);
|
|
29
29
|
__exportStar(require("./decorators/actions/types/fields"), exports);
|
|
30
|
+
__exportStar(require("./decorators/write/write-replace/types"), exports);
|
|
30
31
|
__exportStar(require("./decorators/hook/types"), exports);
|
|
31
32
|
// Context
|
|
32
33
|
var collection_context_1 = require("./context/collection-context");
|
|
33
34
|
Object.defineProperty(exports, "CollectionCustomizationContext", { enumerable: true, get: function () { return __importDefault(collection_context_1).default; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpRUFBMEU7QUFBakUsOElBQUEsT0FBTyxPQUF3QjtBQUN4QyxpRUFBMEU7QUFBakUsOElBQUEsT0FBTyxPQUF3QjtBQUV4Qyw4Q0FBNEI7QUFDNUIsMENBQXdCO0FBRXhCLHVCQUF1QjtBQUN2QixxRUFBbUQ7QUFDbkQsb0VBQWtEO0FBT2xELHlFQUF1RDtBQUN2RCwwREFBd0M7QUFFeEMsVUFBVTtBQUNWLG1FQUF5RjtBQUFoRixxSkFBQSxPQUFPLE9BQWtDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forestadmin/datasource-customizer",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@types/uuid": "^9.0.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@forestadmin/datasource-toolkit": "1.5.
|
|
31
|
+
"@forestadmin/datasource-toolkit": "1.5.1",
|
|
32
32
|
"file-type": "version-16",
|
|
33
33
|
"luxon": "^3.2.1",
|
|
34
34
|
"object-hash": "^3.0.0",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ActionField, ActionResult, AggregateResult, Aggregation, Caller, Chart, Collection, CollectionSchema, CompositeId, DataSource, Filter, PaginatedFilter, Projection, RecordData } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
export default class CollectionDecorator implements Collection {
|
|
3
|
-
readonly dataSource: DataSource;
|
|
4
|
-
protected childCollection: Collection;
|
|
5
|
-
private lastSchema;
|
|
6
|
-
get schema(): CollectionSchema;
|
|
7
|
-
get name(): string;
|
|
8
|
-
constructor(childCollection: Collection, dataSource: DataSource);
|
|
9
|
-
execute(caller: Caller, name: string, data: RecordData, filter?: Filter): Promise<ActionResult>;
|
|
10
|
-
getForm(caller: Caller, name: string, data?: RecordData, filter?: Filter): Promise<ActionField[]>;
|
|
11
|
-
create(caller: Caller, data: RecordData[]): Promise<RecordData[]>;
|
|
12
|
-
list(caller: Caller, filter: PaginatedFilter, projection: Projection): Promise<RecordData[]>;
|
|
13
|
-
update(caller: Caller, filter: Filter, patch: RecordData): Promise<void>;
|
|
14
|
-
delete(caller: Caller, filter: Filter): Promise<void>;
|
|
15
|
-
aggregate(caller: Caller, filter: Filter, aggregation: Aggregation, limit?: number): Promise<AggregateResult[]>;
|
|
16
|
-
renderChart(caller: Caller, name: string, recordId: CompositeId): Promise<Chart>;
|
|
17
|
-
protected markSchemaAsDirty(): void;
|
|
18
|
-
protected refineFilter(caller: Caller, filter?: PaginatedFilter): Promise<PaginatedFilter>;
|
|
19
|
-
protected refineSchema(subSchema: CollectionSchema): CollectionSchema;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=collection-decorator.d.ts.map
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class CollectionDecorator {
|
|
4
|
-
get schema() {
|
|
5
|
-
if (!this.lastSchema) {
|
|
6
|
-
// If the schema is not cached (at the first call, or after a markSchemaAsDirty call),
|
|
7
|
-
const subSchema = this.childCollection.schema;
|
|
8
|
-
this.lastSchema = this.refineSchema(subSchema);
|
|
9
|
-
}
|
|
10
|
-
return this.lastSchema;
|
|
11
|
-
}
|
|
12
|
-
get name() {
|
|
13
|
-
return this.childCollection.name;
|
|
14
|
-
}
|
|
15
|
-
constructor(childCollection, dataSource) {
|
|
16
|
-
this.childCollection = childCollection;
|
|
17
|
-
this.dataSource = dataSource;
|
|
18
|
-
// When the child collection invalidates its schema, we also invalidate ours.
|
|
19
|
-
// This is done like this, and not in the markSchemaAsDirty method, because we don't have
|
|
20
|
-
// a reference to parent collections from children.
|
|
21
|
-
if (childCollection instanceof CollectionDecorator) {
|
|
22
|
-
const originalChildMarkSchemaAsDirty = childCollection.markSchemaAsDirty;
|
|
23
|
-
childCollection.markSchemaAsDirty = () => {
|
|
24
|
-
// Call the original method (the child)
|
|
25
|
-
originalChildMarkSchemaAsDirty.call(childCollection);
|
|
26
|
-
// Invalidate our schema (the parent)
|
|
27
|
-
this.markSchemaAsDirty();
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
async execute(caller, name, data, filter) {
|
|
32
|
-
const refinedFilter = await this.refineFilter(caller, filter);
|
|
33
|
-
return this.childCollection.execute(caller, name, data, refinedFilter);
|
|
34
|
-
}
|
|
35
|
-
async getForm(caller, name, data, filter) {
|
|
36
|
-
const refinedFilter = await this.refineFilter(caller, filter);
|
|
37
|
-
return this.childCollection.getForm(caller, name, data, refinedFilter);
|
|
38
|
-
}
|
|
39
|
-
async create(caller, data) {
|
|
40
|
-
return this.childCollection.create(caller, data);
|
|
41
|
-
}
|
|
42
|
-
async list(caller, filter, projection) {
|
|
43
|
-
const refinedFilter = await this.refineFilter(caller, filter);
|
|
44
|
-
return this.childCollection.list(caller, refinedFilter, projection);
|
|
45
|
-
}
|
|
46
|
-
async update(caller, filter, patch) {
|
|
47
|
-
const refinedFilter = await this.refineFilter(caller, filter);
|
|
48
|
-
return this.childCollection.update(caller, refinedFilter, patch);
|
|
49
|
-
}
|
|
50
|
-
async delete(caller, filter) {
|
|
51
|
-
const refinedFilter = await this.refineFilter(caller, filter);
|
|
52
|
-
return this.childCollection.delete(caller, refinedFilter);
|
|
53
|
-
}
|
|
54
|
-
async aggregate(caller, filter, aggregation, limit) {
|
|
55
|
-
const refinedFilter = await this.refineFilter(caller, filter);
|
|
56
|
-
return this.childCollection.aggregate(caller, refinedFilter, aggregation, limit);
|
|
57
|
-
}
|
|
58
|
-
async renderChart(caller, name, recordId) {
|
|
59
|
-
return this.childCollection.renderChart(caller, name, recordId);
|
|
60
|
-
}
|
|
61
|
-
markSchemaAsDirty() {
|
|
62
|
-
this.lastSchema = null;
|
|
63
|
-
}
|
|
64
|
-
async refineFilter(caller, filter) {
|
|
65
|
-
return filter;
|
|
66
|
-
}
|
|
67
|
-
refineSchema(subSchema) {
|
|
68
|
-
return subSchema;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.default = CollectionDecorator;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9jb2xsZWN0aW9uLWRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxNQUFxQixtQkFBbUI7SUFNdEMsSUFBSSxNQUFNO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsc0ZBQXNGO1lBQ3RGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO1lBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxlQUEyQixFQUFFLFVBQXNCO1FBQzdELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBRTdCLDZFQUE2RTtRQUM3RSx5RkFBeUY7UUFDekYsbURBQW1EO1FBQ25ELElBQUksZUFBZSxZQUFZLG1CQUFtQixFQUFFO1lBQ2xELE1BQU0sOEJBQThCLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDO1lBRXpFLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZDLHVDQUF1QztnQkFDdkMsOEJBQThCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVyRCxxQ0FBcUM7Z0JBQ3JDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQ1gsTUFBYyxFQUNkLElBQVksRUFDWixJQUFnQixFQUNo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
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { BaseDataSource, Caller, Chart, Collection, DataSource, DataSourceSchema } from '@forestadmin/datasource-toolkit';
|
|
2
|
-
type CollectionDecoratorConstructor<CollectionDecorator extends Collection> = {
|
|
3
|
-
new (c: Collection, d: DataSource): CollectionDecorator;
|
|
4
|
-
};
|
|
5
|
-
export default class DataSourceDecorator<CollectionDecorator extends Collection = Collection> extends BaseDataSource<CollectionDecorator> {
|
|
6
|
-
protected readonly childDataSource: DataSource;
|
|
7
|
-
private readonly CollectionDecoratorCtor;
|
|
8
|
-
private readonly addCollectionToChildDataSource;
|
|
9
|
-
get schema(): DataSourceSchema;
|
|
10
|
-
constructor(childDataSource: DataSource, CollectionDecoratorCtor: CollectionDecoratorConstructor<CollectionDecorator>);
|
|
11
|
-
renderChart(caller: Caller, name: string): Promise<Chart>;
|
|
12
|
-
private addCollectionObserver;
|
|
13
|
-
}
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=datasource-decorator.d.ts.map
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
4
|
-
class DataSourceDecorator extends datasource_toolkit_1.BaseDataSource {
|
|
5
|
-
get schema() {
|
|
6
|
-
return this.childDataSource.schema;
|
|
7
|
-
}
|
|
8
|
-
constructor(childDataSource, CollectionDecoratorCtor) {
|
|
9
|
-
super();
|
|
10
|
-
this.addCollectionToChildDataSource = childDataSource.addCollection.bind(childDataSource);
|
|
11
|
-
Reflect.defineProperty(childDataSource, 'addCollection', {
|
|
12
|
-
value: this.addCollectionObserver.bind(this),
|
|
13
|
-
});
|
|
14
|
-
this.childDataSource = childDataSource;
|
|
15
|
-
this.CollectionDecoratorCtor = CollectionDecoratorCtor;
|
|
16
|
-
this.childDataSource.collections.forEach(collection => this.addCollection(new this.CollectionDecoratorCtor(collection, this)));
|
|
17
|
-
}
|
|
18
|
-
renderChart(caller, name) {
|
|
19
|
-
return this.childDataSource.renderChart(caller, name);
|
|
20
|
-
}
|
|
21
|
-
addCollectionObserver(collection) {
|
|
22
|
-
this.addCollectionToChildDataSource(collection);
|
|
23
|
-
this.addCollection(new this.CollectionDecoratorCtor(collection, this));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.default = DataSourceDecorator;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVjb3JhdG9ycy9kYXRhc291cmNlLWRlY29yYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdFQU95QztBQU16QyxNQUFxQixtQkFFbkIsU0FBUSxtQ0FBbUM7SUFLM0MsSUFBYSxNQUFNO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELFlBQ0UsZUFBMkIsRUFDM0IsdUJBQTRFO1FBRTVFLEtBQUssRUFBRSxDQUFDO1FBRVIsSUFBSSxDQUFDLDhCQUE4QixHQUFHLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRTtZQUN2RCxLQUFLLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDN0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBRXZELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVRLFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUMvQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8scUJBQXFCLENBQUMsVUFBc0I7UUFDbEQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGO0FBdENELHNDQXNDQyJ9
|