@smartive/graphql-magic 20.0.0 → 20.1.0-next.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 (51) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/README.md +0 -4
  3. package/dist/bin/gqm.cjs +16 -0
  4. package/dist/cjs/index.cjs +56 -39
  5. package/dist/esm/client/queries.d.ts +0 -1
  6. package/dist/esm/client/queries.js +0 -26
  7. package/dist/esm/client/queries.js.map +1 -1
  8. package/dist/esm/context.d.ts +2 -1
  9. package/dist/esm/models/model-definitions.d.ts +4 -1
  10. package/dist/esm/models/models.d.ts +5 -2
  11. package/dist/esm/models/models.js +1 -0
  12. package/dist/esm/models/models.js.map +1 -1
  13. package/dist/esm/models/mutation-hook.d.ts +8 -1
  14. package/dist/esm/resolvers/filters.d.ts +1 -1
  15. package/dist/esm/resolvers/filters.js +11 -7
  16. package/dist/esm/resolvers/filters.js.map +1 -1
  17. package/dist/esm/resolvers/node.d.ts +1 -0
  18. package/dist/esm/resolvers/node.js +6 -1
  19. package/dist/esm/resolvers/node.js.map +1 -1
  20. package/dist/esm/resolvers/resolver.js +4 -1
  21. package/dist/esm/resolvers/resolver.js.map +1 -1
  22. package/dist/esm/resolvers/resolvers.js +5 -0
  23. package/dist/esm/resolvers/resolvers.js.map +1 -1
  24. package/dist/esm/resolvers/selects.js +7 -1
  25. package/dist/esm/resolvers/selects.js.map +1 -1
  26. package/dist/esm/resolvers/utils.js +5 -3
  27. package/dist/esm/resolvers/utils.js.map +1 -1
  28. package/dist/esm/schema/generate.js +17 -0
  29. package/dist/esm/schema/generate.js.map +1 -1
  30. package/dist/esm/utils/index.d.ts +1 -0
  31. package/dist/esm/utils/index.js +1 -0
  32. package/dist/esm/utils/index.js.map +1 -1
  33. package/eslint.config.mjs +1 -1
  34. package/package.json +2 -2
  35. package/src/client/queries.ts +0 -40
  36. package/src/context.ts +2 -1
  37. package/src/models/model-definitions.ts +2 -1
  38. package/src/models/models.ts +3 -1
  39. package/src/models/mutation-hook.ts +9 -1
  40. package/src/resolvers/filters.ts +11 -6
  41. package/src/resolvers/node.ts +8 -1
  42. package/src/resolvers/resolver.ts +5 -1
  43. package/src/resolvers/resolvers.ts +5 -0
  44. package/src/resolvers/selects.ts +13 -0
  45. package/src/resolvers/utils.ts +5 -3
  46. package/src/schema/generate.ts +18 -0
  47. package/src/utils/index.ts +1 -0
  48. package/tests/generated/db/index.ts +32 -0
  49. package/tsconfig.eslint.json +1 -0
  50. package/tests/unit/__snapshots__/queries.spec.ts.snap +0 -10
  51. package/tests/unit/queries.spec.ts +0 -11
package/CHANGELOG.md CHANGED
@@ -1 +1,6 @@
1
- # [20.0.0](https://github.com/smartive/graphql-magic/compare/v19.6.2...v20.0.0) (2025-09-11)
1
+ # [20.1.0-next.2](https://github.com/smartive/graphql-magic/compare/v20.1.0-next.1...v20.1.0-next.2) (2025-09-17)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Stuff ([f196d6c](https://github.com/smartive/graphql-magic/commit/f196d6c5c671b4361423aa8a925773c10e5f84a4))
package/README.md CHANGED
@@ -24,10 +24,6 @@ Start the required dependencies such as a Postgres database:
24
24
  npm run deps
25
25
  ```
26
26
 
27
- ```
28
- npm bootstrap
29
- ```
30
-
31
27
  Bootstrap the application by generating all the models, migrations and graphql schema:
32
28
 
33
29
  ```
package/dist/bin/gqm.cjs CHANGED
@@ -351,6 +351,7 @@ var EntityModel = class extends Model {
351
351
  creatable;
352
352
  updatable;
353
353
  deletable;
354
+ aggregatable;
354
355
  displayField;
355
356
  defaultOrderBy;
356
357
  fields;
@@ -1577,6 +1578,9 @@ var generateDefinitions = ({
1577
1578
  )
1578
1579
  );
1579
1580
  }
1581
+ if (model.aggregatable) {
1582
+ types.push(object(`${model.name}Aggregate`, [{ name: "COUNT", type: "Int" }]));
1583
+ }
1580
1584
  }
1581
1585
  return types;
1582
1586
  }),
@@ -1607,6 +1611,18 @@ var generateDefinitions = ({
1607
1611
  ...model.fields.some(({ searchable }) => searchable) ? [{ name: "search", type: "String" }] : [],
1608
1612
  ...model.fields.some(({ orderable }) => orderable) ? [{ name: "orderBy", type: `${model.name}OrderBy`, list: true }] : [],
1609
1613
  { name: "limit", type: "Int" },
1614
+ { name: "offset", type: "Int" },
1615
+ ...model.listQueriable && model.listQueriable !== true && model.listQueriable.args || []
1616
+ ]
1617
+ })),
1618
+ ...entities.filter(({ aggregatable }) => aggregatable).map((model) => ({
1619
+ name: `${model.pluralField}_AGGREGATE`,
1620
+ type: `${model.name}Aggregate`,
1621
+ nonNull: true,
1622
+ args: [
1623
+ { name: "where", type: `${model.name}Where` },
1624
+ ...model.fields.some(({ searchable }) => searchable) ? [{ name: "search", type: "String" }] : [],
1625
+ { name: "limit", type: "Int" },
1610
1626
  { name: "offset", type: "Int" }
1611
1627
  ]
1612
1628
  })),
