@forestadmin/datasource-customizer 1.9.3 → 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/write/write-replace/collection.js +4 -4
- 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 +1 -1
|
@@ -33,15 +33,15 @@ class WriteReplacerCollectionDecorator extends datasource_toolkit_1.CollectionDe
|
|
|
33
33
|
return this.childCollection.create(caller, newRecords);
|
|
34
34
|
}
|
|
35
35
|
async update(caller, filter, patch) {
|
|
36
|
-
const newPatch = await this.rewritePatch(caller, 'update', patch);
|
|
36
|
+
const newPatch = await this.rewritePatch(caller, 'update', patch, [], filter);
|
|
37
37
|
return this.childCollection.update(caller, filter, newPatch);
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Takes a patch and recursively applies all rewriting rules to it.
|
|
41
41
|
*/
|
|
42
|
-
async rewritePatch(caller, action, patch, usedHandlers = []) {
|
|
42
|
+
async rewritePatch(caller, action, patch, usedHandlers = [], filter) {
|
|
43
43
|
// We rewrite the patch by applying all handlers on each field.
|
|
44
|
-
const context = new context_1.default(this, caller, action, patch);
|
|
44
|
+
const context = new context_1.default(this, caller, action, patch, filter);
|
|
45
45
|
const patches = await Promise.all(Object.keys(patch).map(key => this.rewriteKey(context, key, usedHandlers)));
|
|
46
46
|
// We now have a list of patches (one per field) that we can merge.
|
|
47
47
|
const newPatch = this.deepMerge(...patches);
|
|
@@ -101,4 +101,4 @@ class WriteReplacerCollectionDecorator extends datasource_toolkit_1.CollectionDe
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
exports.default = WriteReplacerCollectionDecorator;
|
|
104
|
-
//# 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=
|