@contember/schema-definition 1.3.0-beta.4 → 1.3.0-rc.2
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/src/acl/definition/internal/AclFactory.d.ts.map +1 -1
- package/dist/src/acl/definition/internal/AclFactory.js +2 -5
- package/dist/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/src/acl/definition/internal/EntityPredicateResolver.d.ts +1 -1
- package/dist/src/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -1
- package/dist/src/acl/definition/internal/EntityPredicateResolver.js +8 -5
- package/dist/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/src/acl/definition/permissions.d.ts +3 -3
- package/dist/src/acl/definition/permissions.d.ts.map +1 -1
- package/dist/src/model/definition/OrderByDefinition.d.ts +4 -2
- package/dist/src/model/definition/OrderByDefinition.d.ts.map +1 -1
- package/dist/src/model/definition/OrderByDefinition.js +18 -5
- package/dist/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/unit/orderBy.test.d.ts +2 -0
- package/dist/tests/cases/unit/orderBy.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/orderBy.test.js +102 -0
- package/dist/tests/cases/unit/orderBy.test.js.map +1 -0
- package/dist/tests/cases/unit/readAclDefinitions.test.js +26 -0
- package/dist/tests/cases/unit/readAclDefinitions.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/acl/definition/internal/AclFactory.ts +2 -5
- package/src/acl/definition/internal/EntityPredicateResolver.ts +13 -5
- package/src/acl/definition/permissions.ts +3 -3
- package/src/model/definition/OrderByDefinition.ts +23 -8
- package/tests/cases/unit/orderBy.test.ts +88 -0
- package/tests/cases/unit/readAclDefinitions.test.ts +24 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AclFactory.d.ts","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/AclFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAOhD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,qBAAa,UAAU;IAErB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,CAAC,MAAM;IAIrB,MAAM,CACZ,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACtC,GAAG,CAAC,MAAM;IAuBb,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"AclFactory.d.ts","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/AclFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAOhD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAI/B,qBAAa,UAAU;IAErB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,CAAC,MAAM;IAIrB,MAAM,CACZ,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACtC,GAAG,CAAC,MAAM;IAuBb,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CA8B/B;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAAE,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IAAC,kBAAkB,EAAE,OAAO,CAAA;CAAE,CAAA;AACpG,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AAChE,MAAM,MAAM,0BAA0B,GAAG,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA"}
|
|
@@ -44,10 +44,7 @@ class AclFactory {
|
|
|
44
44
|
for (const op of ['create', 'update', 'read']) {
|
|
45
45
|
const fieldPermissions = {};
|
|
46
46
|
for (const field of Object.keys(entity.fields)) {
|
|
47
|
-
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const predicate = predicatesResolver.createFieldPredicate(op, field);
|
|
47
|
+
const predicate = predicatesResolver.createFieldPredicate(op, field, field === entity.primary);
|
|
51
48
|
if (predicate !== undefined) {
|
|
52
49
|
fieldPermissions[field] = predicate;
|
|
53
50
|
}
|
|
@@ -56,7 +53,7 @@ class AclFactory {
|
|
|
56
53
|
entityOperations[op] = fieldPermissions;
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
|
-
const delPredicate = predicatesResolver.createFieldPredicate('delete', '');
|
|
56
|
+
const delPredicate = predicatesResolver.createFieldPredicate('delete', '', false);
|
|
60
57
|
if (delPredicate !== undefined) {
|
|
61
58
|
entityOperations.delete = delPredicate;
|
|
62
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AclFactory.js","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/AclFactory.ts"],"names":[],"mappings":";;;AACA,0DAAmD;AAEnD,uEAAoE;AAEpE,qCAKiB;AACjB,oCAA+B;AAC/B,4CAAkD;AAClD,0CAAuD;AAEvD,MAAa,UAAU;IACtB,YACS,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAE5B,CAAC;IAEM,MAAM,CACZ,mBAAwC;QAExC,MAAM,oBAAoB,GAAG,IAAA,8BAAsB,EAAC,mBAAmB,CAAC,CAAA;QACxE,MAAM,KAAK,GAAW,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,YAAI,CAAC,CAAA;QACzF,MAAM,SAAS,GAAyB,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,8BAAkB,CAAC,CAAA;QAEzH,MAAM,kBAAkB,GAAG,UAAU,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;QAEnF,OAAO;YACN,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAiC,EAAE;;gBAC3E,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACpD,OAAO;oBACN,IAAI,CAAC,IAAI;oBACT;wBACC,GAAG,IAAI,CAAC,OAAO;wBACf,MAAM,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,MAAM,mCAAI,GAAG;wBAClC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;wBACjD,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC;qBAChD;iBACD,CAAA;YACF,CAAC,CAAC,CAAC;SACH,CAAA;IACF,CAAC;IAEO,iBAAiB,CAAC,eAAgD;QACzE,IAAI,CAAC,eAAe,EAAE;YACrB,OAAO,EAAE,CAAA;SACT;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAmC,EAAE;;YAChH,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAEhD,MAAM,kBAAkB,GAAG,kDAAwB,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAE/F,MAAM,gBAAgB,GAAmC,EAAE,CAAA;YAC3D,KAAK,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,EAAE;gBACvD,MAAM,gBAAgB,GAAmC,EAAE,CAAA;gBAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAC/C,
|
|
1
|
+
{"version":3,"file":"AclFactory.js","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/AclFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare class EntityPredicatesResolver {
|
|
|
8
8
|
private usedPredicates;
|
|
9
9
|
private constructor();
|
|
10
10
|
static create(rolePermissions: PermissionsByEntity, model: Model.Schema, entity: Model.Entity): EntityPredicatesResolver;
|
|
11
|
-
createFieldPredicate(op: 'create' | 'update' | 'read' | 'delete', field: string): true | undefined | string;
|
|
11
|
+
createFieldPredicate(op: 'create' | 'update' | 'read' | 'delete', field: string, isPrimary: boolean): true | undefined | string;
|
|
12
12
|
getUsedPredicates(): Acl.PredicateMap;
|
|
13
13
|
private static resolvePredicate;
|
|
14
14
|
private static getMatchingWhens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPredicateResolver.d.ts","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/EntityPredicateResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAS,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAMlD,qBAAa,wBAAwB;IAInC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,cAAc;IANvB,OAAO,CAAC,cAAc,CAAe;IAErC,OAAO;WAQO,MAAM,CACnB,eAAe,EAAE,mBAAmB,EACpC,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,MAAM,EAAE,KAAK,CAAC,MAAM,GAClB,wBAAwB;IAsC3B,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"EntityPredicateResolver.d.ts","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/EntityPredicateResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAS,KAAK,EAAY,MAAM,mBAAmB,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAMlD,qBAAa,wBAAwB;IAInC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,cAAc;IANvB,OAAO,CAAC,cAAc,CAAe;IAErC,OAAO;WAQO,MAAM,CACnB,eAAe,EAAE,mBAAmB,EACpC,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,MAAM,EAAE,KAAK,CAAC,MAAM,GAClB,wBAAwB;IAsC3B,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;IAoC/H,iBAAiB,IAAI,GAAG,CAAC,YAAY;IAKrC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA+C/B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAsB/B"}
|
|
@@ -51,8 +51,8 @@ class EntityPredicatesResolver {
|
|
|
51
51
|
}
|
|
52
52
|
return new EntityPredicatesResolver(aclDefinitions, predicates, predicateNamesMap, generatedNames);
|
|
53
53
|
}
|
|
54
|
-
createFieldPredicate(op, field) {
|
|
55
|
-
const fieldWhens = EntityPredicatesResolver.getMatchingWhens(this.aclDefinitions, op, field);
|
|
54
|
+
createFieldPredicate(op, field, isPrimary) {
|
|
55
|
+
const fieldWhens = EntityPredicatesResolver.getMatchingWhens(this.aclDefinitions, op, field, isPrimary);
|
|
56
56
|
if (fieldWhens.length === 0) {
|
|
57
57
|
return undefined;
|
|
58
58
|
}
|
|
@@ -113,7 +113,7 @@ class EntityPredicatesResolver {
|
|
|
113
113
|
return { [ctx.targetEntity.primary]: { never: true } };
|
|
114
114
|
}
|
|
115
115
|
const ref = ctx.value;
|
|
116
|
-
const whens = EntityPredicatesResolver.getMatchingWhens(targetPermissions.definitions, ref.operation, (_a = ref.field) !== null && _a !== void 0 ? _a : '');
|
|
116
|
+
const whens = EntityPredicatesResolver.getMatchingWhens(targetPermissions.definitions, ref.operation, (_a = ref.field) !== null && _a !== void 0 ? _a : '', false);
|
|
117
117
|
if (whens.length === 0) {
|
|
118
118
|
return { [ctx.targetEntity.primary]: { never: true } };
|
|
119
119
|
}
|
|
@@ -130,7 +130,7 @@ class EntityPredicatesResolver {
|
|
|
130
130
|
},
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
|
-
static getMatchingWhens(permissions, operation, field) {
|
|
133
|
+
static getMatchingWhens(permissions, operation, field, isPrimary) {
|
|
134
134
|
return permissions
|
|
135
135
|
.filter(it => {
|
|
136
136
|
if (operation === 'delete') {
|
|
@@ -140,7 +140,10 @@ class EntityPredicatesResolver {
|
|
|
140
140
|
if (!op) {
|
|
141
141
|
return false;
|
|
142
142
|
}
|
|
143
|
-
|
|
143
|
+
if (op === true) {
|
|
144
|
+
return !isPrimary;
|
|
145
|
+
}
|
|
146
|
+
return op.includes(field);
|
|
144
147
|
})
|
|
145
148
|
.map(it => { var _a; return (_a = it.when) !== null && _a !== void 0 ? _a : true; });
|
|
146
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityPredicateResolver.js","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/EntityPredicateResolver.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAG7C,0DAAsE;AAGtE,+DAA2D;AAE3D,8CAA4D;AAC5D,4CAAiD;AAEjD,MAAa,wBAAwB;IAGpC,YACS,cAAsC,EACtC,UAAsC,EACtC,iBAA8C,EAC9C,cAA2B;QAH3B,mBAAc,GAAd,cAAc,CAAwB;QACtC,eAAU,GAAV,UAAU,CAA4B;QACtC,sBAAiB,GAAjB,iBAAiB,CAA6B;QAC9C,mBAAc,GAAd,cAAc,CAAa;QAN5B,mBAAc,GAAa,EAAE,CAAA;IAQrC,CAAC;IAEM,MAAM,CAAC,MAAM,CACnB,eAAoC,EACpC,KAAmB,EACnB,MAAoB;;QAEpB,MAAM,UAAU,GAA+B,EAAE,CAAA;QACjD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA0B,CAAA;QAC3D,MAAM,cAAc,GAAG,MAAA,MAAA,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAE,WAAW,mCAAI,EAAE,CAAA;QAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;QACxC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAA;QACtH,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;YACxC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACrB,SAAQ;aACR;YACD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;YACpH,IAAI,aAAa,GAAG,MAAA,UAAU,CAAC,IAAI,mCAAI,IAAA,yCAAmB,EAAC,iBAAiB,CAAC,CAAA;YAC7E,OAAO,aAAa,IAAI,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBACtE,aAAa,IAAI,GAAG,CAAA;aACpB;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACrB,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;aACjC;YACD,UAAU,CAAC,aAAa,CAAC,GAAG,iBAAiB,CAAA;YAC7C,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;SACrD;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU,EAAE;YACvD,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;gBACxC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC3B,SAAQ;iBACR;gBACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC3B,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;wBAC9B,MAAM,UAAU,MAAM,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,IAAI,QAAQ,EAAE,kBAAkB,CAAA;qBACnG;iBACD;aACD;SACD;QAED,OAAO,IAAI,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAA;IACnG,CAAC;IAED,oBAAoB,CAAC,EAA2C,EAAE,KAAa;
|
|
1
|
+
{"version":3,"file":"EntityPredicateResolver.js","sourceRoot":"","sources":["../../../../../src/acl/definition/internal/EntityPredicateResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export type WhenDefinition = Acl.PredicateDefinition<PredicateExtra>;
|
|
|
8
8
|
export interface AllowDefinition<E> {
|
|
9
9
|
when?: WhenDefinition;
|
|
10
10
|
name?: string;
|
|
11
|
-
create?: true | (keyof E)[];
|
|
12
|
-
update?: true | (keyof E)[];
|
|
13
|
-
read?: true | (keyof E)[];
|
|
11
|
+
create?: true | ('id' | keyof E)[];
|
|
12
|
+
update?: true | ('id' | keyof E)[];
|
|
13
|
+
read?: true | ('id' | keyof E)[];
|
|
14
14
|
delete?: true;
|
|
15
15
|
}
|
|
16
16
|
export declare const allow: <E, R extends Role<string>>(role: R | R[], args: AllowDefinition<E>) => DecoratorFunction<E>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/acl/definition/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,cAAc,GAAG,4BAA4B,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/acl/definition/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAA;AAElE,MAAM,MAAM,cAAc,GAAG,4BAA4B,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,WAAW,eAAe,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;IAClC,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,CAAA;IAChC,MAAM,CAAC,EAAE,IAAI,CAAA;CACb;AAED,eAAO,MAAM,KAAK,8FAMjB,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Model } from '@contember/schema';
|
|
2
2
|
import { DecoratorFunction } from '../../utils';
|
|
3
|
+
export type OrderByDirection = Model.OrderDirection | `${Model.OrderDirection}`;
|
|
3
4
|
export type OrderByOptions = {
|
|
4
5
|
path: string[];
|
|
5
|
-
direction?:
|
|
6
|
+
direction?: OrderByDirection;
|
|
6
7
|
};
|
|
7
8
|
export declare function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>;
|
|
8
|
-
export declare function OrderBy<T>(
|
|
9
|
+
export declare function OrderBy<T>(options: OrderByOptions[]): DecoratorFunction<T>;
|
|
10
|
+
export declare function OrderBy<T>(path: (keyof T) & string, direction?: OrderByDirection): DecoratorFunction<T>;
|
|
9
11
|
//# sourceMappingURL=OrderByDefinition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderByDefinition.d.ts","sourceRoot":"","sources":["../../../../src/model/definition/OrderByDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"OrderByDefinition.d.ts","sourceRoot":"","sources":["../../../../src/model/definition/OrderByDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;AAC/E,MAAM,MAAM,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAG7E,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;AACzE,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAC3E,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -6,13 +6,26 @@ const extensions_1 = require("./extensions");
|
|
|
6
6
|
function OrderBy(options, direction) {
|
|
7
7
|
return (0, extensions_1.extendEntity)(({ entity }) => {
|
|
8
8
|
var _a, _b;
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
?
|
|
12
|
-
|
|
9
|
+
const normalize = (path, direction) => ({
|
|
10
|
+
path,
|
|
11
|
+
direction: (direction !== null && direction !== void 0 ? direction : schema_1.Model.OrderDirection.asc),
|
|
12
|
+
});
|
|
13
|
+
const orderBy = (() => {
|
|
14
|
+
if (Array.isArray(options)) {
|
|
15
|
+
return options.map(it => normalize(it.path, it.direction));
|
|
16
|
+
}
|
|
17
|
+
if (typeof options === 'object') {
|
|
18
|
+
return [normalize(options.path, options.direction)];
|
|
19
|
+
}
|
|
20
|
+
return [normalize([options], direction)];
|
|
21
|
+
})();
|
|
22
|
+
if ((_a = entity.orderBy) === null || _a === void 0 ? void 0 : _a.length) {
|
|
23
|
+
// eslint-disable-next-line no-console
|
|
24
|
+
console.warn(`DEPRECATED: The "order by" property for the entity ${entity.name} has already been defined. Using multiple decorators can lead to unexpected order. Please provide an array containing all the 'order by' items as an input.`);
|
|
25
|
+
}
|
|
13
26
|
return {
|
|
14
27
|
...entity,
|
|
15
|
-
orderBy: [...((_b = entity.orderBy) !== null && _b !== void 0 ? _b : []),
|
|
28
|
+
orderBy: [...((_b = entity.orderBy) !== null && _b !== void 0 ? _b : []), ...orderBy],
|
|
16
29
|
};
|
|
17
30
|
});
|
|
18
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderByDefinition.js","sourceRoot":"","sources":["../../../../src/model/definition/OrderByDefinition.ts"],"names":[],"mappings":";;;AAAA,8CAAyC;AACzC,6CAA2C;
|
|
1
|
+
{"version":3,"file":"OrderByDefinition.js","sourceRoot":"","sources":["../../../../src/model/definition/OrderByDefinition.ts"],"names":[],"mappings":";;;AAAA,8CAAyC;AACzC,6CAA2C;AAW3C,SAAgB,OAAO,CAAI,OAAiE,EAAE,SAAqC;IAClI,OAAO,IAAA,yBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;QAClC,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,SAA4B,EAAiB,EAAE,CAAC,CAAC;YACnF,IAAI;YACJ,SAAS,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,cAAK,CAAC,cAAc,CAAC,GAAG,CAAyB;SAC1E,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,CAAC,GAAoB,EAAE;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;aAC1D;YACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAChC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;aACnD;YACD,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,EAAE,CAAA;QAEJ,IAAI,MAAA,MAAM,CAAC,OAAO,0CAAE,MAAM,EAAE;YAC3B,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,sDAAsD,MAAM,CAAC,IAAI,6JAA6J,CAAC,CAAA;SAC5O;QAED,OAAO;YACN,GAAG,MAAM;YACT,OAAO,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC;SAChD,CAAA;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AA1BD,0BA0BC"}
|