@forestadmin/datasource-customizer 1.65.1 → 1.67.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/collection-customizer.d.ts +9 -0
- package/dist/collection-customizer.js +19 -2
- package/dist/datasource-customizer.js +7 -19
- package/dist/decorators/decorators-stack-base.d.ts +21 -0
- package/dist/decorators/decorators-stack-base.js +64 -4
- package/dist/decorators/publication/datasource.d.ts +4 -2
- package/dist/decorators/publication/datasource.js +16 -2
- package/package.json +1 -1
|
@@ -374,6 +374,15 @@ export default class CollectionCustomizer<S extends TSchema = TSchema, N extends
|
|
|
374
374
|
* });
|
|
375
375
|
*/
|
|
376
376
|
overrideDelete(handler: DeleteOverrideHandler<S, N>): this;
|
|
377
|
+
/**
|
|
378
|
+
* Mark a field as optional
|
|
379
|
+
*
|
|
380
|
+
* Be wary that your database might still refuse empty values if it requires one
|
|
381
|
+
* @param name the name of the column you would like optional
|
|
382
|
+
* @example
|
|
383
|
+
* .setFieldNullable('userName');
|
|
384
|
+
*/
|
|
385
|
+
setFieldNullable(name: TColumnName<S, N>): this;
|
|
377
386
|
private pushRelation;
|
|
378
387
|
private pushCustomization;
|
|
379
388
|
}
|
|
@@ -9,7 +9,7 @@ const add_external_relation_1 = __importDefault(require("./plugins/add-external-
|
|
|
9
9
|
const import_field_1 = __importDefault(require("./plugins/import-field"));
|
|
10
10
|
class CollectionCustomizer {
|
|
11
11
|
get schema() {
|
|
12
|
-
return this.stack.
|
|
12
|
+
return this.stack.binary.getCollection(this.name).schema;
|
|
13
13
|
}
|
|
14
14
|
constructor(dataSourceCustomizer, stack, name) {
|
|
15
15
|
/**
|
|
@@ -526,6 +526,23 @@ class CollectionCustomizer {
|
|
|
526
526
|
this.stack.override.getCollection(this.name).addDeleteHandler(handler);
|
|
527
527
|
});
|
|
528
528
|
}
|
|
529
|
+
/**
|
|
530
|
+
* Mark a field as optional
|
|
531
|
+
*
|
|
532
|
+
* Be wary that your database might still refuse empty values if it requires one
|
|
533
|
+
* @param name the name of the column you would like optional
|
|
534
|
+
* @example
|
|
535
|
+
* .setFieldNullable('userName');
|
|
536
|
+
*/
|
|
537
|
+
setFieldNullable(name) {
|
|
538
|
+
return this.pushCustomization(async () => {
|
|
539
|
+
const column = this.schema.fields[name];
|
|
540
|
+
if (column && column?.type === 'Column') {
|
|
541
|
+
column.allowNull = true;
|
|
542
|
+
column.validation = column.validation?.filter(validation => validation.operator !== 'Present');
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
}
|
|
529
546
|
pushRelation(name, definition) {
|
|
530
547
|
return this.pushCustomization(async () => {
|
|
531
548
|
this.stack.relation.getCollection(this.name).addRelation(name, definition);
|
|
@@ -537,4 +554,4 @@ class CollectionCustomizer {
|
|
|
537
554
|
}
|
|
538
555
|
}
|
|
539
556
|
exports.default = CollectionCustomizer;
|
|
540
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jdXN0b21pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbGxlY3Rpb24tY3VzdG9taXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQU95QztBQU96QyxnR0FBdUU7QUFhdkUsNEZBQWtFO0FBQ2xFLDBFQUFpRDtBQVdqRCxNQUFxQixvQkFBb0I7SUFRdkMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDRSxvQkFBNkMsRUFDN0MsS0FBMEIsRUFDMUIsSUFBWTtRQW1JZDs7Ozs7Ozs7Ozs7V0FXRztRQUNILGFBQVEsR0FFSixDQUFDLElBQVksRUFBRSxVQUFvQyxFQUFRLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFO2dCQUNyRCxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BGLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFbEYsSUFBSSxVQUFVLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtvQkFDeEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxpRUFBaUUsQ0FBQyxDQUFDO2lCQUNuRjtnQkFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRTtvQkFDNUIsTUFBTSxDQUNKLE9BQU8sRUFDUCxtQkFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQ2pELElBQUksSUFBSSxrREFBa0QsQ0FDM0QsQ0FBQztvQkFFRixPQUFPO2lCQUNSO2dCQUVELE1BQU0sNEJBQTRCLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3pFLElBQUk7d0JBQ0YsT0FBTyxDQUFDLENBQUMsb0NBQWUsQ0FBQyxjQUFjLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQUM7cUJBQzNFO29CQUFDLE1BQU07d0JBQ04sT0FBTyxLQUFLLENBQUM7cUJBQ2Q7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxVQUFVLEdBQUcsNEJBQTRCO29CQUM3QyxDQUFDLENBQUMseUJBQXlCO29CQUMzQixDQUFDLENBQUMsd0JBQXdCLENBQUM7Z0JBRTdCLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBQSx3QkFBYSxFQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFqTEEsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxHQUFHLENBQVUsTUFBdUIsRUFBRSxPQUFpQjtRQUNyRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDckQsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFdBQVcsQ0FBQyxJQUFZLEVBQUUsT0FBdUQ7UUFDL0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHNCQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsV0FBVyxDQUFDLFdBQTZDLEVBQUUsT0FBZTtRQUN4RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLEdBQUcsS0FBeUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUs7Z0JBQUUsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxTQUFTLENBQUMsSUFBWSxFQUFFLFVBQWtDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtpQkFDZCxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDekIsOERBQThEO2lCQUM3RCxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQXdDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsUUFBUSxDQUFDLElBQVksRUFBRSxVQUEyQztRQUNoRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBb0REOzs7Ozs7OztPQVFHO0lBQ0gsa0JBQWtCLENBQUMsSUFBdUIsRUFBRSxRQUFrQixFQUFFLEtBQWU7UUFDN0UsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILE9BQU8sQ0FDTCxRQUFXLEVBQ1gsSUFBTyxFQUNQLE9BQThDO1FBRTlDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtpQkFDWixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDeEIsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBcUQsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsb0JBQW9CLENBQ2xCLElBQVksRUFDWixpQkFBb0IsRUFDcEIsT0FBZ0Y7UUFFaEYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUM3QixJQUFJLEVBQUUsV0FBVztZQUNqQixpQkFBaUI7WUFDakIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsb0JBQW9CLENBQ2xCLElBQVksRUFDWixpQkFBb0IsRUFDcEIsT0FBOEU7UUFFOUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUM3QixJQUFJLEVBQUUsV0FBVztZQUNqQixpQkFBaUI7WUFDakIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZTtTQUN6QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxtQkFBbUIsQ0FDakIsSUFBWSxFQUNaLGlCQUFvQixFQUNwQixPQUE4RTtRQUU5RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO1lBQzdCLElBQUksRUFBRSxVQUFVO1lBQ2hCLGlCQUFpQjtZQUNqQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxxQkFBcUIsQ0FDbkIsSUFBWSxFQUNaLGlCQUEwQixFQUMxQixpQkFBMEIsRUFDMUIsT0FLQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxFQUFFLFlBQVk7WUFDbEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1lBQ3hDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtZQUM5QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsZ0JBQWdCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsVUFBNkM7UUFDN0UsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLCtCQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILFVBQVUsQ0FBQyxJQUFZLEVBQUUsVUFBbUM7UUFDMUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQStCLENBQUMsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxtQkFBbUIsQ0FBQyxJQUF1QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxtQkFBbUIsQ0FBQyxJQUF1QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0gsbUJBQW1CLENBQUMsSUFBdUIsRUFBRSxjQUFtQztRQUM5RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7aUJBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUN4QixtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsY0FBK0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxxQkFBcUIsQ0FBQyxJQUF1QjtRQUMzQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sS0FBSyxHQUFHLGdDQUFXLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU5RSxJQUFJLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRLEVBQUU7Z0JBQ3hDLE1BQU0sU0FBUyxHQUFHLGtEQUE2QixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFbEUsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7b0JBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztxQkFDM0M7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsb0JBQW9CLENBQUMsSUFBdUIsRUFBRSxRQUFrQjtRQUM5RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUN2RixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRELFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsc0JBQXNCLENBQUMsSUFBdUIsRUFBRSxVQUFzQjtRQUNwRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FzQkc7SUFDSCxvQkFBb0IsQ0FDbEIsSUFBTyxFQUNQLFFBQWtCLEVBQ2xCLFFBQXFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZGLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFdEQsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBOEIsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxtQkFBbUIsQ0FDakIsSUFBTyxFQUNQLFVBQW9DO1FBRXBDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsYUFBYSxDQUFDLFVBQWtDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtpQkFDZCxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDekIsOERBQThEO2lCQUM3RCxhQUFhLENBQUMsVUFBd0MsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxjQUFjLENBQUMsT0FBb0M7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxjQUFjLENBQUMsT0FBb0M7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxjQUFjLENBQUMsT0FBb0M7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWSxFQUFFLFVBQThCO1FBQy9ELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxhQUFnRDtRQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBNW1CRCx1Q0E0bUJDIn0=
|
|
557
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1jdXN0b21pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbGxlY3Rpb24tY3VzdG9taXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQVF5QztBQU96QyxnR0FBdUU7QUFhdkUsNEZBQWtFO0FBQ2xFLDBFQUFpRDtBQVdqRCxNQUFxQixvQkFBb0I7SUFRdkMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFDRSxvQkFBNkMsRUFDN0MsS0FBMEIsRUFDMUIsSUFBWTtRQW1JZDs7Ozs7Ozs7Ozs7V0FXRztRQUNILGFBQVEsR0FFSixDQUFDLElBQVksRUFBRSxVQUFvQyxFQUFRLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQWMsRUFBRSxFQUFFO2dCQUNyRCxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BGLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFbEYsSUFBSSxVQUFVLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtvQkFDeEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxpRUFBaUUsQ0FBQyxDQUFDO2lCQUNuRjtnQkFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRTtvQkFDNUIsTUFBTSxDQUNKLE9BQU8sRUFDUCxtQkFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQ2pELElBQUks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
|
|
@@ -25,13 +25,13 @@ class DataSourceCustomizer {
|
|
|
25
25
|
* Retrieve schema of the agent
|
|
26
26
|
*/
|
|
27
27
|
get schema() {
|
|
28
|
-
return this.stack.
|
|
28
|
+
return this.stack.binary.schema;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Get list of customizable collections
|
|
32
32
|
*/
|
|
33
33
|
get collections() {
|
|
34
|
-
return this.stack.
|
|
34
|
+
return this.stack.binary.collections.map(c => this.getCollection(c.name));
|
|
35
35
|
}
|
|
36
36
|
constructor(options) {
|
|
37
37
|
this.stack = new {
|
|
@@ -48,7 +48,7 @@ class DataSourceCustomizer {
|
|
|
48
48
|
this.stack.queueCustomization(async (logger) => {
|
|
49
49
|
let dataSource = await factory(logger, restartAgentFunction);
|
|
50
50
|
if (options?.include || options?.exclude) {
|
|
51
|
-
const publicationDecorator = new datasource_1.default(dataSource);
|
|
51
|
+
const publicationDecorator = new datasource_1.default(dataSource, logger);
|
|
52
52
|
publicationDecorator.keepCollectionsMatching(options.include, options.exclude);
|
|
53
53
|
dataSource = publicationDecorator;
|
|
54
54
|
}
|
|
@@ -138,21 +138,9 @@ class DataSourceCustomizer {
|
|
|
138
138
|
return this;
|
|
139
139
|
}
|
|
140
140
|
async getDataSource(logger) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
await this.stack.applyQueuedCustomizations(logger, this.compositeDataSource);
|
|
145
|
-
datasource = this.stack.dataSource;
|
|
146
|
-
}
|
|
147
|
-
catch (error) {
|
|
148
|
-
if (!datasource) {
|
|
149
|
-
throw error;
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
logger('Error', `Agent failed to restart with the new configuration. Retaining the previous one.\n ${error}`);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return datasource;
|
|
141
|
+
this.compositeDataSource = new composite_datasource_1.default();
|
|
142
|
+
await this.stack.applyQueuedCustomizations(logger, this.compositeDataSource);
|
|
143
|
+
return this.stack.dataSource;
|
|
156
144
|
}
|
|
157
145
|
getFactory() {
|
|
158
146
|
return async (logger) => this.getDataSource(logger);
|
|
@@ -163,4 +151,4 @@ class DataSourceCustomizer {
|
|
|
163
151
|
}
|
|
164
152
|
}
|
|
165
153
|
exports.default = DataSourceCustomizer;
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS1jdXN0b21pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RhdGFzb3VyY2UtY3VzdG9taXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVFBLG9GQUEyRDtBQUUzRCw2RkFBb0U7QUFDcEUscUZBQTREO0FBQzVELHFHQUEwRTtBQUMxRSxxRkFBaUY7QUFDakYsMkZBQTRGO0FBRzVGLDBFQUFpRDtBQU9qRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFxQixvQkFBb0I7SUFJdkM7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUEwQixDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsWUFBWSxPQUFpQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUk7WUFDZixNQUFNLEVBQUUsa0NBQXFCO1lBQzdCLE1BQU0sRUFBRSwwQkFBZTtTQUN4QixDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQ1gsT0FBMEIsRUFDMUIsT0FBMkIsRUFDM0Isb0JBQTBDO1FBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxFQUFFO1lBQzNDLElBQUksVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBRTdELElBQUksT0FBTyxFQUFFLE9BQU8sSUFBSSxP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
|
|
@@ -42,6 +42,27 @@ export default abstract class DecoratorsStackBase {
|
|
|
42
42
|
override: DataSourceDecorator<OverrideCollectionDecorator>;
|
|
43
43
|
constructor(options: Options);
|
|
44
44
|
abstract buildStack(dataSource: DataSource): void;
|
|
45
|
+
backupStack(): {
|
|
46
|
+
action: DataSourceDecorator<ActionCollectionDecorator>;
|
|
47
|
+
binary: DataSourceDecorator<BinaryCollectionDecorator>;
|
|
48
|
+
chart: ChartDataSourceDecorator;
|
|
49
|
+
earlyComputed: DataSourceDecorator<ComputedCollectionDecorator>;
|
|
50
|
+
earlyOpEmulate: DataSourceDecorator<OperatorsEmulateCollectionDecorator>;
|
|
51
|
+
hook: DataSourceDecorator<HookCollectionDecorator>;
|
|
52
|
+
lateComputed: DataSourceDecorator<ComputedCollectionDecorator>;
|
|
53
|
+
lateOpEmulate: DataSourceDecorator<OperatorsEmulateCollectionDecorator>;
|
|
54
|
+
publication: PublicationDataSourceDecorator;
|
|
55
|
+
relation: DataSourceDecorator<RelationCollectionDecorator>;
|
|
56
|
+
renameField: DataSourceDecorator<RenameFieldCollectionDecorator>;
|
|
57
|
+
schema: DataSourceDecorator<SchemaCollectionDecorator>;
|
|
58
|
+
search: DataSourceDecorator<SearchCollectionDecorator>;
|
|
59
|
+
segment: DataSourceDecorator<SegmentCollectionDecorator>;
|
|
60
|
+
sortEmulate: DataSourceDecorator<SortEmulateCollectionDecorator>;
|
|
61
|
+
validation: DataSourceDecorator<ValidationCollectionDecorator>;
|
|
62
|
+
write: WriteDataSourceDecorator;
|
|
63
|
+
override: DataSourceDecorator<OverrideCollectionDecorator>;
|
|
64
|
+
};
|
|
65
|
+
restoreStack(stack: any): void;
|
|
45
66
|
queueCustomization(customization: (logger: Logger) => Promise<void>): void;
|
|
46
67
|
/**
|
|
47
68
|
* Apply all customizations
|
|
@@ -9,6 +9,48 @@ class DecoratorsStackBase {
|
|
|
9
9
|
...(options || {}),
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
+
backupStack() {
|
|
13
|
+
return {
|
|
14
|
+
action: this.action,
|
|
15
|
+
binary: this.binary,
|
|
16
|
+
chart: this.chart,
|
|
17
|
+
earlyComputed: this.earlyComputed,
|
|
18
|
+
earlyOpEmulate: this.earlyOpEmulate,
|
|
19
|
+
hook: this.hook,
|
|
20
|
+
lateComputed: this.lateComputed,
|
|
21
|
+
lateOpEmulate: this.lateOpEmulate,
|
|
22
|
+
publication: this.publication,
|
|
23
|
+
relation: this.relation,
|
|
24
|
+
renameField: this.renameField,
|
|
25
|
+
schema: this.schema,
|
|
26
|
+
search: this.search,
|
|
27
|
+
segment: this.segment,
|
|
28
|
+
sortEmulate: this.sortEmulate,
|
|
29
|
+
validation: this.validation,
|
|
30
|
+
write: this.write,
|
|
31
|
+
override: this.override,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
restoreStack(stack) {
|
|
35
|
+
this.action = stack.action;
|
|
36
|
+
this.binary = stack.binary;
|
|
37
|
+
this.chart = stack.chart;
|
|
38
|
+
this.earlyComputed = stack.earlyComputed;
|
|
39
|
+
this.earlyOpEmulate = stack.earlyOpEmulate;
|
|
40
|
+
this.hook = stack.hook;
|
|
41
|
+
this.lateComputed = stack.lateComputed;
|
|
42
|
+
this.lateOpEmulate = stack.lateOpEmulate;
|
|
43
|
+
this.publication = stack.publication;
|
|
44
|
+
this.relation = stack.relation;
|
|
45
|
+
this.renameField = stack.renameField;
|
|
46
|
+
this.schema = stack.schema;
|
|
47
|
+
this.search = stack.search;
|
|
48
|
+
this.segment = stack.segment;
|
|
49
|
+
this.sortEmulate = stack.sortEmulate;
|
|
50
|
+
this.validation = stack.validation;
|
|
51
|
+
this.write = stack.write;
|
|
52
|
+
this.override = stack.override;
|
|
53
|
+
}
|
|
12
54
|
queueCustomization(customization) {
|
|
13
55
|
this.customizations.push(customization);
|
|
14
56
|
}
|
|
@@ -20,10 +62,28 @@ class DecoratorsStackBase {
|
|
|
20
62
|
* that all customizations are applied in the right order.
|
|
21
63
|
*/
|
|
22
64
|
async applyQueuedCustomizations(logger, dataSource) {
|
|
65
|
+
const isFirstStack = !!this.dataSource;
|
|
66
|
+
// backup customization, stack and last datasource
|
|
67
|
+
const customizationsBackup = Array.from(this.customizations);
|
|
68
|
+
const stackBackup = this.backupStack();
|
|
69
|
+
const dataSourceBackup = this.dataSource;
|
|
23
70
|
this.buildStack(dataSource);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
71
|
+
try {
|
|
72
|
+
await this._applyQueuedCustomizations(logger);
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (!isFirstStack) {
|
|
76
|
+
throw error;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.restoreStack(stackBackup);
|
|
80
|
+
this.dataSource = dataSourceBackup;
|
|
81
|
+
logger('Error', `Agent failed to restart with the new configuration. Retaining the previous one.\n ${error}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
this.customizations = customizationsBackup;
|
|
86
|
+
}
|
|
27
87
|
}
|
|
28
88
|
async _applyQueuedCustomizations(logger) {
|
|
29
89
|
const queuedCustomizations = this.customizations.slice();
|
|
@@ -47,4 +107,4 @@ class DecoratorsStackBase {
|
|
|
47
107
|
}
|
|
48
108
|
}
|
|
49
109
|
exports.default = DecoratorsStackBase;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy1zdGFjay1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlY29yYXRvcnMvZGVjb3JhdG9ycy1zdGFjay1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0VBS3lDO0FBdUJ6QyxNQUE4QixtQkFBbUI7SUF5Qi9DLFlBQVksT0FBZ0I7UUF4QmxCLG1CQUFjLEdBQTZDLEVBQUUsQ0FBQztRQXlCdEUsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLGdDQUFnQyxFQUFFLEtBQUs7WUFDdkMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFJRCxXQUFXO1FBQ1QsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixRQUFRLEVBQUUsSUFBSSxD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
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { DataSource, DataSourceDecorator } from '@forestadmin/datasource-toolkit';
|
|
1
|
+
import { DataSource, DataSourceDecorator, Logger } from '@forestadmin/datasource-toolkit';
|
|
2
2
|
import PublicationCollectionDecorator from './collection';
|
|
3
3
|
export default class PublicationDataSourceDecorator extends DataSourceDecorator<PublicationCollectionDecorator> {
|
|
4
4
|
blacklist: Set<string>;
|
|
5
|
-
|
|
5
|
+
logger: Logger | null;
|
|
6
|
+
constructor(childDataSource: DataSource, logger?: Logger);
|
|
6
7
|
get collections(): PublicationCollectionDecorator[];
|
|
7
8
|
getCollection(name: string): PublicationCollectionDecorator;
|
|
8
9
|
keepCollectionsMatching(include?: string[], exclude?: string[]): void;
|
|
9
10
|
removeCollection(collectionName: string): void;
|
|
10
11
|
private validateCollectionNames;
|
|
12
|
+
private warnCollectionWhitelist;
|
|
11
13
|
isPublished(collectionName: string): boolean;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=datasource.d.ts.map
|
|
@@ -6,9 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const datasource_toolkit_1 = require("@forestadmin/datasource-toolkit");
|
|
7
7
|
const collection_1 = __importDefault(require("./collection"));
|
|
8
8
|
class PublicationDataSourceDecorator extends datasource_toolkit_1.DataSourceDecorator {
|
|
9
|
-
constructor(childDataSource) {
|
|
9
|
+
constructor(childDataSource, logger) {
|
|
10
10
|
super(childDataSource, collection_1.default);
|
|
11
11
|
this.blacklist = new Set();
|
|
12
|
+
this.logger = logger;
|
|
12
13
|
}
|
|
13
14
|
get collections() {
|
|
14
15
|
return this.childDataSource.collections
|
|
@@ -22,12 +23,20 @@ class PublicationDataSourceDecorator extends datasource_toolkit_1.DataSourceDeco
|
|
|
22
23
|
}
|
|
23
24
|
keepCollectionsMatching(include, exclude) {
|
|
24
25
|
this.validateCollectionNames([...(include ?? []), ...(exclude ?? [])]);
|
|
26
|
+
const excluded = [];
|
|
27
|
+
const kept = [];
|
|
25
28
|
// List collection we're keeping from the white/black list.
|
|
26
29
|
for (const { name } of this.collections) {
|
|
27
30
|
if ((include && !include.includes(name)) || exclude?.includes(name)) {
|
|
28
31
|
this.removeCollection(name);
|
|
32
|
+
excluded.push(name);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
kept.push(name);
|
|
29
36
|
}
|
|
30
37
|
}
|
|
38
|
+
if (include)
|
|
39
|
+
this.warnCollectionWhitelist(excluded, kept);
|
|
31
40
|
}
|
|
32
41
|
removeCollection(collectionName) {
|
|
33
42
|
this.validateCollectionNames([collectionName]);
|
|
@@ -43,9 +52,14 @@ class PublicationDataSourceDecorator extends datasource_toolkit_1.DataSourceDeco
|
|
|
43
52
|
for (const name of names)
|
|
44
53
|
this.getCollection(name);
|
|
45
54
|
}
|
|
55
|
+
warnCollectionWhitelist(excluded, kept) {
|
|
56
|
+
if (excluded.length && this.childDataSource.constructor.name === 'MongooseDatasource') {
|
|
57
|
+
this.logger?.('Warn', `Using include whitelist for MongooseDatasource may omit virtual collections that define relationships between included collections. See https://docs.forestadmin.com/developer-guide-agents-nodejs/data-sources/provided-data-sources/mongoose#understanding-flattenmode. Removed collections: '${excluded.join("', '")}', kept collections: '${kept.join("', '")}'`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
46
60
|
isPublished(collectionName) {
|
|
47
61
|
return !this.blacklist.has(collectionName);
|
|
48
62
|
}
|
|
49
63
|
}
|
|
50
64
|
exports.default = PublicationDataSourceDecorator;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3B1YmxpY2F0aW9uL2RhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBMEY7QUFFMUYsOERBQTBEO0FBRTFELE1BQXFCLDhCQUErQixTQUFRLHdDQUFtRDtJQUk3RyxZQUFZLGVBQTJCLEVBQUUsTUFBZTtRQUN0RCxLQUFLLENBQUMsZUFBZSxFQUFFLG9CQUE4QixDQUFDLENBQUM7UUFKekQsY0FBUyxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBS2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFhLFdBQVc7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVc7YUFDcEMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVRLGFBQWEsQ0FBQyxJQUFZO1FBQ2pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLElBQUksZ0JBQWdCLENBQUMsQ0FBQztRQUVuRixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHVCQUF1QixDQUFDLE9BQWtCLEVBQUUsT0FBa0I7UUFDNUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RSxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWhCLDJEQUEyRDtRQUMzRCxLQUFLLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUU1QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakI7U0FDRjtRQUVELElBQUksT0FBTztZQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGdCQUFnQixDQUFDLGNBQXNCO1FBQ3JDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFL0Msd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRW5DLG1GQUFtRjtRQUNuRiwwRUFBMEU7UUFDMUUsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEtBQWU7UUFDN0MsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsUUFBa0IsRUFBRSxJQUFjO1FBQ2hFLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssb0JBQW9CLEVBQUU7WUFDckYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUNYLE1BQU0sRUFDTixtU0FBbVMsUUFBUSxDQUFDLElBQUksQ0FDOVMsTUFBTSxDQUNQLHlCQUF5QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQy9DLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsY0FBc0I7UUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQXZFRCxpREF1RUMifQ==
|