UNPKG

ontimize-web-ngx

Version:
70 lines 10.4 kB
import { Injectable } from '@angular/core'; import { BaseRequestArgument } from './base-request-argument.adapter'; import { Util } from '../../util/util'; import { FilterExpressionUtils } from '../../util/filter-expression.utils'; import * as i0 from "@angular/core"; export class JSONAPIRequestArgumentsAdapter extends BaseRequestArgument { parseQueryParameters(args) { if (!Util.isDefined(args)) return []; let fields = {}; fields[args.entity] = args.columns.toString(); let queryargs = { fields: fields }; if (args.pageable) { queryargs.page = {}; queryargs.page['offset'] = args.ovrrArgs.offset; queryargs.page['limit'] = args.ovrrArgs.length; } if (!Util.isArrayEmpty(args.sort)) { queryargs.sort = args.sort.map((sortElement, idx, array) => { return sortElement.ascendent ? sortElement.columnName : ('-' + sortElement.columnName); }).join(','); } if (Util.isDefined(args.filter)) { queryargs.filter = {}; Object.keys(args.filter).forEach(filter => { queryargs.filter[filter] = args.filter[filter]; }); } return [queryargs]; } deCompose(expresion, columns, kv) { const basicExpresion = expresion[FilterExpressionUtils.BASIC_EXPRESSION_KEY]; const filterExpresion = expresion[FilterExpressionUtils.FILTER_EXPRESSION_KEY]; let decomposedExpresion = kv; if (Util.isDefined(basicExpresion)) { decomposedExpresion = this.deComposeExpresion(basicExpresion, columns, kv); } if (Util.isDefined(filterExpresion)) { decomposedExpresion = this.deComposeExpresion(filterExpresion, columns, decomposedExpresion); } return decomposedExpresion; } deComposeExpresion(expresion, columns, kv) { if (FilterExpressionUtils.instanceofExpression(expresion)) { if (typeof expresion.lop !== 'string') { kv = this.deComposeExpresion(expresion.lop, columns, kv); return this.deComposeExpresion(expresion.rop, columns, kv); } else { return kv; } } } getIdFromFilter(filter) { if (Util.isDefined(filter)) { return Object.values(filter)[0]; } else { return null; } } } JSONAPIRequestArgumentsAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JSONAPIRequestArgumentsAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); JSONAPIRequestArgumentsAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JSONAPIRequestArgumentsAdapter }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JSONAPIRequestArgumentsAdapter, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmFwaS1yZXF1ZXN0LWFyZ3VtZW50cy5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtYWRhcHRlci9qc29uYXBpLXJlcXVlc3QtYXJndW1lbnRzLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUd0RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRzNFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxtQkFBbUI7SUFFckUsb0JBQW9CLENBQUMsSUFBa0I7UUFFckMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU5QyxJQUFJLFNBQVMsR0FBMEI7WUFDckMsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLFNBQVMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDaEQsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztTQUNoRDtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUVqQyxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBcUIsRUFBRSxHQUFXLEVBQUUsS0FBaUIsRUFBRSxFQUFFO2dCQUN2RixPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6RixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDZDtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDL0IsU0FBUyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4QyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBR0QsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFzQixFQUFFLEVBQVU7UUFDckQsTUFBTSxjQUFjLEdBQWUsU0FBUyxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDekYsTUFBTSxlQUFlLEdBQWUsU0FBUyxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFM0YsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2xDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzVFO1FBR0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ25DLG1CQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDOUY7UUFDRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxTQUFjLEVBQUUsT0FBc0IsRUFBRSxFQUFVO1FBQ25FLElBQUkscUJBQXFCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDekQsSUFBSSxPQUFPLFNBQVMsQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUNyQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzthQUM1RDtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQzthQUNYO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVc7UUFDekIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQVcsQ0FBQztTQUMzQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7OzRIQXRFVSw4QkFBOEI7Z0lBQTlCLDhCQUE4Qjs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU1FMT3JkZXIgfSBmcm9tICcuLi8uLi90eXBlcy9zcWwtb3JkZXIudHlwZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tICcuLi8uLi90eXBlcy9leHByZXNzaW9uLnR5cGUnO1xuaW1wb3J0IHsgSlNPTkFQSVF1ZXJ5UGFyYW1ldGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMvanNvbi1xdWVyeS1wYXJhbWV0ZXIudHlwZSc7XG5pbXBvcnQgeyBCYXNlUmVxdWVzdEFyZ3VtZW50IH0gZnJvbSAnLi9iYXNlLXJlcXVlc3QtYXJndW1lbnQuYWRhcHRlcic7XG5pbXBvcnQgeyBJQmFzZVJlcXVlc3RBcmd1bWVudCB9IGZyb20gJy4vYmFzZS1yZXF1ZXN0LWFyZ3VtZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBPUXVlcnlQYXJhbXMgfSBmcm9tICcuLi8uLi90eXBlcy9xdWVyeS1wYXJhbXMudHlwZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25VdGlscyB9IGZyb20gJy4uLy4uL3V0aWwvZmlsdGVyLWV4cHJlc3Npb24udXRpbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSlNPTkFQSVJlcXVlc3RBcmd1bWVudHNBZGFwdGVyIGV4dGVuZHMgQmFzZVJlcXVlc3RBcmd1bWVudCBpbXBsZW1lbnRzIElCYXNlUmVxdWVzdEFyZ3VtZW50IHtcblxuICBwYXJzZVF1ZXJ5UGFyYW1ldGVycyhhcmdzOiBPUXVlcnlQYXJhbXMpOiBKU09OQVBJUXVlcnlQYXJhbWV0ZXJbXSB7XG5cbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGFyZ3MpKSByZXR1cm4gW107XG4gICAgbGV0IGZpZWxkcyA9IHt9O1xuXG4gICAgZmllbGRzW2FyZ3MuZW50aXR5XSA9IGFyZ3MuY29sdW1ucy50b1N0cmluZygpO1xuXG4gICAgbGV0IHF1ZXJ5YXJnczogSlNPTkFQSVF1ZXJ5UGFyYW1ldGVyID0ge1xuICAgICAgZmllbGRzOiBmaWVsZHNcbiAgICB9O1xuXG4gICAgaWYgKGFyZ3MucGFnZWFibGUpIHtcbiAgICAgIHF1ZXJ5YXJncy5wYWdlID0ge307XG4gICAgICBxdWVyeWFyZ3MucGFnZVsnb2Zmc2V0J10gPSBhcmdzLm92cnJBcmdzLm9mZnNldDtcbiAgICAgIHF1ZXJ5YXJncy5wYWdlWydsaW1pdCddID0gYXJncy5vdnJyQXJncy5sZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKCFVdGlsLmlzQXJyYXlFbXB0eShhcmdzLnNvcnQpKSB7XG5cbiAgICAgIHF1ZXJ5YXJncy5zb3J0ID0gYXJncy5zb3J0Lm1hcCgoc29ydEVsZW1lbnQ6IFNRTE9yZGVyLCBpZHg6IG51bWJlciwgYXJyYXk6IFNRTE9yZGVyW10pID0+IHtcbiAgICAgICAgcmV0dXJuIHNvcnRFbGVtZW50LmFzY2VuZGVudCA/IHNvcnRFbGVtZW50LmNvbHVtbk5hbWUgOiAoJy0nICsgc29ydEVsZW1lbnQuY29sdW1uTmFtZSk7XG4gICAgICB9KS5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKGFyZ3MuZmlsdGVyKSkge1xuICAgICAgcXVlcnlhcmdzLmZpbHRlciA9IHt9O1xuICAgICAgT2JqZWN0LmtleXMoYXJncy5maWx0ZXIpLmZvckVhY2goZmlsdGVyID0+IHtcbiAgICAgICAgcXVlcnlhcmdzLmZpbHRlcltmaWx0ZXJdID0gYXJncy5maWx0ZXJbZmlsdGVyXTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBbcXVlcnlhcmdzXTtcbiAgfVxuXG5cbiAgZGVDb21wb3NlKGV4cHJlc2lvbiwgY29sdW1uczogQXJyYXk8c3RyaW5nPiwga3Y6IE9iamVjdCkge1xuICAgIGNvbnN0IGJhc2ljRXhwcmVzaW9uOiBFeHByZXNzaW9uID0gZXhwcmVzaW9uW0ZpbHRlckV4cHJlc3Npb25VdGlscy5CQVNJQ19FWFBSRVNTSU9OX0tFWV07XG4gICAgY29uc3QgZmlsdGVyRXhwcmVzaW9uOiBFeHByZXNzaW9uID0gZXhwcmVzaW9uW0ZpbHRlckV4cHJlc3Npb25VdGlscy5GSUxURVJfRVhQUkVTU0lPTl9LRVldO1xuXG4gICAgbGV0IGRlY29tcG9zZWRFeHByZXNpb24gPSBrdjtcbiAgICBpZiAoVXRpbC5pc0RlZmluZWQoYmFzaWNFeHByZXNpb24pKSB7XG4gICAgICBkZWNvbXBvc2VkRXhwcmVzaW9uID0gdGhpcy5kZUNvbXBvc2VFeHByZXNpb24oYmFzaWNFeHByZXNpb24sIGNvbHVtbnMsIGt2KTtcbiAgICB9XG5cbiAgICAvKiBSZXF1aXJlZCBmb3IgY29sdW1uIGZpbHRlcmluZyB3aGljaCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgKi9cbiAgICBpZiAoVXRpbC5pc0RlZmluZWQoZmlsdGVyRXhwcmVzaW9uKSkge1xuICAgICAgZGVjb21wb3NlZEV4cHJlc2lvbiA9IHRoaXMuZGVDb21wb3NlRXhwcmVzaW9uKGZpbHRlckV4cHJlc2lvbiwgY29sdW1ucywgZGVjb21wb3NlZEV4cHJlc2lvbik7XG4gICAgfVxuICAgIHJldHVybiBkZWNvbXBvc2VkRXhwcmVzaW9uO1xuICB9XG5cbiAgZGVDb21wb3NlRXhwcmVzaW9uKGV4cHJlc2lvbjogYW55LCBjb2x1bW5zOiBBcnJheTxzdHJpbmc+LCBrdjogT2JqZWN0KSB7XG4gICAgaWYgKEZpbHRlckV4cHJlc3Npb25VdGlscy5pbnN0YW5jZW9mRXhwcmVzc2lvbihleHByZXNpb24pKSB7XG4gICAgICBpZiAodHlwZW9mIGV4cHJlc2lvbi5sb3AgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGt2ID0gdGhpcy5kZUNvbXBvc2VFeHByZXNpb24oZXhwcmVzaW9uLmxvcCwgY29sdW1ucywga3YpO1xuICAgICAgICByZXR1cm4gdGhpcy5kZUNvbXBvc2VFeHByZXNpb24oZXhwcmVzaW9uLnJvcCwgY29sdW1ucywga3YpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGt2O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldElkRnJvbUZpbHRlcihmaWx0ZXI6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKGZpbHRlcikpIHtcbiAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKGZpbHRlcilbMF0gYXMgc3RyaW5nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuXG59XG4iXX0=