@smartive/graphql-magic 11.3.0 → 12.0.0

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/CHANGELOG.md CHANGED
@@ -1,6 +1 @@
1
- # [11.3.0](https://github.com/smartive/graphql-magic/compare/v11.2.0...v11.3.0) (2023-12-20)
2
-
3
-
4
- ### Features
5
-
6
- * Reverse filter none ([b5c1478](https://github.com/smartive/graphql-magic/commit/b5c14787b97b72b2891ae2705f9675651ebd3542))
1
+ # [12.0.0](https://github.com/smartive/graphql-magic/compare/v11.3.0...v12.0.0) (2024-02-05)
@@ -843,7 +843,7 @@ var getMutationQuery = (model, action) => action === "create" ? `
843
843
  var displayField = (model) => `
844
844
  ${model.displayField ? `display: ${model.displayField}` : ""}
845
845
  `;
846
- var getEntityListQuery = (model, role, additionalFields = "", root) => `query ${model.plural}List(
846
+ var getEntityListQuery = (model, role, visibleRelationsByRole, typesWithSubRelations, additionalFields = "", root) => `query ${model.plural}List(
847
847
  ${root ? "$id: ID!," : ""}
848
848
  $limit: Int!,
849
849
  $where: ${model.name}Where!,
@@ -854,6 +854,13 @@ var getEntityListQuery = (model, role, additionalFields = "", root) => `query ${
854
854
  ${displayField(model)}
855
855
  ${model.fields.filter(and(isSimpleField, isQueriableBy(role))).map(({ name: name2 }) => name2)}
856
856
  ${additionalFields}
857
+ ${queryRelations(
858
+ model.models,
859
+ model.relations.filter(isVisibleRelation(visibleRelationsByRole, model.name, role)),
860
+ role,
861
+ typesWithSubRelations
862
+ )}
863
+ ${additionalFields}
857
864
  }
858
865
  ${root ? "}" : ""}
859
866
  }`;
@@ -861,7 +868,7 @@ var isVisibleRelation = (visibleRelationsByRole, modelName, role) => {
861
868
  const whitelist = visibleRelationsByRole[role]?.[modelName];
862
869
  return (relation) => whitelist ? whitelist.includes(relation.name) : true;
863
870
  };
864
- var getEntityQuery = (model, role, visibleRelationsByRole, typesWithSubRelations) => `query Get${model.name}Entity ($id: ID!) {
871
+ var getEntityQuery = (model, role, visibleRelationsByRole, typesWithSubRelations, additionalFields = "") => `query Get${model.name}Entity ($id: ID!) {
865
872
  data: ${typeToField(model.name)}(where: { id: $id }) {
866
873
  ${displayField(model)}
867
874
  ${model.fields.filter(and(isSimpleField, isQueriableBy(role))).map(({ name: name2 }) => name2)}
@@ -879,6 +886,7 @@ var getEntityQuery = (model, role, visibleRelationsByRole, typesWithSubRelations
879
886
  role,
880
887
  typesWithSubRelations
881
888
  )}
889
+ ${additionalFields}
882
890
  }
883
891
  }`;
884
892
  var getFindEntityQuery = (model, role) => `query Find${model.name}($where: ${model.name}Where!, $orderBy: [${model.name}OrderBy!]) {
@@ -10,13 +10,13 @@ export type MutationQuery = {
10
10
  };
11
11
  export declare const getMutationQuery: (model: Model, action: 'create' | 'update' | 'delete') => string;
12
12
  export declare const displayField: (model: EntityModel) => string;
13
- export declare const getEntityListQuery: (model: EntityModel, role: string, additionalFields?: string, root?: {
13
+ export declare const getEntityListQuery: (model: EntityModel, role: string, visibleRelationsByRole: VisibleRelationsByRole, typesWithSubRelations: string[], additionalFields?: string, root?: {
14
14
  model: EntityModel;
15
15
  entity: any;
16
16
  reverseRelationName: string;
17
17
  }) => string;
18
18
  export type VisibleRelationsByRole = Record<string, Record<string, string[]>>;
19
19
  export declare const isVisibleRelation: (visibleRelationsByRole: VisibleRelationsByRole, modelName: string, role: string) => (relation: Relation) => boolean;
20
- export declare const getEntityQuery: (model: EntityModel, role: string, visibleRelationsByRole: VisibleRelationsByRole, typesWithSubRelations: string[]) => string;
20
+ export declare const getEntityQuery: (model: EntityModel, role: string, visibleRelationsByRole: VisibleRelationsByRole, typesWithSubRelations: string[], additionalFields?: string) => string;
21
21
  export declare const getFindEntityQuery: (model: EntityModel, role: string) => string;
22
22
  export declare const queryRelations: (models: Models, relations: Relation[], role: string, typesWithSubRelations: string[]) => string;
@@ -97,7 +97,7 @@ export const getMutationQuery = (model, action) => action === 'create'
97
97
  export const displayField = (model) => `
98
98
  ${model.displayField ? `display: ${model.displayField}` : ''}
99
99
  `;
100
- export const getEntityListQuery = (model, role, additionalFields = '', root) => `query ${model.plural}List(
100
+ export const getEntityListQuery = (model, role, visibleRelationsByRole, typesWithSubRelations, additionalFields = '', root) => `query ${model.plural}List(
101
101
  ${root ? '$id: ID!,' : ''}
102
102
  $limit: Int!,
103
103
  $where: ${model.name}Where!,
@@ -108,6 +108,8 @@ export const getEntityListQuery = (model, role, additionalFields = '', root) =>
108
108
  ${displayField(model)}
109
109
  ${model.fields.filter(and(isSimpleField, isQueriableBy(role))).map(({ name }) => name)}
110
110
  ${additionalFields}
111
+ ${queryRelations(model.models, model.relations.filter(isVisibleRelation(visibleRelationsByRole, model.name, role)), role, typesWithSubRelations)}
112
+ ${additionalFields}
111
113
  }
112
114
  ${root ? '}' : ''}
113
115
  }`;
@@ -115,13 +117,14 @@ export const isVisibleRelation = (visibleRelationsByRole, modelName, role) => {
115
117
  const whitelist = visibleRelationsByRole[role]?.[modelName];
116
118
  return (relation) => (whitelist ? whitelist.includes(relation.name) : true);
117
119
  };
118
- export const getEntityQuery = (model, role, visibleRelationsByRole, typesWithSubRelations) => `query Get${model.name}Entity ($id: ID!) {
120
+ export const getEntityQuery = (model, role, visibleRelationsByRole, typesWithSubRelations, additionalFields = '') => `query Get${model.name}Entity ($id: ID!) {
119
121
  data: ${typeToField(model.name)}(where: { id: $id }) {
120
122
  ${displayField(model)}
121
123
  ${model.fields.filter(and(isSimpleField, isQueriableBy(role))).map(({ name }) => name)}
122
124
  ${queryRelations(model.models, model.relations.filter(isVisibleRelation(visibleRelationsByRole, model.name, role)), role, typesWithSubRelations)}
123
125
  ${queryRelations(model.models, model.reverseRelations.filter((reverseRelation) => isToOneRelation(reverseRelation.field) &&
124
126
  isVisibleRelation(visibleRelationsByRole, model.name, role)(reverseRelation)), role, typesWithSubRelations)}
127
+ ${additionalFields}
125
128
  }
126
129
  }`;
127
130
  export const getFindEntityQuery = (model, role) => `query Find${model.name}($where: ${model.name}Where!, $orderBy: [${model.name}OrderBy!]) {
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartive/graphql-magic",
3
- "version": "11.3.0",
3
+ "version": "12.0.0",
4
4
  "description": "",
5
5
  "source": "src/index.ts",
6
6
  "type": "module",
@@ -70,20 +70,20 @@
70
70
  "devDependencies": {
71
71
  "@smartive/eslint-config": "3.3.0",
72
72
  "@smartive/prettier-config": "3.1.2",
73
- "@types/jest": "29.5.11",
73
+ "@types/jest": "29.5.12",
74
74
  "@types/lodash": "4.14.202",
75
- "@types/luxon": "3.3.7",
76
- "@types/pg": "8.10.9",
77
- "@types/uuid": "9.0.7",
75
+ "@types/luxon": "3.4.2",
76
+ "@types/pg": "8.11.0",
77
+ "@types/uuid": "9.0.8",
78
78
  "create-ts-index": "1.14.0",
79
79
  "del-cli": "5.1.0",
80
- "esbuild": "0.19.10",
80
+ "esbuild": "0.20.0",
81
81
  "eslint": "8.56.0",
82
82
  "graphql-request": "6.1.0",
83
83
  "jest": "29.7.0",
84
84
  "mock-knex": "0.4.13",
85
85
  "prettier": "2.8.8",
86
- "ts-jest": "29.1.1",
86
+ "ts-jest": "29.1.2",
87
87
  "ts-node": "10.9.2",
88
88
  "typescript": "5.3.3"
89
89
  }
@@ -147,6 +147,8 @@ ${model.displayField ? `display: ${model.displayField}` : ''}
147
147
  export const getEntityListQuery = (
148
148
  model: EntityModel,
149
149
  role: string,
150
+ visibleRelationsByRole: VisibleRelationsByRole,
151
+ typesWithSubRelations: string[],
150
152
  additionalFields = '',
151
153
  root?: {
152
154
  model: EntityModel;
@@ -167,6 +169,13 @@ export const getEntityListQuery = (
167
169
  ${displayField(model)}
168
170
  ${model.fields.filter(and(isSimpleField, isQueriableBy(role))).map(({ name }) => name)}
169
171
  ${additionalFields}
172
+ ${queryRelations(
173
+ model.models,
174
+ model.relations.filter(isVisibleRelation(visibleRelationsByRole, model.name, role)),
175
+ role,
176
+ typesWithSubRelations
177
+ )}
178
+ ${additionalFields}
170
179
  }
171
180
  ${root ? '}' : ''}
172
181
  }`;
@@ -182,7 +191,8 @@ export const getEntityQuery = (
182
191
  model: EntityModel,
183
192
  role: string,
184
193
  visibleRelationsByRole: VisibleRelationsByRole,
185
- typesWithSubRelations: string[]
194
+ typesWithSubRelations: string[],
195
+ additionalFields = ''
186
196
  ) => `query Get${model.name}Entity ($id: ID!) {
187
197
  data: ${typeToField(model.name)}(where: { id: $id }) {
188
198
  ${displayField(model)}
@@ -203,6 +213,7 @@ export const getEntityQuery = (
203
213
  role,
204
214
  typesWithSubRelations
205
215
  )}
216
+ ${additionalFields}
206
217
  }
207
218
  }`;
208
219