@spinajs/orm-http 2.0.389 → 2.0.390
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 +171 -69
- package/lib/cjs/builders.js.map +1 -1
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/dto.js.map +1 -1
- package/lib/cjs/extension.d.ts +5 -4
- package/lib/cjs/extension.d.ts.map +1 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +5 -6
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +9 -1
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +6 -1
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/model.d.ts +26 -17
- package/lib/cjs/model.d.ts.map +1 -1
- package/lib/cjs/model.js +25 -15
- package/lib/cjs/model.js.map +1 -1
- package/lib/cjs/route-arg.d.ts.map +1 -1
- package/lib/cjs/route-arg.js +23 -13
- package/lib/cjs/route-arg.js.map +1 -1
- package/lib/mjs/builders.js +171 -69
- package/lib/mjs/builders.js.map +1 -1
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/dto.js.map +1 -1
- package/lib/mjs/extension.d.ts +5 -4
- package/lib/mjs/extension.d.ts.map +1 -1
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +5 -6
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +9 -1
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +5 -0
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/model.d.ts +26 -17
- package/lib/mjs/model.d.ts.map +1 -1
- package/lib/mjs/model.js +25 -15
- package/lib/mjs/model.js.map +1 -1
- package/lib/mjs/route-arg.d.ts.map +1 -1
- package/lib/mjs/route-arg.js +23 -13
- 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 +11 -10
package/lib/mjs/model.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { OrmException, SelectQueryBuilder, createQuery } from '@spinajs/orm';
|
|
2
2
|
import './builders.js';
|
|
3
|
+
import { FilterableLogicalOperators } from './interfaces.js';
|
|
3
4
|
export const MODEL_STATIC_MIXINS = {
|
|
4
|
-
async filter(
|
|
5
|
+
async filter(filterRequest) {
|
|
5
6
|
const { query } = createQuery(this, SelectQueryBuilder);
|
|
6
|
-
return query.filter(filters);
|
|
7
|
+
return query.filter(filterRequest.filters, filterRequest.op);
|
|
7
8
|
},
|
|
8
9
|
filterColumns() {
|
|
9
10
|
const modelDescriptor = this.getModelDescriptor();
|
|
@@ -24,20 +25,29 @@ export const MODEL_STATIC_MIXINS = {
|
|
|
24
25
|
throw new OrmException(`Model ${this.constructor.name} has no descriptor`);
|
|
25
26
|
}
|
|
26
27
|
return {
|
|
27
|
-
type: '
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
op: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
enum: [FilterableLogicalOperators.And, FilterableLogicalOperators.Or],
|
|
33
|
+
},
|
|
34
|
+
filters: {
|
|
35
|
+
type: 'array',
|
|
36
|
+
items: {
|
|
32
37
|
type: 'object',
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
anyOf: [...modelDescriptor.FilterableColumns.entries()].map(([key, val]) => {
|
|
39
|
+
return {
|
|
40
|
+
type: 'object',
|
|
41
|
+
required: ['Column', 'Operator'],
|
|
42
|
+
properties: {
|
|
43
|
+
Column: { const: key },
|
|
44
|
+
Value: { type: ['string', 'integer', 'array', 'boolean'] },
|
|
45
|
+
Operator: { type: 'string', enum: val.operators },
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
},
|
|
41
51
|
},
|
|
42
52
|
};
|
|
43
53
|
},
|
package/lib/mjs/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/F,OAAO,eAAe,CAAC;AACvB,OAAO,EAAiC,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,CAAC,MAAM,CAAC,aAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAQ,KAAa,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,aAAa;QACX,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;YAC3G,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,MAAM,eAAe,GAAI,IAAY,CAAC,kBAAkB,EAAsB,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC;iBACtE;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAmC,EAAE,EAAE;4BAC3G,OAAO;gCACL,IAAI,EAAE,QAAQ;gCACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gCAChC,UAAU,EAAE;oCACV,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;oCACtB,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE;oCAC1D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE;iCAClD;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -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,
|
|
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,EAA8B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5E,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;;;;CAgDpM"}
|
package/lib/mjs/route-arg.js
CHANGED
|
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import { Inject, Injectable, Container } from '@spinajs/di';
|
|
11
11
|
import { RouteArgs } from '@spinajs/http';
|
|
12
|
+
import { FilterableLogicalOperators } from './interfaces.js';
|
|
12
13
|
let FilterModelRouteArg = class FilterModelRouteArg extends RouteArgs {
|
|
13
14
|
constructor(c) {
|
|
14
15
|
super();
|
|
@@ -35,20 +36,29 @@ let FilterModelRouteArg = class FilterModelRouteArg extends RouteArgs {
|
|
|
35
36
|
else {
|
|
36
37
|
// manually build custom schema
|
|
37
38
|
rParam.Schema = {
|
|
38
|
-
type: '
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
type: 'object',
|
|
40
|
+
properties: {
|
|
41
|
+
op: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
enum: [FilterableLogicalOperators.And, FilterableLogicalOperators.Or],
|
|
44
|
+
},
|
|
45
|
+
filters: {
|
|
46
|
+
type: 'array',
|
|
47
|
+
items: {
|
|
43
48
|
type: 'object',
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
anyOf: param.Options.map((x) => {
|
|
50
|
+
return {
|
|
51
|
+
type: 'object',
|
|
52
|
+
required: ['Column', 'Value', 'Operator'],
|
|
53
|
+
properties: {
|
|
54
|
+
Column: { const: x.column },
|
|
55
|
+
Value: { type: ['string', 'integer', 'array'] },
|
|
56
|
+
Operator: { type: 'string', enum: x.operators },
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
},
|
|
52
62
|
},
|
|
53
63
|
};
|
|
54
64
|
}
|
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;
|
|
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;AAG9F,OAAO,EAAE,0BAA0B,EAAiB,MAAM,iBAAiB,CAAC;AAIrE,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;YACzE,uBAAuB;YACvB,MAAM,CAAC,MAAM,GAAI,KAAK,CAAC,OAAe,CAAC,YAAY,EAAE,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,MAAM,CAAC,MAAM,GAAG;gBACd,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,0BAA0B,CAAC,GAAG,EAAE,0BAA0B,CAAC,EAAE,CAAC;qBACtE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAG,KAAK,CAAC,OAAoC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gCAC3D,OAAO;oCACL,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;oCACzC,UAAU,EAAE;wCACV,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;wCAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;wCAC/C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE;qCAChD;iCACF,CAAC;4BACJ,CAAC,CAAC;yBACH;qBACF;iBACF;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;AA/DY,mBAAmB;IAF/B,UAAU,EAAE;IACZ,MAAM,CAAC,SAAS,CAAC;;GACL,mBAAmB,CA+D/B"}
|