@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.
Files changed (28) hide show
  1. package/dist/src/acl/definition/internal/AclFactory.d.ts.map +1 -1
  2. package/dist/src/acl/definition/internal/AclFactory.js +2 -5
  3. package/dist/src/acl/definition/internal/AclFactory.js.map +1 -1
  4. package/dist/src/acl/definition/internal/EntityPredicateResolver.d.ts +1 -1
  5. package/dist/src/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -1
  6. package/dist/src/acl/definition/internal/EntityPredicateResolver.js +8 -5
  7. package/dist/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
  8. package/dist/src/acl/definition/permissions.d.ts +3 -3
  9. package/dist/src/acl/definition/permissions.d.ts.map +1 -1
  10. package/dist/src/model/definition/OrderByDefinition.d.ts +4 -2
  11. package/dist/src/model/definition/OrderByDefinition.d.ts.map +1 -1
  12. package/dist/src/model/definition/OrderByDefinition.js +18 -5
  13. package/dist/src/model/definition/OrderByDefinition.js.map +1 -1
  14. package/dist/src/tsconfig.tsbuildinfo +1 -1
  15. package/dist/tests/cases/unit/orderBy.test.d.ts +2 -0
  16. package/dist/tests/cases/unit/orderBy.test.d.ts.map +1 -0
  17. package/dist/tests/cases/unit/orderBy.test.js +102 -0
  18. package/dist/tests/cases/unit/orderBy.test.js.map +1 -0
  19. package/dist/tests/cases/unit/readAclDefinitions.test.js +26 -0
  20. package/dist/tests/cases/unit/readAclDefinitions.test.js.map +1 -1
  21. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  22. package/package.json +3 -3
  23. package/src/acl/definition/internal/AclFactory.ts +2 -5
  24. package/src/acl/definition/internal/EntityPredicateResolver.ts +13 -5
  25. package/src/acl/definition/permissions.ts +3 -3
  26. package/src/model/definition/OrderByDefinition.ts +23 -8
  27. package/tests/cases/unit/orderBy.test.ts +88 -0
  28. 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;IAuCzB,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"}
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
- if (field === entity.primary) {
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":"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"}
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,MAAM,SAAS,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,CAAA;oBAC9F,IAAI,SAAS,KAAK,SAAS,EAAE;wBAC5B,gBAAgB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;qBACnC;iBACD;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC7C,gBAAgB,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAA;iBACvC;aACD;YACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;YACjF,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC/B,gBAAgB,CAAC,MAAM,GAAG,YAAY,CAAA;aACtC;YACD,IAAI,MAAA,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,kBAAkB,EAAE;gBACxD,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAA;aACrC;YACD,OAAO,CAAC,UAAU,EAAE;oBACnB,UAAU,EAAE,kBAAkB,CAAC,iBAAiB,EAAE;oBAClD,UAAU,EAAE,gBAAgB;iBAC5B,CAAC,CAAA;QACH,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,eAAe,CAAC,IAAU,EAAE,SAA+B;QAClE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACrE,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAA0B,EAAE;YAChF,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,oBAAgD,EAAE,KAAa;QAC9F,MAAM,kBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAA;QAChE,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,oBAAoB,EAAE;YAClD,MAAM,qBAAqB,GAAG,CAAC,IAAU,EAAqB,EAAE;;gBAC/D,MAAM,eAAe,GAAwB,MAAA,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAA;gBACtF,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;gBAC7C,MAAM,iBAAiB,GAAG,MAAA,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI;oBACtD,kBAAkB,EAAE,KAAK;oBACzB,WAAW,EAAE,EAAE;iBACf,CAAA;gBACD,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;gBAC5C,OAAO,iBAAiB,CAAA;YACzB,CAAC,CAAA;YACD,MAAM,QAAQ,GAAkC,8BAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACjF,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,IAAI,QAAQ,EAAE;gBAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAC1B,MAAM,QAAQ,IAAI,CAAC,IAAI,mBAAmB,IAAI,2CAA2C,CAAA;iBACzF;gBACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;gBACrD,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;aAC9C;YAED,MAAM,sBAAsB,GAAG,wCAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gCAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACxH,KAAK,MAAM,IAAI,IAAI,sBAAsB,EAAE;gBAC1C,qBAAqB,CAAC,IAAI,CAAC,CAAC,kBAAkB,GAAG,IAAI,CAAA;aACrD;SACD;QAED,OAAO,kBAAkB,CAAA;IAC1B,CAAC;CACD;AAxGD,gCAwGC"}
@@ -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;IAoC3G,iBAAiB,IAAI,GAAG,CAAC,YAAY;IAKrC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA+C/B,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAc/B"}
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
- return op === true || op.includes(field);
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":"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"}
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;IAC3B,MAAM,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IAC3B,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,IAAI,CAAA;CACb;AAED,eAAO,MAAM,KAAK,8FAMjB,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?: Model.OrderDirection | `${Model.OrderDirection}`;
6
+ direction?: OrderByDirection;
6
7
  };
7
8
  export declare function OrderBy<T>(options: OrderByOptions): DecoratorFunction<T>;
8
- export declare function OrderBy<T>(path: (keyof T), direction?: Model.OrderDirection | `${Model.OrderDirection}`): DecoratorFunction<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,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,CAAA;CAAE,CAAA;AAG7G,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;AACzE,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA"}
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 path = (typeof options !== 'object' ? [options] : options.path);
10
- const dir = ((_a = ((typeof options === 'object' && options.direction)
11
- ? options.direction
12
- : direction)) !== null && _a !== void 0 ? _a : schema_1.Model.OrderDirection.asc);
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 : []), { path, direction: dir }],
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;AAS3C,SAAgB,OAAO,CAAI,OAAiC,EAAE,SAAqC;IAClG,OAAO,IAAA,yBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;QAClC,MAAM,IAAI,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAa,CAAA;QACjF,MAAM,GAAG,GAAG,CAAC,MAAA,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,SAAS;YACnB,CAAC,CAAC,SAAS,CAAC,mCAAI,cAAK,CAAC,cAAc,CAAC,GAAG,CAAyB,CAAA;QAGlE,OAAO;YACN,GAAG,MAAM;YACT,OAAO,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;SAC9D,CAAA;IACF,CAAC,CAAC,CAAA;AACH,CAAC;AAbD,0BAaC"}
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"}