@spinajs/orm-http 2.0.381 → 2.0.383
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/lib/cjs/builders.js +8 -3
- package/lib/cjs/builders.js.map +1 -1
- package/lib/cjs/decorators.d.ts +2 -6
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/extension.d.ts +2 -2
- package/lib/cjs/extension.d.ts.map +1 -1
- package/lib/cjs/interfaces.d.ts +4 -3
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/route-arg.d.ts +2 -2
- package/lib/cjs/route-arg.d.ts.map +1 -1
- package/lib/cjs/route-arg.js +2 -2
- package/lib/cjs/route-arg.js.map +1 -1
- package/lib/mjs/builders.js +8 -3
- package/lib/mjs/builders.js.map +1 -1
- package/lib/mjs/decorators.d.ts +2 -6
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/extension.d.ts +2 -2
- package/lib/mjs/extension.d.ts.map +1 -1
- package/lib/mjs/interfaces.d.ts +4 -3
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/route-arg.d.ts +2 -2
- package/lib/mjs/route-arg.d.ts.map +1 -1
- package/lib/mjs/route-arg.js +2 -2
- package/lib/mjs/route-arg.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +10 -10
package/lib/cjs/builders.js
CHANGED
|
@@ -4,11 +4,11 @@ const orm_1 = require("@spinajs/orm");
|
|
|
4
4
|
/**
|
|
5
5
|
* Extend where builder with flter func old style ( by prototype )
|
|
6
6
|
*/
|
|
7
|
-
orm_1.SelectQueryBuilder.prototype.filter = function (filters) {
|
|
7
|
+
orm_1.SelectQueryBuilder.prototype.filter = function (filters, filterColumns) {
|
|
8
8
|
if (!filters || filters.length === 0) {
|
|
9
9
|
return this;
|
|
10
10
|
}
|
|
11
|
-
const columns = this._model.filterColumns();
|
|
11
|
+
const columns = filterColumns ?? this._model.filterColumns();
|
|
12
12
|
filters.forEach((filter) => {
|
|
13
13
|
if (!filter.Column) {
|
|
14
14
|
throw new Error('Column is required');
|
|
@@ -16,9 +16,14 @@ orm_1.SelectQueryBuilder.prototype.filter = function (filters) {
|
|
|
16
16
|
if (!filter.Operator) {
|
|
17
17
|
throw new Error('Operator is required');
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
const column = columns.find((c) => c.column === filter.Column);
|
|
20
|
+
if (!column) {
|
|
20
21
|
throw new Error(`Column ${filter.Column} is not filterable`);
|
|
21
22
|
}
|
|
23
|
+
if (column.query) {
|
|
24
|
+
column.query(filter.Operator, filter.Value).call(this);
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
22
27
|
// TODO: in futere add full expression tree support ( OR, AND, maybe nesting queries for relations, EXISTS maybe ?)
|
|
23
28
|
switch (filter.Operator) {
|
|
24
29
|
case 'eq':
|
package/lib/cjs/builders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":";;AAAA,sCAA+D;AAG/D;;GAEG;AACF,wBAAkB,CAAC,SAAiB,CAAC,MAAM,GAAG,UAAyC,OAAmB;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/decorators.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { ModelBase } from '@spinajs/orm';
|
|
2
|
-
import { FilterableOperators } from './interfaces.js';
|
|
2
|
+
import { FilterableOperators, IColumnFilter } from './interfaces.js';
|
|
3
3
|
import { Constructor } from '@spinajs/di';
|
|
4
4
|
export declare function Filterable(operatorsOrClass: FilterableOperators[] | Constructor<ModelBase>, isAggregate?: boolean): any;
|
|
5
|
-
export
|
|
6
|
-
Column: string;
|
|
7
|
-
Operators: FilterableOperators[];
|
|
8
|
-
};
|
|
9
|
-
export declare function Filter(model: Constructor<ModelBase> | CustomFilterSchema[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
5
|
+
export declare function Filter(model: Constructor<ModelBase> | IColumnFilter<unknown>[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
10
6
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAkF,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAkF,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAGzD,wBAAgB,UAAU,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,EAAG,WAAW,CAAC,EAAG,OAAO,OAiCnH;AAGD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,yGAE9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAA,sCAA2I;AAE3I,oCAAyD;AACzD,wCAAiD;AAEjD,SAAgB,UAAU,CAAC,gBAAgE,EAAG,WAAsB;IAClH,OAAO,IAAA,wCAAkC,EAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QACvG,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;QACrE,CAAC;QAED,IAAI,IAAA,kBAAa,EAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,kFAAkF;YAClF,yBAAyB;YACzB,MAAM,UAAU,GAAG,IAAA,4BAAsB,EAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,OAAO,CAAC,GAAG,WAAW,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAgC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,GAAU,CAAC,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,oBAAoB,WAAW,8BAA8B,CAAC,CAAC;YACtH,CAAC;YACD,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,mFAAmF;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,wBAAkB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,KAAK,EAAG,OAAO,EAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjCD,gCAiCC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;AAAA,sCAA2I;AAE3I,oCAAyD;AACzD,wCAAiD;AAEjD,SAAgB,UAAU,CAAC,gBAAgE,EAAG,WAAsB;IAClH,OAAO,IAAA,wCAAkC,EAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QACvG,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;QACrE,CAAC;QAED,IAAI,IAAA,kBAAa,EAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,kFAAkF;YAClF,yBAAyB;YACzB,MAAM,UAAU,GAAG,IAAA,4BAAsB,EAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,OAAO,CAAC,GAAG,WAAW,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAgC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,GAAU,CAAC,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,oBAAoB,WAAW,8BAA8B,CAAC,CAAC;YACtH,CAAC;YACD,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,mFAAmF;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAA,wBAAkB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,KAAK,EAAG,OAAO,EAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjCD,gCAiCC;AAGD,SAAgB,MAAM,CAAC,KAAwD;IAC7E,OAAO,IAAA,YAAK,EAAC,IAAA,gBAAS,EAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,wBAEC"}
|
package/lib/cjs/extension.d.ts
CHANGED
|
@@ -13,14 +13,14 @@ declare module '@spinajs/orm' {
|
|
|
13
13
|
*
|
|
14
14
|
* @param filter
|
|
15
15
|
*/
|
|
16
|
-
filter(filter: IFilter[]): this;
|
|
16
|
+
filter(filter: IFilter[], filters?: IColumnFilter<unknown>[]): this;
|
|
17
17
|
}
|
|
18
18
|
namespace ModelBase {
|
|
19
19
|
/**
|
|
20
20
|
* @returns json schema of filterable columns
|
|
21
21
|
*/
|
|
22
22
|
function filterSchema(): any;
|
|
23
|
-
function filterColumns(): IColumnFilter[];
|
|
23
|
+
function filterColumns(): IColumnFilter<unknown>[];
|
|
24
24
|
/**
|
|
25
25
|
*
|
|
26
26
|
* NOTE: this is not a part of orm, but a part of orm-http extension
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAiB,gBAAgB;QAC/B;;WAEG;QACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAC,mBAAmB,EAAE,CAAC,CAAC;KACvD;IAED,UAAiB,mBAAmB;QAClC;;;;;WAKG;QACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAiB,gBAAgB;QAC/B;;WAEG;QACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAC,mBAAmB,EAAE,CAAC,CAAC;KACvD;IAED,UAAiB,mBAAmB;QAClC;;;;;WAKG;QACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAG,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;KACtE;IAED,UAAU,SAAS,CAAC;QAElB;;WAEG;QACH,SAAgB,YAAY,IAAI,GAAG,CAAC;QAEpC,SAAgB,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAE1D;;;;;;;WAOG;QACH,SAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F;CACF"}
|
package/lib/cjs/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Class } from '@spinajs/di';
|
|
2
|
-
import { ModelBase, SelectQueryBuilder, SortOrder } from '@spinajs/orm';
|
|
2
|
+
import { ModelBase, SelectQueryBuilder, SortOrder, WhereFunction } from '@spinajs/orm';
|
|
3
3
|
export declare class JsonApiIncomingObject {
|
|
4
4
|
data: {
|
|
5
5
|
type: string;
|
|
@@ -17,9 +17,10 @@ export interface ITransformOptions {
|
|
|
17
17
|
perPage?: number;
|
|
18
18
|
model: Class<ModelBase<unknown>>;
|
|
19
19
|
}
|
|
20
|
-
export interface IColumnFilter {
|
|
21
|
-
column
|
|
20
|
+
export interface IColumnFilter<T> {
|
|
21
|
+
column?: string;
|
|
22
22
|
operators: FilterableOperators[];
|
|
23
|
+
query?: (operator: FilterableOperators, value: any) => WhereFunction<T>;
|
|
23
24
|
}
|
|
24
25
|
export interface IFilter {
|
|
25
26
|
Column: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGvF,qBACa,qBAAqB;IACzB,IAAI,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,GAAG,CAAC;QAChB,aAAa,EAAE,GAAG,CAAC;KACpB,CAAQ;gBAEG,IAAI,EAAE,GAAG;CAGtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAG,mBAAmB,EAAE,KAAK,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;CACzE;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC;CACZ;AAGD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS;IACnD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAG,OAAO,CAAC;IAErB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,kBAAkB,CAAC;CAC3F;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC"}
|
package/lib/cjs/route-arg.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import { IContainer, Constructor } from '@spinajs/di';
|
|
|
3
3
|
import { IRoute, IRouteCall, IRouteParameter, ParameterType, RouteArgs } from '@spinajs/http';
|
|
4
4
|
import { ModelBase } from '@spinajs/orm';
|
|
5
5
|
import express from 'express';
|
|
6
|
-
import {
|
|
6
|
+
import { IColumnFilter } from './interfaces.js';
|
|
7
7
|
export declare class FilterModelRouteArg extends RouteArgs {
|
|
8
8
|
protected Container: IContainer;
|
|
9
9
|
constructor(c: IContainer);
|
|
10
10
|
resolve(): Promise<void>;
|
|
11
11
|
get SupportedType(): ParameterType | string;
|
|
12
|
-
extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter<Constructor<ModelBase> |
|
|
12
|
+
extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter<Constructor<ModelBase> | IColumnFilter<unknown>[]>, req: express.Request, _res: express.Response, route: IRoute): Promise<{
|
|
13
13
|
CallData: IRouteCall;
|
|
14
14
|
Args: any;
|
|
15
15
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-arg.d.ts","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAiC,WAAW,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"route-arg.d.ts","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAiC,WAAW,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAEa,mBAAoB,SAAQ,SAAS;IAChD,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;gBAEpB,CAAC,EAAE,UAAU;IAMnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,IAAW,aAAa,IAAI,aAAa,GAAG,MAAM,CAEjD;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAyCpM"}
|
package/lib/cjs/route-arg.js
CHANGED
|
@@ -46,9 +46,9 @@ let FilterModelRouteArg = class FilterModelRouteArg extends http_1.RouteArgs {
|
|
|
46
46
|
type: 'object',
|
|
47
47
|
required: ['Column', 'Value', 'Operator'],
|
|
48
48
|
properties: {
|
|
49
|
-
Column: { const: x.
|
|
49
|
+
Column: { const: x.column },
|
|
50
50
|
Value: { type: ['string', 'integer', 'array'] },
|
|
51
|
-
Operator: { type: 'string', enum: x.
|
|
51
|
+
Operator: { type: 'string', enum: x.operators },
|
|
52
52
|
},
|
|
53
53
|
};
|
|
54
54
|
}),
|
package/lib/cjs/route-arg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-arg.js","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAqF;AACrF,wCAA8F;AAOvF,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAS;IAGhD,YAAY,CAAa;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,KAAoB,CAAC;IAElC,IAAW,aAAa;QACtB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"route-arg.js","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAqF;AACrF,wCAA8F;AAOvF,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,gBAAS;IAGhD,YAAY,CAAa;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,KAAoB,CAAC;IAElC,IAAW,aAAa;QACtB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,KAAyE,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QACjM,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/D,wDAAwD;QACxD,iEAAiE;QACjE,MAAM,MAAM,GAAG;YACb,GAAG,KAAK;YACR,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,yBAAyB;QACzB,0CAA0C;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAK,KAAK,CAAC,OAAe,CAAC,YAAY,EAAE,CAAC;YAEzE,uBAAuB;YACvB,MAAM,CAAC,MAAM,GAAI,KAAK,CAAC,OAAe,CAAC,YAAY,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YAEN,+BAA+B;YAC/B,MAAM,CAAC,MAAM,GAAG;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAG,KAAK,CAAC,OAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC3D,OAAO;4BACL,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;4BACzC,UAAU,EAAE;gCACV,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gCAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;gCAC/C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE;6BAChD;yBACF,CAAC;oBACJ,CAAC,CAAC;iBACH;aACF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACjH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AAxDY,kDAAmB;8BAAnB,mBAAmB;IAF/B,IAAA,eAAU,GAAE;IACZ,IAAA,WAAM,EAAC,cAAS,CAAC;;GACL,mBAAmB,CAwD/B"}
|
package/lib/mjs/builders.js
CHANGED
|
@@ -2,11 +2,11 @@ import { SelectQueryBuilder, SqlOperator } from '@spinajs/orm';
|
|
|
2
2
|
/**
|
|
3
3
|
* Extend where builder with flter func old style ( by prototype )
|
|
4
4
|
*/
|
|
5
|
-
SelectQueryBuilder.prototype.filter = function (filters) {
|
|
5
|
+
SelectQueryBuilder.prototype.filter = function (filters, filterColumns) {
|
|
6
6
|
if (!filters || filters.length === 0) {
|
|
7
7
|
return this;
|
|
8
8
|
}
|
|
9
|
-
const columns = this._model.filterColumns();
|
|
9
|
+
const columns = filterColumns ?? this._model.filterColumns();
|
|
10
10
|
filters.forEach((filter) => {
|
|
11
11
|
if (!filter.Column) {
|
|
12
12
|
throw new Error('Column is required');
|
|
@@ -14,9 +14,14 @@ SelectQueryBuilder.prototype.filter = function (filters) {
|
|
|
14
14
|
if (!filter.Operator) {
|
|
15
15
|
throw new Error('Operator is required');
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
const column = columns.find((c) => c.column === filter.Column);
|
|
18
|
+
if (!column) {
|
|
18
19
|
throw new Error(`Column ${filter.Column} is not filterable`);
|
|
19
20
|
}
|
|
21
|
+
if (column.query) {
|
|
22
|
+
column.query(filter.Operator, filter.Value).call(this);
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
20
25
|
// TODO: in futere add full expression tree support ( OR, AND, maybe nesting queries for relations, EXISTS maybe ?)
|
|
21
26
|
switch (filter.Operator) {
|
|
22
27
|
case 'eq':
|
package/lib/mjs/builders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG/D;;GAEG;AACF,kBAAkB,CAAC,SAAiB,CAAC,MAAM,GAAG,UAAyC,OAAmB;
|
|
1
|
+
{"version":3,"file":"builders.js","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/decorators.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { ModelBase } from '@spinajs/orm';
|
|
2
|
-
import { FilterableOperators } from './interfaces.js';
|
|
2
|
+
import { FilterableOperators, IColumnFilter } from './interfaces.js';
|
|
3
3
|
import { Constructor } from '@spinajs/di';
|
|
4
4
|
export declare function Filterable(operatorsOrClass: FilterableOperators[] | Constructor<ModelBase>, isAggregate?: boolean): any;
|
|
5
|
-
export
|
|
6
|
-
Column: string;
|
|
7
|
-
Operators: FilterableOperators[];
|
|
8
|
-
};
|
|
9
|
-
export declare function Filter(model: Constructor<ModelBase> | CustomFilterSchema[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
5
|
+
export declare function Filter(model: Constructor<ModelBase> | IColumnFilter<unknown>[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
|
|
10
6
|
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAkF,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAkF,MAAM,cAAc,CAAC;AAC3I,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAGzD,wBAAgB,UAAU,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,EAAG,WAAW,CAAC,EAAG,OAAO,OAiCnH;AAGD,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,yGAE9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,kBAAkB,EAAE,kCAAkC,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3I,OAAO,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,gBAAgE,EAAG,WAAsB;IAClH,OAAO,kCAAkC,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QACvG,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;QACrE,CAAC;QAED,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,kFAAkF;YAClF,yBAAyB;YACzB,MAAM,UAAU,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,OAAO,CAAC,GAAG,WAAW,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAgC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,GAAU,CAAC,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,oBAAoB,WAAW,8BAA8B,CAAC,CAAC;YACtH,CAAC;YACD,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,mFAAmF;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,KAAK,EAAG,OAAO,EAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,kBAAkB,EAAE,kCAAkC,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3I,OAAO,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,gBAAgE,EAAG,WAAsB;IAClH,OAAO,kCAAkC,CAAC,CAAC,KAAuB,EAAE,OAAY,EAAE,WAAmB,EAAE,EAAE;QACvG,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;QACrE,CAAC;QAED,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,kFAAkF;YAClF,yBAAyB;YACzB,MAAM,UAAU,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzB,OAAO,CAAC,GAAG,WAAW,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC,CAAC,CAAC;gBAEH,KAAK,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAgC,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,GAAU,CAAC,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,oBAAoB,WAAW,8BAA8B,CAAC,CAAC;YACtH,CAAC;YACD,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,mFAAmF;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,KAAK,EAAG,OAAO,EAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QACjH,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,MAAM,UAAU,MAAM,CAAC,KAAwD;IAC7E,OAAO,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
package/lib/mjs/extension.d.ts
CHANGED
|
@@ -13,14 +13,14 @@ declare module '@spinajs/orm' {
|
|
|
13
13
|
*
|
|
14
14
|
* @param filter
|
|
15
15
|
*/
|
|
16
|
-
filter(filter: IFilter[]): this;
|
|
16
|
+
filter(filter: IFilter[], filters?: IColumnFilter<unknown>[]): this;
|
|
17
17
|
}
|
|
18
18
|
namespace ModelBase {
|
|
19
19
|
/**
|
|
20
20
|
* @returns json schema of filterable columns
|
|
21
21
|
*/
|
|
22
22
|
function filterSchema(): any;
|
|
23
|
-
function filterColumns(): IColumnFilter[];
|
|
23
|
+
function filterColumns(): IColumnFilter<unknown>[];
|
|
24
24
|
/**
|
|
25
25
|
*
|
|
26
26
|
* NOTE: this is not a part of orm, but a part of orm-http extension
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAiB,gBAAgB;QAC/B;;WAEG;QACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAC,mBAAmB,EAAE,CAAC,CAAC;KACvD;IAED,UAAiB,mBAAmB;QAClC;;;;;WAKG;QACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,QAAQ,cAAc,CAAC;IAC5B,UAAiB,gBAAgB;QAC/B;;WAEG;QACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAC,mBAAmB,EAAE,CAAC,CAAC;KACvD;IAED,UAAiB,mBAAmB;QAClC;;;;;WAKG;QACH,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAG,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;KACtE;IAED,UAAU,SAAS,CAAC;QAElB;;WAEG;QACH,SAAgB,YAAY,IAAI,GAAG,CAAC;QAEpC,SAAgB,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAE1D;;;;;;;WAOG;QACH,SAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F;CACF"}
|
package/lib/mjs/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Class } from '@spinajs/di';
|
|
2
|
-
import { ModelBase, SelectQueryBuilder, SortOrder } from '@spinajs/orm';
|
|
2
|
+
import { ModelBase, SelectQueryBuilder, SortOrder, WhereFunction } from '@spinajs/orm';
|
|
3
3
|
export declare class JsonApiIncomingObject {
|
|
4
4
|
data: {
|
|
5
5
|
type: string;
|
|
@@ -17,9 +17,10 @@ export interface ITransformOptions {
|
|
|
17
17
|
perPage?: number;
|
|
18
18
|
model: Class<ModelBase<unknown>>;
|
|
19
19
|
}
|
|
20
|
-
export interface IColumnFilter {
|
|
21
|
-
column
|
|
20
|
+
export interface IColumnFilter<T> {
|
|
21
|
+
column?: string;
|
|
22
22
|
operators: FilterableOperators[];
|
|
23
|
+
query?: (operator: FilterableOperators, value: any) => WhereFunction<T>;
|
|
23
24
|
}
|
|
24
25
|
export interface IFilter {
|
|
25
26
|
Column: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGvF,qBACa,qBAAqB;IACzB,IAAI,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,GAAG,CAAC;QAChB,aAAa,EAAE,GAAG,CAAC;KACpB,CAAQ;gBAEG,IAAI,EAAE,GAAG;CAGtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAG,mBAAmB,EAAE,KAAK,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;CACzE;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC;CACZ;AAGD,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS;IACnD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAG,OAAO,CAAC;IAErB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,kBAAkB,CAAC;CAC3F;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC"}
|
package/lib/mjs/route-arg.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import { IContainer, Constructor } from '@spinajs/di';
|
|
|
3
3
|
import { IRoute, IRouteCall, IRouteParameter, ParameterType, RouteArgs } from '@spinajs/http';
|
|
4
4
|
import { ModelBase } from '@spinajs/orm';
|
|
5
5
|
import express from 'express';
|
|
6
|
-
import {
|
|
6
|
+
import { IColumnFilter } from './interfaces.js';
|
|
7
7
|
export declare class FilterModelRouteArg extends RouteArgs {
|
|
8
8
|
protected Container: IContainer;
|
|
9
9
|
constructor(c: IContainer);
|
|
10
10
|
resolve(): Promise<void>;
|
|
11
11
|
get SupportedType(): ParameterType | string;
|
|
12
|
-
extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter<Constructor<ModelBase> |
|
|
12
|
+
extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter<Constructor<ModelBase> | IColumnFilter<unknown>[]>, req: express.Request, _res: express.Response, route: IRoute): Promise<{
|
|
13
13
|
CallData: IRouteCall;
|
|
14
14
|
Args: any;
|
|
15
15
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-arg.d.ts","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAiC,WAAW,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"route-arg.d.ts","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAiC,WAAW,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAEa,mBAAoB,SAAQ,SAAS;IAChD,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;gBAEpB,CAAC,EAAE,UAAU;IAMnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,IAAW,aAAa,IAAI,aAAa,GAAG,MAAM,CAEjD;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAyCpM"}
|
package/lib/mjs/route-arg.js
CHANGED
|
@@ -43,9 +43,9 @@ let FilterModelRouteArg = class FilterModelRouteArg extends RouteArgs {
|
|
|
43
43
|
type: 'object',
|
|
44
44
|
required: ['Column', 'Value', 'Operator'],
|
|
45
45
|
properties: {
|
|
46
|
-
Column: { const: x.
|
|
46
|
+
Column: { const: x.column },
|
|
47
47
|
Value: { type: ['string', 'integer', 'array'] },
|
|
48
|
-
Operator: { type: 'string', enum: x.
|
|
48
|
+
Operator: { type: 'string', enum: x.operators },
|
|
49
49
|
},
|
|
50
50
|
};
|
|
51
51
|
}),
|
package/lib/mjs/route-arg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-arg.js","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAc,MAAM,EAAE,UAAU,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AACrF,OAAO,EAAsD,SAAS,EAAE,MAAM,eAAe,CAAC;AAOvF,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,SAAS;IAGhD,YAAY,CAAa;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,KAAoB,CAAC;IAElC,IAAW,aAAa;QACtB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"route-arg.js","sourceRoot":"","sources":["../../src/route-arg.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAc,MAAM,EAAE,UAAU,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AACrF,OAAO,EAAsD,SAAS,EAAE,MAAM,eAAe,CAAC;AAOvF,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,SAAS;IAGhD,YAAY,CAAa;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,KAAoB,CAAC;IAElC,IAAW,aAAa;QACtB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,KAAyE,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QACjM,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/D,wDAAwD;QACxD,iEAAiE;QACjE,MAAM,MAAM,GAAG;YACb,GAAG,KAAK;YACR,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,yBAAyB;QACzB,0CAA0C;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAK,KAAK,CAAC,OAAe,CAAC,YAAY,EAAE,CAAC;YAEzE,uBAAuB;YACvB,MAAM,CAAC,MAAM,GAAI,KAAK,CAAC,OAAe,CAAC,YAAY,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YAEN,+BAA+B;YAC/B,MAAM,CAAC,MAAM,GAAG;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAG,KAAK,CAAC,OAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC3D,OAAO;4BACL,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;4BACzC,UAAU,EAAE;gCACV,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;gCAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;gCAC/C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE;6BAChD;yBACF,CAAC;oBACJ,CAAC,CAAC;iBACH;aACF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACjH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AAxDY,mBAAmB;IAF/B,UAAU,EAAE;IACZ,MAAM,CAAC,SAAS,CAAC;;GACL,mBAAmB,CAwD/B"}
|