@smartive/graphql-magic 19.4.0 → 19.5.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,6 @@
1
- # [19.4.0](https://github.com/smartive/graphql-magic/compare/v19.3.2...v19.4.0) (2025-07-28)
1
+ # [19.5.0](https://github.com/smartive/graphql-magic/compare/v19.4.0...v19.5.0) (2025-07-30)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * checkCanRead ([#329](https://github.com/smartive/graphql-magic/issues/329)) ([f1589cc](https://github.com/smartive/graphql-magic/commit/f1589cc1216ab580269f90769ce54bf9bf049770))
6
+ * Union types ([#331](https://github.com/smartive/graphql-magic/issues/331)) ([da9d23c](https://github.com/smartive/graphql-magic/commit/da9d23c7b767961dd7740f4e689522d0d4231713))
package/dist/bin/gqm.cjs CHANGED
@@ -108,6 +108,7 @@ var Models = class {
108
108
  interfaces;
109
109
  objects;
110
110
  entities;
111
+ unions;
111
112
  definitions;
112
113
  constructor(definitions) {
113
114
  this.definitions = (0, import_cloneDeep.default)(definitions);
@@ -261,6 +262,7 @@ var Models = class {
261
262
  this.objects = this.models.filter((model) => model instanceof ObjectModel);
262
263
  this.rawEnums = this.models.filter((model) => model instanceof RawEnumModel);
263
264
  this.scalars = this.models.filter((model) => model instanceof ScalarModel);
265
+ this.unions = this.models.filter((model) => model instanceof UnionModel);
264
266
  }
265
267
  getModel(name2, kind) {
266
268
  const model = get(this.modelsByName, name2);
@@ -287,6 +289,14 @@ var Model = class {
287
289
  var ScalarModel = class extends Model {
288
290
  kind;
289
291
  };
292
+ var UnionModel = class extends Model {
293
+ kind;
294
+ types;
295
+ constructor(models, definition) {
296
+ super(models, definition);
297
+ Object.assign(this, (0, import_omit.default)(definition, "name", "plural", "description"));
298
+ }
299
+ };
290
300
  var EnumModel = class extends Model {
291
301
  kind;
292
302
  values;
@@ -475,7 +485,8 @@ var MODEL_KIND_TO_CLASS_MAPPING = {
475
485
  interface: InterfaceModel,
476
486
  object: ObjectModel,
477
487
  "raw-enum": RawEnumModel,
478
- scalar: ScalarModel
488
+ scalar: ScalarModel,
489
+ union: UnionModel
479
490
  };
480
491
  var Relation = class {
481
492
  constructor(name2, sourceModel, field, targetModel) {
@@ -608,9 +619,25 @@ var generateDBModels = (models, dateLibrary) => {
608
619
  indentNumberOfSpaces: 2
609
620
  });
610
621
  writer.write(DATE_CLASS_IMPORT[dateLibrary]).blankLine();
622
+ for (const [key, value2] of Object.entries(PRIMITIVE_TYPES)) {
623
+ writer.write(`export type ${key} = ${value2};`).blankLine();
624
+ }
611
625
  for (const enm2 of models.enums) {
612
626
  writer.write(`export type ${enm2.name} = ${enm2.values.map((v) => `'${v}'`).join(" | ")};`).blankLine();
613
627
  }
628
+ for (const enm2 of models.rawEnums) {
629
+ writer.write(`export type ${enm2.name} = ${enm2.values.map((v) => `'${v}'`).join(" | ")};`).blankLine();
630
+ }
631
+ for (const model of models.unions) {
632
+ writer.write(`export type ${model.name} = ${model.types.join(" | ")};`).blankLine();
633
+ }
634
+ for (const model of models.objects) {
635
+ writer.write(`export type ${model.name} = `).inlineBlock(() => {
636
+ for (const field of model.fields) {
637
+ writer.write(`'${getColumnName(field)}': ${getFieldType(field, dateLibrary)}${field.nonNull ? "" : " | null"};`).newLine();
638
+ }
639
+ }).blankLine();
640
+ }
614
641
  for (const model of models.entities) {
615
642
  const fields2 = model.relations.some((relation) => relation.field.foreignKey === "id") ? model.fields.filter((field) => field.name !== "id") : model.fields;
616
643
  writer.write(`export type ${model.name} = `).inlineBlock(() => {
@@ -661,13 +688,13 @@ var getFieldType = (field, dateLibrary, input2) => {
661
688
  const kind = field.kind;
662
689
  switch (kind) {
663
690
  case "json":
664
- return "string";
691
+ return field.type;
665
692
  case "relation":
666
693
  return "string";
667
694
  case "enum":
668
695
  return field.type + (field.list ? "[]" : "");
669
696
  case "custom":
670
- throw new Error(`Custom fields are not in the db.`);
697
+ return field.type;
671
698
  case "primitive":
672
699
  case void 0:
673
700
  if (field.type === "DateTime") {
@@ -1221,7 +1248,7 @@ var MigrationGenerator = class {
1221
1248
  col();
1222
1249
  break;
1223
1250
  case "json":
1224
- this.writer.write(`table.json('${typeToField(field.type)}')`);
1251
+ this.writer.writeLine(`table.json('${typeToField(name2)}');`);
1225
1252
  break;
1226
1253
  case "custom":
1227
1254
  throw new Error(`Can't create a column for ${name2} because it's a custom field`);
@@ -1288,6 +1315,11 @@ var input = (nme, fields2, dvs) => ({
1288
1315
  kind: import_graphql5.Kind.INPUT_OBJECT_TYPE_DEFINITION,
1289
1316
  directives: directives(dvs)
1290
1317
  });
1318
+ var union = (nme, types) => ({
1319
+ name: name(nme),
1320
+ kind: import_graphql5.Kind.UNION_TYPE_DEFINITION,
1321
+ types: types.map((t) => namedType(t))
1322
+ });
1291
1323
  var object = (nme, fds, interfaces, dvs) => ({
1292
1324
  name: name(nme),
1293
1325
  fields: fields(fds),
@@ -1420,7 +1452,8 @@ var generateDefinitions = ({
1420
1452
  inputs,
1421
1453
  interfaces,
1422
1454
  entities,
1423
- objects
1455
+ objects,
1456
+ unions
1424
1457
  }) => {
1425
1458
  const definitions = [
1426
1459
  // Predefined types
@@ -1430,6 +1463,7 @@ var generateDefinitions = ({
1430
1463
  ...objects.filter(({ name: name2 }) => !["Query", "Mutation"].includes(name2)).map((model) => object(model.name, model.fields)),
1431
1464
  ...interfaces.map(({ name: name2, fields: fields2 }) => iface(name2, fields2)),
1432
1465
  ...inputs.map((model) => input(model.name, model.fields)),
1466
+ ...unions.map((model) => union(model.name, model.types)),
1433
1467
  ...objects.filter(
1434
1468
  (model) => entities.some((m) => m.creatable && m.fields.some((f) => f.creatable && f.kind === "json" && f.type === model.name))
1435
1469
  ).map((model) => input(`Create${model.name}`, model.fields)),
@@ -55,6 +55,7 @@ __export(index_exports, {
55
55
  SPECIAL_FILTERS: () => SPECIAL_FILTERS,
56
56
  ScalarModel: () => ScalarModel,
57
57
  TYPE_ALIAS: () => TYPE_ALIAS,
58
+ UnionModel: () => UnionModel,
58
59
  UserInputError: () => UserInputError,
59
60
  addJoin: () => addJoin,
60
61
  and: () => and,
@@ -187,6 +188,7 @@ __export(index_exports, {
187
188
  summonByKey: () => summonByKey,
188
189
  summonByName: () => summonByName,
189
190
  typeToField: () => typeToField,
191
+ union: () => union,
190
192
  updateEntities: () => updateEntities,
191
193
  updateEntity: () => updateEntity,
192
194
  value: () => value
@@ -310,6 +312,7 @@ var Models = class {
310
312
  interfaces;
311
313
  objects;
312
314
  entities;
315
+ unions;
313
316
  definitions;
314
317
  constructor(definitions) {
315
318
  this.definitions = (0, import_cloneDeep.default)(definitions);
@@ -463,6 +466,7 @@ var Models = class {
463
466
  this.objects = this.models.filter((model) => model instanceof ObjectModel);
464
467
  this.rawEnums = this.models.filter((model) => model instanceof RawEnumModel);
465
468
  this.scalars = this.models.filter((model) => model instanceof ScalarModel);
469
+ this.unions = this.models.filter((model) => model instanceof UnionModel);
466
470
  }
467
471
  getModel(name2, kind) {
468
472
  const model = get(this.modelsByName, name2);
@@ -489,6 +493,14 @@ var Model = class {
489
493
  var ScalarModel = class extends Model {
490
494
  kind;
491
495
  };
496
+ var UnionModel = class extends Model {
497
+ kind;
498
+ types;
499
+ constructor(models, definition) {
500
+ super(models, definition);
501
+ Object.assign(this, (0, import_omit.default)(definition, "name", "plural", "description"));
502
+ }
503
+ };
492
504
  var EnumModel = class extends Model {
493
505
  kind;
494
506
  values;
@@ -677,7 +689,8 @@ var MODEL_KIND_TO_CLASS_MAPPING = {
677
689
  interface: InterfaceModel,
678
690
  object: ObjectModel,
679
691
  "raw-enum": RawEnumModel,
680
- scalar: ScalarModel
692
+ scalar: ScalarModel,
693
+ union: UnionModel
681
694
  };
682
695
  var Relation = class {
683
696
  constructor(name2, sourceModel, field, targetModel) {
@@ -1012,9 +1025,25 @@ var generateDBModels = (models, dateLibrary) => {
1012
1025
  indentNumberOfSpaces: 2
1013
1026
  });
1014
1027
  writer.write(DATE_CLASS_IMPORT[dateLibrary]).blankLine();
1028
+ for (const [key, value2] of Object.entries(PRIMITIVE_TYPES)) {
1029
+ writer.write(`export type ${key} = ${value2};`).blankLine();
1030
+ }
1015
1031
  for (const enm2 of models.enums) {
1016
1032
  writer.write(`export type ${enm2.name} = ${enm2.values.map((v) => `'${v}'`).join(" | ")};`).blankLine();
1017
1033
  }
1034
+ for (const enm2 of models.rawEnums) {
1035
+ writer.write(`export type ${enm2.name} = ${enm2.values.map((v) => `'${v}'`).join(" | ")};`).blankLine();
1036
+ }
1037
+ for (const model of models.unions) {
1038
+ writer.write(`export type ${model.name} = ${model.types.join(" | ")};`).blankLine();
1039
+ }
1040
+ for (const model of models.objects) {
1041
+ writer.write(`export type ${model.name} = `).inlineBlock(() => {
1042
+ for (const field of model.fields) {
1043
+ writer.write(`'${getColumnName(field)}': ${getFieldType(field, dateLibrary)}${field.nonNull ? "" : " | null"};`).newLine();
1044
+ }
1045
+ }).blankLine();
1046
+ }
1018
1047
  for (const model of models.entities) {
1019
1048
  const fields2 = model.relations.some((relation) => relation.field.foreignKey === "id") ? model.fields.filter((field) => field.name !== "id") : model.fields;
1020
1049
  writer.write(`export type ${model.name} = `).inlineBlock(() => {
@@ -1065,13 +1094,13 @@ var getFieldType = (field, dateLibrary, input2) => {
1065
1094
  const kind = field.kind;
1066
1095
  switch (kind) {
1067
1096
  case "json":
1068
- return "string";
1097
+ return field.type;
1069
1098
  case "relation":
1070
1099
  return "string";
1071
1100
  case "enum":
1072
1101
  return field.type + (field.list ? "[]" : "");
1073
1102
  case "custom":
1074
- throw new Error(`Custom fields are not in the db.`);
1103
+ return field.type;
1075
1104
  case "primitive":
1076
1105
  case void 0:
1077
1106
  if (field.type === "DateTime") {
@@ -1625,7 +1654,7 @@ var MigrationGenerator = class {
1625
1654
  col();
1626
1655
  break;
1627
1656
  case "json":
1628
- this.writer.write(`table.json('${typeToField(field.type)}')`);
1657
+ this.writer.writeLine(`table.json('${typeToField(name2)}');`);
1629
1658
  break;
1630
1659
  case "custom":
1631
1660
  throw new Error(`Can't create a column for ${name2} because it's a custom field`);
@@ -3269,6 +3298,11 @@ var input = (nme, fields2, dvs) => ({
3269
3298
  kind: import_graphql5.Kind.INPUT_OBJECT_TYPE_DEFINITION,
3270
3299
  directives: directives(dvs)
3271
3300
  });
3301
+ var union = (nme, types) => ({
3302
+ name: name(nme),
3303
+ kind: import_graphql5.Kind.UNION_TYPE_DEFINITION,
3304
+ types: types.map((t) => namedType(t))
3305
+ });
3272
3306
  var object = (nme, fds, interfaces, dvs) => ({
3273
3307
  name: name(nme),
3274
3308
  fields: fields(fds),
@@ -3409,7 +3443,8 @@ var generateDefinitions = ({
3409
3443
  inputs,
3410
3444
  interfaces,
3411
3445
  entities,
3412
- objects
3446
+ objects,
3447
+ unions
3413
3448
  }) => {
3414
3449
  const definitions = [
3415
3450
  // Predefined types
@@ -3419,6 +3454,7 @@ var generateDefinitions = ({
3419
3454
  ...objects.filter(({ name: name2 }) => !["Query", "Mutation"].includes(name2)).map((model) => object(model.name, model.fields)),
3420
3455
  ...interfaces.map(({ name: name2, fields: fields2 }) => iface(name2, fields2)),
3421
3456
  ...inputs.map((model) => input(model.name, model.fields)),
3457
+ ...unions.map((model) => union(model.name, model.types)),
3422
3458
  ...objects.filter(
3423
3459
  (model) => entities.some((m) => m.creatable && m.fields.some((f) => f.creatable && f.kind === "json" && f.type === model.name))
3424
3460
  ).map((model) => input(`Create${model.name}`, model.fields)),
@@ -3684,6 +3720,7 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
3684
3720
  SPECIAL_FILTERS,
3685
3721
  ScalarModel,
3686
3722
  TYPE_ALIAS,
3723
+ UnionModel,
3687
3724
  UserInputError,
3688
3725
  addJoin,
3689
3726
  and,
@@ -3816,6 +3853,7 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
3816
3853
  summonByKey,
3817
3854
  summonByName,
3818
3855
  typeToField,
3856
+ union,
3819
3857
  updateEntities,
3820
3858
  updateEntity,
3821
3859
  value
@@ -17,9 +17,30 @@ export const generateDBModels = (models, dateLibrary) => {
17
17
  indentNumberOfSpaces: 2,
18
18
  });
19
19
  writer.write(DATE_CLASS_IMPORT[dateLibrary]).blankLine();
20
+ for (const [key, value] of Object.entries(PRIMITIVE_TYPES)) {
21
+ writer.write(`export type ${key} = ${value};`).blankLine();
22
+ }
20
23
  for (const enm of models.enums) {
21
24
  writer.write(`export type ${enm.name} = ${enm.values.map((v) => `'${v}'`).join(' | ')};`).blankLine();
22
25
  }
26
+ for (const enm of models.rawEnums) {
27
+ writer.write(`export type ${enm.name} = ${enm.values.map((v) => `'${v}'`).join(' | ')};`).blankLine();
28
+ }
29
+ for (const model of models.unions) {
30
+ writer.write(`export type ${model.name} = ${model.types.join(' | ')};`).blankLine();
31
+ }
32
+ for (const model of models.objects) {
33
+ writer
34
+ .write(`export type ${model.name} = `)
35
+ .inlineBlock(() => {
36
+ for (const field of model.fields) {
37
+ writer
38
+ .write(`'${getColumnName(field)}': ${getFieldType(field, dateLibrary)}${field.nonNull ? '' : ' | null'};`)
39
+ .newLine();
40
+ }
41
+ })
42
+ .blankLine();
43
+ }
23
44
  for (const model of models.entities) {
24
45
  // TODO: deprecate allowing to define foreignKey
25
46
  const fields = model.relations.some((relation) => relation.field.foreignKey === 'id')
@@ -83,15 +104,14 @@ const getFieldType = (field, dateLibrary, input) => {
83
104
  const kind = field.kind;
84
105
  switch (kind) {
85
106
  case 'json':
86
- // JSON data is stored as string
87
- return 'string';
107
+ return field.type;
88
108
  case 'relation':
89
109
  // Relations are stored as ids
90
110
  return 'string';
91
111
  case 'enum':
92
112
  return field.type + (field.list ? '[]' : '');
93
113
  case 'custom':
94
- throw new Error(`Custom fields are not in the db.`);
114
+ return field.type;
95
115
  case 'primitive':
96
116
  case undefined:
97
117
  if (field.type === 'DateTime') {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/db/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/db/generate.ts"],"names":[],"mappings":"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"}
@@ -539,7 +539,7 @@ export class MigrationGenerator {
539
539
  col();
540
540
  break;
541
541
  case 'json':
542
- this.writer.write(`table.json('${typeToField(field.type)}')`);
542
+ this.writer.writeLine(`table.json('${typeToField(name)}');`);
543
543
  break;
544
544
  case 'custom':
545
545
  throw new Error(`Can't create a column for ${name} because it's a custom field`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/migrations/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/migrations/generate.ts"],"names":[],"mappings":"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"}
@@ -131,6 +131,9 @@ export type ModelDefinition = {
131
131
  } | {
132
132
  kind: 'raw-enum';
133
133
  values: readonly string[];
134
+ } | {
135
+ kind: 'union';
136
+ types: readonly string[];
134
137
  } | {
135
138
  kind: 'interface';
136
139
  fields: EntityFieldDefinition[];
@@ -187,5 +190,8 @@ export type InputModelDefinition = Extract<ModelDefinition, {
187
190
  export type EntityModelDefinition = Extract<ModelDefinition, {
188
191
  kind: 'entity';
189
192
  }>;
193
+ export type UnionModelDefinition = Extract<ModelDefinition, {
194
+ kind: 'union';
195
+ }>;
190
196
  export type ModelDefinitions = ModelDefinition[];
191
197
  export {};
@@ -1,4 +1,4 @@
1
- import { CustomFieldDefinition, EnumFieldDefinition, FloatFieldDefinition, IDFieldDefinition, InputModelDefinition, IntFieldDefinition, InterfaceModelDefinition, JsonFieldDefinition, ObjectModelDefinition, OrderBy, PrimitiveFieldDefinition, RawEnumModelDefinition, StringFieldDefinition, UploadFieldDefinition } from '..';
1
+ import { CustomFieldDefinition, EnumFieldDefinition, 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;
@@ -26,6 +26,7 @@ export declare class Models {
26
26
  interfaces: InterfaceModel[];
27
27
  objects: ObjectModel[];
28
28
  entities: EntityModel[];
29
+ unions: UnionModel[];
29
30
  definitions: ModelDefinitions;
30
31
  constructor(definitions: ModelDefinitions);
31
32
  getModel<K extends keyof ModelKindToClassMapping>(name: string, kind?: K): ModelKindToClassMapping[K];
@@ -40,6 +41,11 @@ export declare abstract class Model {
40
41
  export declare class ScalarModel extends Model {
41
42
  kind: 'scalar';
42
43
  }
44
+ export declare class UnionModel extends Model {
45
+ kind: 'union';
46
+ types: string[];
47
+ constructor(models: Models, definition: UnionModelDefinition);
48
+ }
43
49
  export declare class EnumModel extends Model {
44
50
  kind: 'enum';
45
51
  values: string[];
@@ -129,6 +135,7 @@ declare const MODEL_KIND_TO_CLASS_MAPPING: {
129
135
  object: typeof ObjectModel;
130
136
  'raw-enum': typeof RawEnumModel;
131
137
  scalar: typeof ScalarModel;
138
+ union: typeof UnionModel;
132
139
  };
133
140
  type ModelKindToClassMapping = {
134
141
  [K in keyof typeof MODEL_KIND_TO_CLASS_MAPPING]: InstanceType<(typeof MODEL_KIND_TO_CLASS_MAPPING)[K]>;
@@ -15,6 +15,7 @@ export class Models {
15
15
  interfaces;
16
16
  objects;
17
17
  entities;
18
+ unions;
18
19
  definitions;
19
20
  constructor(definitions) {
20
21
  this.definitions = cloneDeep(definitions);
@@ -171,6 +172,7 @@ export class Models {
171
172
  this.objects = this.models.filter((model) => model instanceof ObjectModel);
172
173
  this.rawEnums = this.models.filter((model) => model instanceof RawEnumModel);
173
174
  this.scalars = this.models.filter((model) => model instanceof ScalarModel);
175
+ this.unions = this.models.filter((model) => model instanceof UnionModel);
174
176
  }
175
177
  getModel(name, kind) {
176
178
  const model = get(this.modelsByName, name);
@@ -198,6 +200,14 @@ export class Model {
198
200
  export class ScalarModel extends Model {
199
201
  kind;
200
202
  }
203
+ export class UnionModel extends Model {
204
+ kind;
205
+ types;
206
+ constructor(models, definition) {
207
+ super(models, definition);
208
+ Object.assign(this, omit(definition, 'name', 'plural', 'description'));
209
+ }
210
+ }
201
211
  export class EnumModel extends Model {
202
212
  kind;
203
213
  values;
@@ -385,6 +395,7 @@ const MODEL_KIND_TO_CLASS_MAPPING = {
385
395
  object: ObjectModel,
386
396
  'raw-enum': RawEnumModel,
387
397
  scalar: ScalarModel,
398
+ union: UnionModel,
388
399
  };
389
400
  export class Relation {
390
401
  name;