@@ -113,7 +113,6 @@ __export(index_exports, {
113
113
  getResolvers: () => getResolvers,
114
114
  getRole: () => getRole,
115
115
  getRootFieldNode: () => getRootFieldNode,
116
- getSelectEntityRelationsQuery: () => getSelectEntityRelationsQuery,
117
116
  getSimpleFields: () => getSimpleFields,
118
117
  getString: () => getString,
119
118
  getTechnicalDisplay: () => getTechnicalDisplay,
@@ -166,6 +165,7 @@ __export(index_exports, {
166
165
  mutationResolver: () => mutationResolver,
167
166
  name: () => name,
168
167
  namedType: () => namedType,
168
+ noIntrospection: () => noIntrospection,
169
169
  nonNull: () => nonNull,
170
170
  normalizeArguments: () => normalizeArguments,
171
171
  normalizeValue: () => normalizeValue,
@@ -602,6 +602,7 @@ var EntityModel = class extends Model {
602
602
  creatable;
603
603
  updatable;
604
604
  deletable;
605
+ aggregatable;
605
606
  displayField;
606
607
  defaultOrderBy;
607
608
  fields;
@@ -902,29 +903,6 @@ var fieldIsSearchable = (model, fieldName) => {
902
903
  const displayField2 = targetModel.getField(targetModel.displayField || "id");
903
904
  return displayField2.searchable;
904
905
  };
905
- var getSelectEntityRelationsQuery = (model, relationNames) => {
906
- const relations = relationNames.map((name2) => model.getRelation(name2));
907
- return !!relations.length && `query Select${model.name}Relations(${relations.map(
908
- (relation) => `$${relation.name}Where: ${relation.targetModel.name}Where, $${relation.name}Limit: Int${fieldIsSearchable(model, relation.name) ? `, $${relation.name}Search: String` : ""}`
909
- ).join(", ")}) {
910
- ${relations.map((relation) => {
911
- let filters = "";
912
- if (relation.targetModel.displayField) {
913
- const displayField2 = relation.targetModel.fieldsByName[relation.targetModel.displayField];
914
- if ("orderable" in displayField2 && displayField2.orderable) {
915
- filters += `, orderBy: [{ ${relation.targetModel.displayField}: ASC }]`;
916
- }
917
- }
918
- if (fieldIsSearchable(model, relation.name)) {
919
- filters += `, search: $${relation.name}Search`;
920
- }
921
- return `${relation.name}: ${relation.targetModel.pluralField}(where: $${relation.name}Where, limit: $${relation.name}Limit${filters}) {
922
- id
923
- display: ${relation.targetModel.displayField || "id"}
924
- }`;
925
- }).join(" ")}
926
- }`;
927
- };
928
906
  var getManyToManyRelationsQuery = (model, action, manyToManyRelations) => !!manyToManyRelations.length && (action === "update" ? `query Update${model.name}ManyToManyRelations($id: ID!) {
929
907
  ${typeToField(model.name)}(where: { id: $id }) {
930
908
  ${manyToManyRelations.map((relation) => {
@@ -1755,9 +1733,11 @@ function hydrate(node, raw) {
1755
1733
  for (let i = 0; i < allParts.length - 1; i++) {
1756
1734
  const part = allParts[i];
1757
1735
  if (!current[part]) {
1758
- const idField = [node.ctx.aliases.getShort(allParts.slice(0, i + 1).join("__")), ID_ALIAS].join("__");
1759
- if (!entry[idField]) {
1760
- continue outer;
1736
+ if (!node.isAggregate) {
1737
+ const idField = [node.ctx.aliases.getShort(allParts.slice(0, i + 1).join("__")), ID_ALIAS].join("__");
1738
+ if (!entry[idField]) {
1739
+ continue outer;
1740
+ }
1761
1741
  }
1762
1742
  current[part] = {};
1763
1743
  }
@@ -2229,16 +2209,19 @@ var SPECIAL_FILTERS = {
2229
2209
  LT: "?? < ?",
2230
2210
  LTE: "?? <= ?"
2231
2211
  };
2232
- var applyFilters = (node, query, joins) => {
2212
+ var applyFilters = async (node, query, joins) => {
2233
2213
  const normalizedArguments = normalizeArguments(node);
2234
- if (!normalizedArguments.orderBy) {
2235
- if (node.model.defaultOrderBy) {
2236
- normalizedArguments.orderBy = node.model.defaultOrderBy;
2237
- } else if (node.model.creatable) {
2238
- normalizedArguments.orderBy = [{ createdAt: "DESC" }];
2214
+ if (!node.isAggregate) {
2215
+ if (!normalizedArguments.orderBy) {
2216
+ if (node.model.defaultOrderBy) {
2217
+ normalizedArguments.orderBy = node.model.defaultOrderBy;
2218
+ } else if (node.model.creatable) {
2219
+ normalizedArguments.orderBy = [{ createdAt: "DESC" }];
2220
+ }
2239
2221
  }
2240
2222
  }
2241
2223
  const { limit, offset, orderBy, where, search } = normalizedArguments;
2224
+ await node.ctx.queryHook?.({ model: node.model, query, args: normalizedArguments, ctx: node.ctx });
2242
2225
  if (limit) {
2243
2226
  query.limit(limit);
2244
2227
  }
@@ -2454,7 +2437,8 @@ var getResolverNode = ({
2454
2437
  baseTypeDefinition,
2455
2438
  baseModel: ctx.models.entities.find((model2) => model2.name === baseTypeDefinition.name.value),
2456
2439
  typeDefinition: getType(ctx.info.schema, typeName),
2457
- selectionSet: get(node.selectionSet, "selections")
2440
+ selectionSet: get(node.selectionSet, "selections"),
2441
+ isAggregate: false
2458
2442
  };
2459
2443
  };
2460
2444
  var getRootFieldNode = ({
@@ -2465,7 +2449,9 @@ var getRootFieldNode = ({
2465
2449
  const fieldName = node.name.value;
2466
2450
  const fieldDefinition = summonByKey(baseTypeDefinition.fields || [], "name.value", fieldName);
2467
2451
  const typeName = getTypeName(fieldDefinition.type);
2468
- const model = ctx.models.getModel(typeName, "entity");
2452
+ const isAggregate = typeName.endsWith("Aggregate");
2453
+ const modelName = typeName.replace("Aggregate", "");
2454
+ const model = ctx.models.getModel(modelName, "entity");
2469
2455
  const rootModel = model.parent ? ctx.models.getModel(model.parent, "entity") : model;
2470
2456
  return {
2471
2457
  ctx,
@@ -2479,7 +2465,8 @@ var getRootFieldNode = ({
2479
2465
  selectionSet: get(node.selectionSet, "selections"),
2480
2466
  field: node,
2481
2467
  fieldDefinition,
2482
- isList: isListType(fieldDefinition.type)
2468
+ isList: isListType(fieldDefinition.type),
2469
+ isAggregate
2483
2470
  };
2484
2471
  };
2485
2472
  var getSimpleFields = (node) => {
@@ -2547,7 +2534,8 @@ var getJoins = (node, toMany) => {
2547
2534
  fieldDefinition,
2548
2535
  relation,
2549
2536
  foreignKey: relation.field.foreignKey,
2550
- isList: isListType(fieldDefinition.type)
2537
+ isList: isListType(fieldDefinition.type),
2538
+ isAggregate: false
2551
2539
  });
2552
2540
  }
2553
2541
  return nodes;
@@ -2555,6 +2543,14 @@ var getJoins = (node, toMany) => {
2555
2543
 
2556
2544
  // src/resolvers/selects.ts
2557
2545
  var applySelects = (node, query, joins) => {
2546
+ if (node.isAggregate) {
2547
+ void query.select(
2548
+ node.selectionSet.filter(isFieldNode).map(
2549
+ (field) => node.ctx.knex.raw(`COUNT(*) as ??`, [`${node.ctx.aliases.getShort(node.resultAlias)}__${getNameOrAlias(field)}`])
2550
+ )
2551
+ );
2552
+ return;
2553
+ }
2558
2554
  void query.select(
2559
2555
  ...[
2560
2556
  { tableAlias: node.rootTableAlias, resultAlias: node.resultAlias, field: "id", fieldAlias: ID_ALIAS },
@@ -2647,7 +2643,7 @@ var resolve = async (ctx, id) => {
2647
2643
  var buildQuery = async (node, parentVerifiedPermissionStacks) => {
2648
2644
  const query = node.ctx.knex.fromRaw(`"${node.rootModel.name}" as "${node.ctx.aliases.getShort(node.resultAlias)}"`);
2649
2645
  const joins = [];
2650
- applyFilters(node, query, joins);
2646
+ await applyFilters(node, query, joins);
2651
2647
  applySelects(node, query, joins);
2652
2648
  applyJoins(node.ctx.aliases, query, joins);
2653
2649
  const tables = [
@@ -2671,6 +2667,9 @@ var buildQuery = async (node, parentVerifiedPermissionStacks) => {
2671
2667
  return { query, verifiedPermissionStacks };
2672
2668
  };
2673
2669
  var applySubQueries = async (node, entries, parentVerifiedPermissionStacks) => {
2670
+ if (node.isAggregate) {
2671
+ return;
2672
+ }
2674
2673
  if (!entries.length) {
2675
2674
  return;
2676
2675
  }
@@ -3261,6 +3260,9 @@ var getResolvers = (models) => {
3261
3260
  })),
3262
3261
  ...models.entities.filter(({ listQueriable }) => listQueriable).map((model) => ({
3263
3262
  [model.pluralField]: queryResolver
3263
+ })),
3264
+ ...models.entities.filter(({ aggregatable }) => aggregatable).map((model) => ({
3265
+ [`${model.pluralField}_AGGREGATE`]: queryResolver
3264
3266
  }))
3265
3267
  ])
3266
3268
  };
@@ -3588,6 +3590,9 @@ var generateDefinitions = ({
3588
3590
  )
3589
3591
  );
3590
3592
  }
3593
+ if (model.aggregatable) {
3594
+ types.push(object(`${model.name}Aggregate`, [{ name: "COUNT", type: "Int" }]));
3595
+ }
3591
3596
  }
3592
3597
  return types;
3593
3598
  }),
@@ -3618,6 +3623,18 @@ var generateDefinitions = ({
3618
3623
  ...model.fields.some(({ searchable }) => searchable) ? [{ name: "search", type: "String" }] : [],
3619
3624
  ...model.fields.some(({ orderable }) => orderable) ? [{ name: "orderBy", type: `${model.name}OrderBy`, list: true }] : [],
3620
3625
  { name: "limit", type: "Int" },
3626
+ { name: "offset", type: "Int" },
3627
+ ...model.listQueriable && model.listQueriable !== true && model.listQueriable.args || []
3628
+ ]
3629
+ })),
3630
+ ...entities.filter(({ aggregatable }) => aggregatable).map((model) => ({
3631
+ name: `${model.pluralField}_AGGREGATE`,
3632
+ type: `${model.name}Aggregate`,
3633
+ nonNull: true,
3634
+ args: [
3635
+ { name: "where", type: `${model.name}Where` },
3636
+ ...model.fields.some(({ searchable }) => searchable) ? [{ name: "search", type: "String" }] : [],
3637
+ { name: "limit", type: "Int" },
3621
3638
  { name: "offset", type: "Int" }
3622
3639
  ]
3623
3640
  })),
@@ -3795,7 +3812,6 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
3795
3812
  getResolvers,
3796
3813
  getRole,
3797
3814
  getRootFieldNode,
3798
- getSelectEntityRelationsQuery,
3799
3815
  getSimpleFields,
3800
3816
  getString,
3801
3817
  getTechnicalDisplay,
@@ -3848,6 +3864,7 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
3848
3864
  mutationResolver,
3849
3865
  name,
3850
3866
  namedType,
3867
+ noIntrospection,
3851
3868
  nonNull,
3852
3869
  normalizeArguments,
3853
3870
  normalizeValue,
@@ -3,7 +3,6 @@ import { EntityModel, Model, Models, Relation } from '../models/models';
3
3
  export declare const getUpdateEntityQuery: (model: EntityModel, role: string, fields?: string[], additionalFields?: string) => string;
4
4
  export type RelationConstraints = Record<string, (source: any) => any>;
5
5
  export declare const fieldIsSearchable: (model: EntityModel, fieldName: string) => boolean | undefined;
6
- export declare const getSelectEntityRelationsQuery: (model: EntityModel, relationNames: string[]) => string | false;
7
6
  export declare const getManyToManyRelationsQuery: (model: Model, action: "create" | "update", manyToManyRelations: ManyToManyRelation[]) => string | false;
8
7
  export type MutationQuery = {
9
8
  mutated: {
@@ -20,32 +20,6 @@ export const fieldIsSearchable = (model, fieldName) => {
20
20
  const displayField = targetModel.getField(targetModel.displayField || 'id');
21
21
  return displayField.searchable;
22
22
  };
23
- export const getSelectEntityRelationsQuery = (model, relationNames) => {
24
- const relations = relationNames.map((name) => model.getRelation(name));
25
- return (!!relations.length &&
26
- `query Select${model.name}Relations(${relations
27
- .map((relation) => `$${relation.name}Where: ${relation.targetModel.name}Where, $${relation.name}Limit: Int${fieldIsSearchable(model, relation.name) ? `, $${relation.name}Search: String` : ''}`)
28
- .join(', ')}) {
29
- ${relations
30
- .map((relation) => {
31
- let filters = '';
32
- if (relation.targetModel.displayField) {
33
- const displayField = relation.targetModel.fieldsByName[relation.targetModel.displayField];
34
- if ('orderable' in displayField && displayField.orderable) {
35
- filters += `, orderBy: [{ ${relation.targetModel.displayField}: ASC }]`;
36
- }
37
- }
38
- if (fieldIsSearchable(model, relation.name)) {
39
- filters += `, search: $${relation.name}Search`;
40
- }
41
- return `${relation.name}: ${relation.targetModel.pluralField}(where: $${relation.name}Where, limit: $${relation.name}Limit${filters}) {
42
- id
43
- display: ${relation.targetModel.displayField || 'id'}
44
- }`;
45
- })
46
- .join(' ')}
47
- }`);
48
- };
49
23
  export const getManyToManyRelationsQuery = (model, action, manyToManyRelations) => !!manyToManyRelations.length &&
50
24
  (action === 'update'
51
25
  ? `query Update${model.name}ManyToManyRelations($id: ID!) {
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/client/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/client/queries.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { DocumentNode, GraphQLResolveInfo } from 'graphql';
2
2
  import { IncomingMessage } from 'http';
3
3
  import { Knex } from 'knex';
4
4
  import { Models } from './models/models';
5
- import { MutationHook } from './models/mutation-hook';
5
+ import { MutationHook, QueryHook } from './models/mutation-hook';
6
6
  import { Permissions } from './permissions/generate';
7
7
  import { AliasGenerator } from './resolvers/utils';
8
8
  import { AnyDateType } from './utils';
@@ -22,6 +22,7 @@ export type Context<DateType extends AnyDateType = AnyDateType> = {
22
22
  models: Models;
23
23
  permissions: Permissions;
24
24
  mutationHook?: MutationHook<DateType>;
25
+ queryHook?: QueryHook<DateType>;
25
26
  };
26
27
  export type FullContext = Context & {
27
28
  info: GraphQLResolveInfo;
@@ -149,7 +149,9 @@ export type ModelDefinition = {
149
149
  parent?: string;
150
150
  interfaces?: readonly string[];
151
151
  queriable?: boolean;
152
- listQueriable?: boolean;
152
+ listQueriable?: boolean | {
153
+ args?: readonly Field[];
154
+ };
153
155
  creatable?: boolean | {
154
156
  createdBy?: Partial<RelationFieldDefinition>;
155
157
  createdAt?: Partial<DateTimeFieldDefinition>;
@@ -163,6 +165,7 @@ export type ModelDefinition = {
163
165
  deletedBy?: Partial<RelationFieldDefinition>;
164
166
  deletedAt?: Partial<DateTimeFieldDefinition>;
165
167
  };
168
+ aggregatable?: boolean;
166
169
  displayField?: string;
167
170
  defaultOrderBy?: OrderBy[];
168
171
  fields: EntityFieldDefinition[];
@@ -1,4 +1,4 @@
1
- import { CustomFieldDefinition, EnumFieldDefinition, FloatFieldDefinition, IDFieldDefinition, InputModelDefinition, IntFieldDefinition, InterfaceModelDefinition, JsonFieldDefinition, ObjectModelDefinition, OrderBy, PrimitiveFieldDefinition, RawEnumModelDefinition, StringFieldDefinition, UnionModelDefinition, UploadFieldDefinition } from '..';
1
+ import { CustomFieldDefinition, EnumFieldDefinition, Field, FloatFieldDefinition, IDFieldDefinition, InputModelDefinition, IntFieldDefinition, InterfaceModelDefinition, JsonFieldDefinition, ObjectModelDefinition, OrderBy, PrimitiveFieldDefinition, RawEnumModelDefinition, StringFieldDefinition, UnionModelDefinition, UploadFieldDefinition } from '..';
2
2
  import { BooleanFieldDefinition, DateTimeFieldDefinition, EntityFieldDefinition, EntityModelDefinition, EnumModelDefinition, ModelDefinition, ModelDefinitions, ObjectFieldDefinition, RelationFieldDefinition } from './model-definitions';
3
3
  export type ObjectField = ObjectFieldDefinition;
4
4
  export type EntityField = EntityFieldDefinition;
@@ -78,7 +78,9 @@ export declare class EntityModel extends Model {
78
78
  parent?: string;
79
79
  interfaces?: string[];
80
80
  queriable?: boolean;
81
- listQueriable?: boolean;
81
+ listQueriable?: boolean | {
82
+ args?: readonly Field[];
83
+ };
82
84
  creatable?: boolean | {
83
85
  createdBy?: Partial<RelationFieldDefinition>;
84
86
  createdAt?: Partial<DateTimeFieldDefinition>;
@@ -92,6 +94,7 @@ export declare class EntityModel extends Model {
92
94
  deletedBy?: Partial<RelationFieldDefinition>;
93
95
  deletedAt?: Partial<DateTimeFieldDefinition>;
94
96
  };
97
+ aggregatable?: boolean;
95
98
  displayField?: string;
96
99
  defaultOrderBy?: OrderBy[];
97
100
  fields: EntityField[];
@@ -259,6 +259,7 @@ export class EntityModel extends Model {
259
259
  creatable;
260
260
  updatable;
261
261
  deletable;
262
+ aggregatable;
262
263
  displayField;
263
264
  defaultOrderBy;
264
265
  fields;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AA6B/B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmBnE,MAAM,OAAO,MAAM;IACV,MAAM,CAAU;IACf,YAAY,GAA0B,EAAE,CAAC;IAC1C,OAAO,CAAgB;IACvB,QAAQ,CAAiB;IACzB,KAAK,CAAc;IACnB,MAAM,CAAe;IACrB,UAAU,CAAmB;IAC7B,OAAO,CAAgB;IACvB,QAAQ,CAAgB;IACxB,MAAM,CAAe;IACrB,WAAW,CAAmB;IAErC,YAAY,WAA6B;QACvC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;SACjB,EACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClC;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAElE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM;oBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACxG,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,MAAM,GAAG;gBACd;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB;gBACD,GAAG,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM;4BAC1B,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;yBACgB;qBAClC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,EAAE;4BAC3C,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;qBACpC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,EAAE;4BAC3C,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;qBACpC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,YAAY,EAAE,KAAK;4BACnB,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;4BAC9B,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;yBACrC;wBAClC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,EAAE;4BAC3C,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,gBAAgB;4BACtB,IAAI,EAAE,QAAQ;4BACd,SAAS,EAAE,IAAI;yBACgB;wBAEjC;4BACE,IAAI,EAAE,cAAc;4BACpB,IAAI,EAAE,IAAI;4BACV,SAAS,EAAE,IAAI;yBACY;qBAC9B;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC/F,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAEpF,KAAK,CAAC,MAAM,GAAG;oBACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/B,GAAG,KAAK;wBACR,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;4BAC3B,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACrG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;wBACpE,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAChC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAK,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAC5F,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,KAAK,YAAY,SAAS,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAuB,EAAE,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA2B,EAAE,CAAC,KAAK,YAAY,cAAc,CAAC,CAAC;QAC1G,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAuB,EAAE,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC;IAChG,CAAC;IAEM,QAAQ,CAA0C,IAAY,EAAE,IAAQ;QAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAmC,CAAC;QAC7C,CAAC;QAED,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,mBAAmB,IAAI,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAmC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAgB,KAAK;IAMhB;IALT,IAAI,CAAS;IACb,MAAM,CAAS;IACf,WAAW,CAAS;IAEpB,YACS,MAAc,EACrB,UAA2B;QADpB,WAAM,GAAN,MAAM,CAAQ;QAGrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAW;CAChB;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,IAAI,CAAU;IACd,KAAK,CAAW;IAEhB,YAAY,MAAc,EAAE,UAAgC;QAC1D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AACD,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAS;IACb,MAAM,CAAW;IACjB,OAAO,CAAQ;IAEf,YAAY,MAAc,EAAE,UAA+B;QACzD,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAa;IACjB,MAAM,CAAW;IAEjB,YAAY,MAAc,EAAE,UAAkC;QAC5D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAc;IAClB,MAAM,CAAgB;IAEtB,YAAY,MAAc,EAAE,UAAoC;QAC9D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,IAAI,CAAU;IACd,MAAM,CAAgB;IAEtB,YAAY,MAAc,EAAE,UAAgC;QAC1D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAW;IACf,MAAM,CAAgB;IAEtB,YAAY,MAAc,EAAE,UAAiC;QAC3D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAW;IACf,IAAI,CAAW;IACf,MAAM,CAAU;IAChB,UAAU,CAAY;IACtB,SAAS,CAAW;IACpB,aAAa,CAAW;IACxB,SAAS,CAA4G;IACrH,SAAS,CAA4G;IACrH,SAAS,CAMH;IACN,YAAY,CAAU;IACtB,cAAc,CAAa;IAC3B,MAAM,CAAgB;IAEtB,oDAAoD;IACpD,OAAO,CAAQ;IACf,OAAO,CAAU;IAEjB,YAAY,GAAgC,EAAE,CAAC;IAC/C,kBAAkB,GAAgC,EAAE,CAAC;IAC7C,UAAU,CAAmB;IAC7B,gBAAgB,CAAiC;IACjD,iBAAiB,CAAoB;IACrC,uBAAuB,CAAkC;IACzD,oBAAoB,CAAuB;IAC3C,0BAA0B,CAAqC;IAC/D,mBAAmB,CAAqB;IACzC,WAAW,CAAS;IACpB,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,KAAK,CAAS;IACb,YAAY,CAAc;IAElC,YAAY,MAAc,EAAE,UAAiC;QAC3D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,IAAY;QAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;iBAC1B,MAAM,CAAC,UAAU,CAAC;iBAClB,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,eAAe;QACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,IAAY;QAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,gBAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9D,KAAK,CAAC,SAAS;iBACZ,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAClH,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAW,sBAAsB;QAC/B,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,kBAAkB,CAAC,IAAY;QACpC,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAW,oBAAoB;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3E,OAAO,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC3G,CAAC;IAED,IAAW,oBAAoB;QAC7B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,mBAAmB;QAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,KAAK,MAAM,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CACpE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,KAAK,CAAC,IAAI,CACjG,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBAED,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CACrE,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CACnH,CAAC;gBACF,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAW,yBAAyB;QAClC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;YACrC,KAAK,MAAM,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1D,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAEM,qBAAqB,CAAC,IAAY;QACvC,OAAO,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAW,WAAW;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAClC,CAAC;CACF;AAED,MAAM,2BAA2B,GAAG;IAClC,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;CAClB,CAAC;AAMF,MAAM,OAAgB,QAAQ;IAEnB;IACA;IACA;IACA;IAJT,YACS,IAAY,EACZ,WAAwB,EACxB,KAAoB,EACpB,WAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAe;QACpB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;CACL;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAMjC;IALF,OAAO,CAAkB;IACzB,SAAS,GAAG,KAAc,CAAC;IAElC,YACE,WAAwB,EACjB,KAAoB,EAC3B,WAAwB;QAExB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAH5C,UAAK,GAAL,KAAK,CAAe;QAI3B,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAGxB;IAFZ,SAAS,GAAG,IAAa,CAAC;IAEjC,YAAmB,OAAuB;QACxC,KAAK,CACH,OAAO,CAAC,KAAK,CAAC,OAAO;YACnB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EACjG,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,CACpB,CAAC;QAPe,YAAO,GAAP,OAAO,CAAgB;IAQ1C,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IACtB,IAAI,CAAS;IACb,WAAW,CAAc;IACzB,kBAAkB,CAAkB;IACpC,aAAa,CAAc;IAC3B,gBAAgB,CAAiB;IACjC,WAAW,CAAc;IAEhC,YAAY,kBAAmC,EAAE,gBAAgC;QAC/E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC;QACpD,IAAI,IAAI,CAAC,aAAa,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAClD,CAAC;CACF;AAED,MAAM,uBAAuB,GAAG,CAAC,UAA2B,EAAuC,EAAE,CACnG,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC;AAE/B,MAAM,cAAc,GAAG,CAAC,KAA4B,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AA8B/B,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmBnE,MAAM,OAAO,MAAM;IACV,MAAM,CAAU;IACf,YAAY,GAA0B,EAAE,CAAC;IAC1C,OAAO,CAAgB;IACvB,QAAQ,CAAiB;IACzB,KAAK,CAAc;IACnB,MAAM,CAAe;IACrB,UAAU,CAAmB;IAC7B,OAAO,CAAgB;IACvB,QAAQ,CAAgB;IACxB,MAAM,CAAe;IACrB,WAAW,CAAmB;IAErC,YAAY,WAA6B;QACvC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,UAAU;SACjB,EACD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClC;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,CACF,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAElE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM;oBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACxG,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,MAAM,GAAG;gBACd;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAI;iBAChB;gBACD,GAAG,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM;4BAC1B,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;yBACgB;qBAClC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,MAAM,CAAC,MAAM;gBAChB,GAAG,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,EAAE;4BAC3C,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;qBACpC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,IAAI;4BACb,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,EAAE;4BAC3C,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;qBACpC;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,SAAS;oBAClB,CAAC,CAAC;wBACE;4BACE,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,SAAS;4BACf,OAAO,EAAE,IAAI;4BACb,YAAY,EAAE,KAAK;4BACnB,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;4BAC9B,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;yBACrC;wBAClC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,UAAU,cAAc,CAAC,MAAM,CAAC,EAAE;4BAC3C,SAAS,EAAE,IAAI;4BACf,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;yBACtC;wBACnC;4BACE,IAAI,EAAE,gBAAgB;4BACtB,IAAI,EAAE,QAAQ;4BACd,SAAS,EAAE,IAAI;yBACgB;wBAEjC;4BACE,IAAI,EAAE,cAAc;4BACpB,IAAI,EAAE,IAAI;4BACV,SAAS,EAAE,IAAI;yBACY;qBAC9B;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpD,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC/F,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAEpF,KAAK,CAAC,MAAM,GAAG;oBACb,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC/B,GAAG,KAAK;wBACR,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;4BAC3B,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;wBACrG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;wBACpE,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;oBACH,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAChC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAK,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAC5F,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC;QAClG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAsB,EAAE,CAAC,KAAK,YAAY,SAAS,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAuB,EAAE,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC;QAC9F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAA2B,EAAE,CAAC,KAAK,YAAY,cAAc,CAAC,CAAC;QAC1G,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;QACpG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,YAAY,WAAW,CAAC,CAAC;QACjG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAuB,EAAE,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC;IAChG,CAAC;IAEM,QAAQ,CAA0C,IAAY,EAAE,IAAQ;QAC7E,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAmC,CAAC;QAC7C,CAAC;QAED,MAAM,YAAY,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,mBAAmB,IAAI,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAmC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAgB,KAAK;IAMhB;IALT,IAAI,CAAS;IACb,MAAM,CAAS;IACf,WAAW,CAAS;IAEpB,YACS,MAAc,EACrB,UAA2B;QADpB,WAAM,GAAN,MAAM,CAAQ;QAGrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAW;CAChB;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,IAAI,CAAU;IACd,KAAK,CAAW;IAEhB,YAAY,MAAc,EAAE,UAAgC;QAC1D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AACD,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,IAAI,CAAS;IACb,MAAM,CAAW;IACjB,OAAO,CAAQ;IAEf,YAAY,MAAc,EAAE,UAA+B;QACzD,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAa;IACjB,MAAM,CAAW;IAEjB,YAAY,MAAc,EAAE,UAAkC;QAC5D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,IAAI,CAAc;IAClB,MAAM,CAAgB;IAEtB,YAAY,MAAc,EAAE,UAAoC;QAC9D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,IAAI,CAAU;IACd,MAAM,CAAgB;IAEtB,YAAY,MAAc,EAAE,UAAgC;QAC1D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAW;IACf,MAAM,CAAgB;IAEtB,YAAY,MAAc,EAAE,UAAiC;QAC3D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IACzE,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,IAAI,CAAW;IACf,IAAI,CAAW;IACf,MAAM,CAAU;IAChB,UAAU,CAAY;IACtB,SAAS,CAAW;IACpB,aAAa,CAAyC;IACtD,SAAS,CAA4G;IACrH,SAAS,CAA4G;IACrH,SAAS,CAMH;IACN,YAAY,CAAW;IACvB,YAAY,CAAU;IACtB,cAAc,CAAa;IAC3B,MAAM,CAAgB;IAEtB,oDAAoD;IACpD,OAAO,CAAQ;IACf,OAAO,CAAU;IAEjB,YAAY,GAAgC,EAAE,CAAC;IAC/C,kBAAkB,GAAgC,EAAE,CAAC;IAC7C,UAAU,CAAmB;IAC7B,gBAAgB,CAAiC;IACjD,iBAAiB,CAAoB;IACrC,uBAAuB,CAAkC;IACzD,oBAAoB,CAAuB;IAC3C,0BAA0B,CAAqC;IAC/D,mBAAmB,CAAqB;IACzC,WAAW,CAAS;IACpB,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,KAAK,CAAS;IACb,YAAY,CAAc;IAElC,YAAY,MAAc,EAAE,UAAiC;QAC3D,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,IAAY;QAC1B,OAAO,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;iBAC1B,MAAM,CAAC,UAAU,CAAC;iBAClB,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,eAAe;QACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,WAAW,CAAC,IAAY;QAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAW,gBAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9D,KAAK,CAAC,SAAS;iBACZ,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAClH,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CACvC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,IAAW,sBAAsB;QAC/B,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEM,kBAAkB,CAAC,IAAY;QACpC,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAW,oBAAoB;QAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3E,OAAO,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC3G,CAAC;IAED,IAAW,oBAAoB;QAC7B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAW,mBAAmB;QAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,KAAK,MAAM,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CACpE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,KAAK,CAAC,IAAI,CACjG,CAAC;gBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBAED,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CACrE,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CACnH,CAAC;gBACF,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC9B,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAW,yBAAyB;QAClC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;YACrC,KAAK,MAAM,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1D,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;YAChF,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAEM,qBAAqB,CAAC,IAAY;QACvC,OAAO,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAW,WAAW;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC;YAED,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IAClC,CAAC;CACF;AAED,MAAM,2BAA2B,GAAG;IAClC,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,WAAW;IACnB,KAAK,EAAE,UAAU;CAClB,CAAC;AAMF,MAAM,OAAgB,QAAQ;IAEnB;IACA;IACA;IACA;IAJT,YACS,IAAY,EACZ,WAAwB,EACxB,KAAoB,EACpB,WAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAe;QACpB,gBAAW,GAAX,WAAW,CAAa;IAC9B,CAAC;CACL;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAMjC;IALF,OAAO,CAAkB;IACzB,SAAS,GAAG,KAAc,CAAC;IAElC,YACE,WAAwB,EACjB,KAAoB,EAC3B,WAAwB;QAExB,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAH5C,UAAK,GAAL,KAAK,CAAe;QAI3B,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAGxB;IAFZ,SAAS,GAAG,IAAa,CAAC;IAEjC,YAAmB,OAAuB;QACxC,KAAK,CACH,OAAO,CAAC,KAAK,CAAC,OAAO;YACnB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EACjG,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,WAAW,CACpB,CAAC;QAPe,YAAO,GAAP,OAAO,CAAgB;IAQ1C,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IACtB,IAAI,CAAS;IACb,WAAW,CAAc;IACzB,kBAAkB,CAAkB;IACpC,aAAa,CAAc;IAC3B,gBAAgB,CAAiB;IACjC,WAAW,CAAc;IAEhC,YAAY,kBAAmC,EAAE,gBAAgC;QAC/E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC;QACpD,IAAI,IAAI,CAAC,aAAa,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAClD,CAAC;CACF;AAED,MAAM,uBAAuB,GAAG,CAAC,UAA2B,EAAuC,EAAE,CACnG,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC;AAE/B,MAAM,cAAc,GAAG,CAAC,KAA4B,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- import { AnyDateType, Context } from '..';
1
+ import { Knex } from 'knex';
2
+ import { AnyDateType, Context, NormalizedArguments } from '..';
2
3
  import { EntityModel } from './models';
3
4
  export type Entity = Record<string, unknown>;
4
5
  export type Action = 'create' | 'update' | 'delete' | 'restore';
@@ -17,3 +18,9 @@ export type MutationHook<DateType extends AnyDateType = AnyDateType> = (args: {
17
18
  };
18
19
  ctx: MutationContext<DateType>;
19
20
  }) => Promise<void> | void;
21
+ export type QueryHook<DateType extends AnyDateType = AnyDateType> = (args: {
22
+ model: EntityModel;
23
+ query: Knex.QueryBuilder;
24
+ args: NormalizedArguments;
25
+ ctx: Context<DateType>;
26
+ }) => Promise<void> | void;
@@ -9,4 +9,4 @@ export type FilterNode = {
9
9
  model: EntityModel;
10
10
  tableAlias: string;
11
11
  };
12
- export declare const applyFilters: (node: FieldResolverNode, query: Knex.QueryBuilder, joins: Joins) => void;
12
+ export declare const applyFilters: (node: FieldResolverNode, query: Knex.QueryBuilder, joins: Joins) => Promise<void>;
@@ -8,17 +8,21 @@ export const SPECIAL_FILTERS = {
8
8
  LT: '?? < ?',
9
9
  LTE: '?? <= ?',
10
10
  };
11
- export const applyFilters = (node, query, joins) => {
11
+ export const applyFilters = async (node, query, joins) => {
12
12
  const normalizedArguments = normalizeArguments(node);
13
- if (!normalizedArguments.orderBy) {
14
- if (node.model.defaultOrderBy) {
15
- normalizedArguments.orderBy = node.model.defaultOrderBy;
16
- }
17
- else if (node.model.creatable) {
18
- normalizedArguments.orderBy = [{ createdAt: 'DESC' }];
13
+ // No need for default order by in aggregates
14
+ if (!node.isAggregate) {
15
+ if (!normalizedArguments.orderBy) {
16
+ if (node.model.defaultOrderBy) {
17
+ normalizedArguments.orderBy = node.model.defaultOrderBy;
18
+ }
19
+ else if (node.model.creatable) {
20
+ normalizedArguments.orderBy = [{ createdAt: 'DESC' }];
21
+ }
19
22
  }
20
23
  }
21
24
  const { limit, offset, orderBy, where, search } = normalizedArguments;
25
+ await node.ctx.queryHook?.({ model: node.model, query, args: normalizedArguments, ctx: node.ctx });
22
26
  if (limit) {
23
27
  query.limit(limit);
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/resolvers/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/resolvers/filters.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export type ResolverNode = {
12
12
  baseModel?: EntityModel;
13
13
  typeDefinition: ObjectTypeDefinitionNode;
14
14
  selectionSet: readonly SelectionNode[];
15
+ isAggregate: boolean;
15
16
  };
16
17
  export type FieldResolverNode = ResolverNode & {
17
18
  field: FieldNode;
@@ -14,13 +14,16 @@ export const getResolverNode = ({ ctx, node, tableAlias, rootTableAlias, resultA
14
14
  baseModel: ctx.models.entities.find((model) => model.name === baseTypeDefinition.name.value),
15
15
  typeDefinition: getType(ctx.info.schema, typeName),
16
16
  selectionSet: get(node.selectionSet, 'selections'),
17
+ isAggregate: false,
17
18
  };
18
19
  };
19
20
  export const getRootFieldNode = ({ ctx, node, baseTypeDefinition, }) => {
20
21
  const fieldName = node.name.value;
21
22
  const fieldDefinition = summonByKey(baseTypeDefinition.fields || [], 'name.value', fieldName);
22
23
  const typeName = getTypeName(fieldDefinition.type);
23
- const model = ctx.models.getModel(typeName, 'entity');
24
+ const isAggregate = typeName.endsWith('Aggregate');
25
+ const modelName = typeName.replace('Aggregate', '');
26
+ const model = ctx.models.getModel(modelName, 'entity');
24
27
  const rootModel = model.parent ? ctx.models.getModel(model.parent, 'entity') : model;
25
28
  return {
26
29
  ctx,
@@ -35,6 +38,7 @@ export const getRootFieldNode = ({ ctx, node, baseTypeDefinition, }) => {
35
38
  field: node,
36
39
  fieldDefinition,
37
40
  isList: isListType(fieldDefinition.type),
41
+ isAggregate,
38
42
  };
39
43
  };
40
44
  export const getSimpleFields = (node) => {
@@ -99,6 +103,7 @@ export const getJoins = (node, toMany) => {
99
103
  relation,
100
104
  foreignKey: relation.field.foreignKey,
101
105
  isList: isListType(fieldDefinition.type),
106
+ isAggregate: false,
102
107
  });
103
108
  }
104
109
  return nodes;