New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@forestadmin/datasource-customizer

Package Overview
Dependencies
Maintainers
0
Versions
161
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forestadmin/datasource-customizer - npm Package Compare versions

Comparing version 1.56.0 to 1.57.0

2

dist/decorators/segment/collection.d.ts

@@ -8,3 +8,5 @@ import { Caller, CollectionDecorator, CollectionSchema, PaginatedFilter } from '@forestadmin/datasource-toolkit';

refineFilter(caller: Caller, filter?: PaginatedFilter): Promise<PaginatedFilter>;
private refineFilterSegment;
private refineFilterLiveQuerySegment;
}
//# sourceMappingURL=collection.d.ts.map

@@ -27,3 +27,11 @@ "use strict";

}
let { conditionTree, segment } = filter;
const trees = await Promise.all([
this.refineFilterSegment(caller, filter),
this.refineFilterLiveQuerySegment(filter),
]);
const conditionTree = datasource_toolkit_1.ConditionTreeFactory.intersect(filter.conditionTree, ...trees);
return filter.override({ conditionTree, segment: null, liveQuerySegment: null });
}
async refineFilterSegment(caller, filter) {
const { segment } = filter;
if (segment && this.segments[segment]) {

@@ -34,11 +42,27 @@ const definition = this.segments[segment];

: await definition;
const conditionTreeSegment = result instanceof datasource_toolkit_1.ConditionTree ? result : datasource_toolkit_1.ConditionTreeFactory.fromPlainObject(result);
datasource_toolkit_1.ConditionTreeValidator.validate(conditionTreeSegment, this);
conditionTree = datasource_toolkit_1.ConditionTreeFactory.intersect(conditionTree, conditionTreeSegment);
segment = null;
const conditionTree = result instanceof datasource_toolkit_1.ConditionTree ? result : datasource_toolkit_1.ConditionTreeFactory.fromPlainObject(result);
datasource_toolkit_1.ConditionTreeValidator.validate(conditionTree, this);
return conditionTree;
}
return filter.override({ conditionTree, segment });
return null;
}
async refineFilterLiveQuerySegment(filter) {
const { liveQuerySegment } = filter;
if (liveQuerySegment) {
const { query, connectionName } = liveQuerySegment;
try {
const result = (await this.dataSource.executeNativeQuery(connectionName, query, {}));
const [primaryKey] = datasource_toolkit_1.SchemaUtils.getPrimaryKeys(this.childCollection.schema);
const conditionTree = new datasource_toolkit_1.ConditionTreeLeaf(primaryKey, 'In', result.map(row => row[primaryKey]));
datasource_toolkit_1.ConditionTreeValidator.validate(conditionTree, this);
return conditionTree;
}
catch (error) {
throw new datasource_toolkit_1.BusinessError(`An error occurred during the execution of the segment query - ${error.message}`, error);
}
}
return null;
}
}
exports.default = SegmentCollectionDecorator;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3NlZ21lbnQvY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQVF5QztBQUd6QywwRkFBOEU7QUFFOUUsTUFBcUIsMEJBQTJCLFNBQVEsd0NBQW1CO0lBQTNFOztRQUNVLGFBQVEsR0FBMEMsRUFBRSxDQUFDO0lBMEMvRCxDQUFDO0lBeENDLFVBQVUsQ0FBQyxXQUFtQixFQUFFLFVBQTZCO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFa0IsWUFBWSxDQUFDLFNBQTJCO1FBQ3pELE9BQU87WUFDTCxHQUFHLFNBQVM7WUFDWixRQUFRLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVlLEtBQUssQ0FBQyxZQUFZLENBQ2hDLE1BQWMsRUFDZCxNQUF3QjtRQUV4QixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXhDLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxNQUFNLE1BQU0sR0FDVixPQUFPLFVBQVUsS0FBSyxVQUFVO2dCQUM5QixDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsSUFBSSw0QkFBOEIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3BFLENBQUMsQ0FBQyxNQUFNLFVBQVUsQ0FBQztZQUV2QixNQUFNLG9CQUFvQixHQUN4QixNQUFNLFlBQVksa0NBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyx5Q0FBb0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFMUYsMkNBQXNCLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBRTVELGFBQWEsR0FBRyx5Q0FBb0IsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLENBQUM7WUFDcEYsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNoQjtRQUVELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRjtBQTNDRCw2Q0EyQ0MifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3JzL3NlZ21lbnQvY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdFQVd5QztBQUd6QywwRkFBOEU7QUFFOUUsTUFBcUIsMEJBQTJCLFNBQVEsd0NBQW1CO0lBQTNFOztRQUNVLGFBQVEsR0FBMEMsRUFBRSxDQUFDO0lBdUYvRCxDQUFDO0lBckZDLFVBQVUsQ0FBQyxXQUFtQixFQUFFLFVBQTZCO1FBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFa0IsWUFBWSxDQUFDLFNBQTJCO1FBQ3pELE9BQU87WUFDTCxHQUFHLFNBQVM7WUFDWixRQUFRLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNqRSxDQUFDO0lBQ0osQ0FBQztJQUVlLEtBQUssQ0FBQyxZQUFZLENBQ2hDLE1BQWMsRUFDZCxNQUF3QjtRQUV4QixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUN4QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsTUFBTSxDQUFDO1NBQzFDLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxHQUFHLHlDQUFvQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFFckYsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQWMsRUFBRSxNQUF1QjtRQUN2RSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRTNCLElBQUksT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQyxNQUFNLE1BQU0sR0FDVixPQUFPLFVBQVUsS0FBSyxVQUFVO2dCQUM5QixDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsSUFBSSw0QkFBOEIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3BFLENBQUMsQ0FBQyxNQUFNLFVBQVUsQ0FBQztZQUV2QixNQUFNLGFBQWEsR0FDakIsTUFBTSxZQUFZLGtDQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMseUNBQW9CLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTFGLDJDQUFzQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFckQsT0FBTyxhQUFhLENBQUM7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxLQUFLLENBQUMsNEJBQTRCLENBQUMsTUFBdUI7UUFDaEUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXBDLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsTUFBTSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztZQUVuRCxJQUFJO2dCQUNGLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUN0RCxjQUFjLEVBQ2QsS0FBSyxFQUNMLEVBQUUsQ0FDSCxDQUE4QixDQUFDO2dCQUVoQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsZ0NBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFN0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxzQ0FBaUIsQ0FDekMsVUFBVSxFQUNWLElBQUksRUFDSixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQ25DLENBQUM7Z0JBRUYsMkNBQXNCLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFFckQsT0FBTyxhQUFhLENBQUM7YUFDdEI7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxNQUFNLElBQUksa0NBQWEsQ0FDckIsaUVBQWlFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFDaEYsS0FBSyxDQUNOLENBQUM7YUFDSDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUF4RkQsNkNBd0ZDIn0=

4

package.json
{
"name": "@forestadmin/datasource-customizer",
"version": "1.56.0",
"version": "1.57.0",
"main": "dist/index.js",

@@ -32,3 +32,3 @@ "license": "GPL-3.0",

"dependencies": {
"@forestadmin/datasource-toolkit": "1.44.0",
"@forestadmin/datasource-toolkit": "1.45.0",
"antlr4": "^4.13.1-patch-1",

@@ -35,0 +35,0 @@ "file-type": "^16.5.4",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc