@smartive/graphql-magic 23.6.0 → 23.6.1-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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,5 @@
1
- ## [23.6.0](https://github.com/smartive/graphql-magic/compare/v23.5.0...v23.6.0) (2026-02-24)
1
+ ## [23.6.1-next.2](https://github.com/smartive/graphql-magic/compare/v23.6.1-next.1...v23.6.1-next.2) (2026-02-24)
2
2
 
3
- ### Features
3
+ ### Bug Fixes
4
4
 
5
- * Enhance migration generator with check constraint support ([deb6fdc](https://github.com/smartive/graphql-magic/commit/deb6fdc9011750506677d6fc1bc2be787de0bd44))
5
+ * Correct mock module name in unit tests for generateAs functionality ([bcf21db](https://github.com/smartive/graphql-magic/commit/bcf21dbcd083340cb07bf10080f6390f4b370bc2))
package/dist/bin/gqm.cjs CHANGED
@@ -568,6 +568,8 @@ var isInherited = (field) => !!field.inherited;
568
568
  var isInTable = (field) => field.name === "id" || !field.inherited;
569
569
  var isQueriableField = ({ queriable }) => queriable !== false;
570
570
  var isCustomField = (field) => field.kind === "custom";
571
+ var isGenerateAsField = (field) => !!field.generateAs;
572
+ var isStoredInDatabase = (field) => field.generateAs?.type !== "expression";
571
573
  var isSimpleField = and(not(isRelation), not(isCustomField));
572
574
  var summonByName = (array, value2) => summonByKey(array, "name", value2);
573
575
  var summonByKey = (array, key, value2) => summon(array, (element) => (0, import_get.default)(element, key) === value2, `No element found with ${key} ${value2}`);
@@ -694,12 +696,12 @@ var generateDBModels = (models, dateLibrary) => {
694
696
  for (const model of models.entities) {
695
697
  const fields2 = model.relations.some((relation) => relation.field.foreignKey === "id") ? model.fields.filter((field) => field.name !== "id") : model.fields;
696
698
  writer.write(`export type ${model.name} = `).inlineBlock(() => {
697
- for (const field of fields2.filter(not(isCustomField))) {
699
+ for (const field of fields2.filter(not(isCustomField)).filter(isStoredInDatabase)) {
698
700
  writer.write(`'${getColumnName(field)}': ${getFieldType(field, dateLibrary)}${field.nonNull ? "" : " | null"};`).newLine();
699
701
  }
700
702
  }).blankLine();
701
703
  writer.write(`export type ${model.name}Initializer = `).inlineBlock(() => {
702
- for (const field of fields2.filter(not(isCustomField)).filter(isInTable)) {
704
+ for (const field of fields2.filter(not(isCustomField)).filter(isInTable).filter(not(isGenerateAsField))) {
703
705
  writer.write(
704
706
  `'${getColumnName(field)}'${field.nonNull && field.defaultValue === void 0 ? "" : "?"}: ${getFieldType(
705
707
  field,
@@ -710,7 +712,7 @@ var generateDBModels = (models, dateLibrary) => {
710
712
  }
711
713
  }).blankLine();
712
714
  writer.write(`export type ${model.name}Mutator = `).inlineBlock(() => {
713
- for (const field of fields2.filter(not(isCustomField)).filter(isInTable)) {
715
+ for (const field of fields2.filter(not(isCustomField)).filter(isInTable).filter(not(isGenerateAsField))) {
714
716
  writer.write(
715
717
  `'${getColumnName(field)}'?: ${getFieldType(field, dateLibrary, true)}${field.list ? " | string" : ""}${field.nonNull ? "" : " | null"};`
716
718
  ).newLine();
@@ -718,7 +720,7 @@ var generateDBModels = (models, dateLibrary) => {
718
720
  }).blankLine();
719
721
  if (!isRootModel(model)) {
720
722
  writer.write(`export type ${model.name}Seed = `).inlineBlock(() => {
721
- for (const field of fields2.filter(not(isCustomField))) {
723
+ for (const field of fields2.filter(not(isCustomField)).filter(not(isGenerateAsField))) {
722
724
  if (model.parent && field.name === "type") {
723
725
  continue;
724
726
  }
@@ -1213,7 +1215,7 @@ var MigrationGenerator = class {
1213
1215
  writer.writeLine(`deleteRootType: row.deleteRootType,`);
1214
1216
  writer.writeLine(`deleteRootId: row.deleteRootId,`);
1215
1217
  }
1216
- for (const { name: name2, kind } of model.fields.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === "expression"))) {
1218
+ for (const { name: name2, kind } of model.fields.filter(isUpdatableField).filter(not(isGenerateAsField))) {
1217
1219
  const col = kind === "relation" ? `${name2}Id` : name2;
1218
1220
  writer.writeLine(`${col}: row.${col},`);
1219
1221
  }
@@ -1233,8 +1235,8 @@ var MigrationGenerator = class {
1233
1235
  up,
1234
1236
  down
1235
1237
  );
1236
- const missingRevisionFields = model.fields.filter(isUpdatableField).filter(
1237
- ({ name: name2, ...field }) => field.kind !== "custom" && !(field.generateAs?.type === "expression") && !this.getColumn(revisionTable, field.kind === "relation" ? field.foreignKey || `${name2}Id` : name2)
1238
+ const missingRevisionFields = model.fields.filter(isUpdatableField).filter(not(isGenerateAsField)).filter(
1239
+ ({ name: name2, ...field }) => field.kind !== "custom" && !this.getColumn(revisionTable, field.kind === "relation" ? field.foreignKey || `${name2}Id` : name2)
1238
1240
  );
1239
1241
  this.createRevisionFields(model, missingRevisionFields, up, down);
1240
1242
  const revisionFieldsToRemove = model.fields.filter(
@@ -1392,7 +1394,7 @@ var MigrationGenerator = class {
1392
1394
  });
1393
1395
  });
1394
1396
  if (isUpdatableModel(model)) {
1395
- const updatableFields = fields2.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === "expression"));
1397
+ const updatableFields = fields2.filter(isUpdatableField).filter(not(isGenerateAsField));
1396
1398
  if (!updatableFields.length) {
1397
1399
  return;
1398
1400
  }
@@ -1440,7 +1442,7 @@ var MigrationGenerator = class {
1440
1442
  });
1441
1443
  });
1442
1444
  if (isUpdatableModel(model)) {
1443
- const updatableFields = fields2.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === "expression"));
1445
+ const updatableFields = fields2.filter(isUpdatableField).filter(not(isGenerateAsField));
1444
1446
  if (!updatableFields.length) {
1445
1447
  return;
1446
1448
  }
@@ -1478,7 +1480,7 @@ var MigrationGenerator = class {
1478
1480
  writer.writeLine(`table.uuid('deleteRootId');`);
1479
1481
  }
1480
1482
  }
1481
- for (const field of model.fields.filter(and(isUpdatableField, not(isInherited))).filter((f) => !(f.generateAs?.type === "expression"))) {
1483
+ for (const field of model.fields.filter(and(isUpdatableField, not(isInherited))).filter(not(isGenerateAsField))) {
1482
1484
  this.column(field, { setUnique: false, setDefault: false });
1483
1485
  }
1484
1486
  });
@@ -2253,7 +2255,7 @@ var generateDefinitions = ({
2253
2255
  types.push(
2254
2256
  input(
2255
2257
  `Create${model.name}`,
2256
- model.fields.filter(({ creatable }) => creatable).map(
2258
+ model.fields.filter(({ creatable }) => creatable).filter(not(isGenerateAsField)).map(
2257
2259
  (field) => field.kind === "relation" ? { name: `${field.name}Id`, type: "ID", nonNull: field.nonNull } : {
2258
2260
  name: field.name,
2259
2261
  type: field.kind === "json" ? `Create${field.type}` : field.type,
@@ -2268,7 +2270,7 @@ var generateDefinitions = ({
2268
2270
  types.push(
2269
2271
  input(
2270
2272
  `Update${model.name}`,
2271
- model.fields.filter(({ updatable }) => updatable).map(
2273
+ model.fields.filter(({ updatable }) => updatable).filter(not(isGenerateAsField)).map(
2272
2274
  (field) => field.kind === "relation" ? { name: `${field.name}Id`, type: "ID" } : {
2273
2275
  name: field.name,
2274
2276
  type: field.kind === "json" ? `Update${field.type}` : field.type,
@@ -138,6 +138,7 @@ __export(index_exports, {
138
138
  isEnumModel: () => isEnumModel,
139
139
  isFieldNode: () => isFieldNode,
140
140
  isFragmentSpreadNode: () => isFragmentSpreadNode,
141
+ isGenerateAsField: () => isGenerateAsField,
141
142
  isInTable: () => isInTable,
142
143
  isInherited: () => isInherited,
143
144
  isInlineFragmentNode: () => isInlineFragmentNode,
@@ -154,6 +155,7 @@ __export(index_exports, {
154
155
  isRootModel: () => isRootModel,
155
156
  isScalarModel: () => isScalarModel,
156
157
  isSimpleField: () => isSimpleField,
158
+ isStoredInDatabase: () => isStoredInDatabase,
157
159
  isToOneRelation: () => isToOneRelation,
158
160
  isUpdatable: () => isUpdatable,
159
161
  isUpdatableBy: () => isUpdatableBy,
@@ -845,6 +847,8 @@ var isInTable = (field) => field.name === "id" || !field.inherited;
845
847
  var isToOneRelation = (field) => isRelation(field) && !!field.toOne;
846
848
  var isQueriableField = ({ queriable }) => queriable !== false;
847
849
  var isCustomField = (field) => field.kind === "custom";
850
+ var isGenerateAsField = (field) => !!field.generateAs;
851
+ var isStoredInDatabase = (field) => field.generateAs?.type !== "expression";
848
852
  var isVisible = ({ hidden }) => hidden !== true;
849
853
  var isSimpleField = and(not(isRelation), not(isCustomField));
850
854
  var isUpdatable = ({ updatable }) => !!updatable;
@@ -1068,12 +1072,12 @@ var generateDBModels = (models, dateLibrary) => {
1068
1072
  for (const model of models.entities) {
1069
1073
  const fields2 = model.relations.some((relation) => relation.field.foreignKey === "id") ? model.fields.filter((field) => field.name !== "id") : model.fields;
1070
1074
  writer.write(`export type ${model.name} = `).inlineBlock(() => {
1071
- for (const field of fields2.filter(not(isCustomField))) {
1075
+ for (const field of fields2.filter(not(isCustomField)).filter(isStoredInDatabase)) {
1072
1076
  writer.write(`'${getColumnName(field)}': ${getFieldType(field, dateLibrary)}${field.nonNull ? "" : " | null"};`).newLine();
1073
1077
  }
1074
1078
  }).blankLine();
1075
1079
  writer.write(`export type ${model.name}Initializer = `).inlineBlock(() => {
1076
- for (const field of fields2.filter(not(isCustomField)).filter(isInTable)) {
1080
+ for (const field of fields2.filter(not(isCustomField)).filter(isInTable).filter(not(isGenerateAsField))) {
1077
1081
  writer.write(
1078
1082
  `'${getColumnName(field)}'${field.nonNull && field.defaultValue === void 0 ? "" : "?"}: ${getFieldType(
1079
1083
  field,
@@ -1084,7 +1088,7 @@ var generateDBModels = (models, dateLibrary) => {
1084
1088
  }
1085
1089
  }).blankLine();
1086
1090
  writer.write(`export type ${model.name}Mutator = `).inlineBlock(() => {
1087
- for (const field of fields2.filter(not(isCustomField)).filter(isInTable)) {
1091
+ for (const field of fields2.filter(not(isCustomField)).filter(isInTable).filter(not(isGenerateAsField))) {
1088
1092
  writer.write(
1089
1093
  `'${getColumnName(field)}'?: ${getFieldType(field, dateLibrary, true)}${field.list ? " | string" : ""}${field.nonNull ? "" : " | null"};`
1090
1094
  ).newLine();
@@ -1092,7 +1096,7 @@ var generateDBModels = (models, dateLibrary) => {
1092
1096
  }).blankLine();
1093
1097
  if (!isRootModel(model)) {
1094
1098
  writer.write(`export type ${model.name}Seed = `).inlineBlock(() => {
1095
- for (const field of fields2.filter(not(isCustomField))) {
1099
+ for (const field of fields2.filter(not(isCustomField)).filter(not(isGenerateAsField))) {
1096
1100
  if (model.parent && field.name === "type") {
1097
1101
  continue;
1098
1102
  }
@@ -1786,9 +1790,7 @@ var checkCanWrite = async (ctx, model, data, action) => {
1786
1790
  }
1787
1791
  const query = ctx.knex.first();
1788
1792
  let linked = false;
1789
- for (const field of model.fields.filter(
1790
- (field2) => field2.generated || (action === "CREATE" ? field2.creatable : field2.updatable)
1791
- )) {
1793
+ for (const field of model.fields.filter(not(isGenerateAsField)).filter((field2) => field2.generated || (action === "CREATE" ? field2.creatable : field2.updatable))) {
1792
1794
  const fieldPermissions = field[action === "CREATE" ? "creatable" : "updatable"];
1793
1795
  const role2 = getRole(ctx);
1794
1796
  if (getColumnName(field) in data && fieldPermissions && typeof fieldPermissions === "object" && !fieldPermissions.roles?.includes(role2)) {
@@ -2300,7 +2302,7 @@ var createEntity = async (modelName, input2, ctx, trigger = "direct-call") => wi
2300
2302
  if (model.parent) {
2301
2303
  const rootInput = {};
2302
2304
  const childInput = { id };
2303
- for (const field of model.fields) {
2305
+ for (const field of model.fields.filter(not(isGenerateAsField))) {
2304
2306
  const columnName = field.kind === "relation" ? `${field.name}Id` : field.name;
2305
2307
  if (columnName in normalizedInput) {
2306
2308
  if (field.inherited) {
@@ -2313,7 +2315,12 @@ var createEntity = async (modelName, input2, ctx, trigger = "direct-call") => wi
2313
2315
  await ctx2.knex(model.parent).insert(rootInput);
2314
2316
  await ctx2.knex(model.name).insert(childInput);
2315
2317
  } else {
2316
- await ctx2.knex(model.name).insert(normalizedInput);
2318
+ const insertData = { ...normalizedInput };
2319
+ for (const field of model.fields.filter(isGenerateAsField)) {
2320
+ const columnName = field.kind === "relation" ? `${field.name}Id` : field.name;
2321
+ delete insertData[columnName];
2322
+ }
2323
+ await ctx2.knex(model.name).insert(insertData);
2317
2324
  }
2318
2325
  await createRevision(model, normalizedInput, ctx2);
2319
2326
  await ctx2.mutationHook?.({
@@ -2675,7 +2682,7 @@ var createRevision = async (model, data, ctx) => {
2675
2682
  rootRevisionData.deleted = data.deleted || false;
2676
2683
  }
2677
2684
  const childRevisionData = { id: revisionId };
2678
- for (const field of model.fields.filter(({ updatable }) => updatable)) {
2685
+ for (const field of model.fields.filter(({ updatable }) => updatable).filter(not(isGenerateAsField))) {
2679
2686
  const col = field.kind === "relation" ? `${field.name}Id` : field.name;
2680
2687
  let value2;
2681
2688
  if (field.nonNull && (!(col in data) || col === void 0 || col === null)) {
@@ -2739,7 +2746,7 @@ var doUpdate = async (model, currentEntity, update, ctx) => {
2739
2746
  if (model.parent) {
2740
2747
  const rootInput = {};
2741
2748
  const childInput = {};
2742
- for (const field of model.fields) {
2749
+ for (const field of model.fields.filter(not(isGenerateAsField))) {
2743
2750
  const columnName = field.kind === "relation" ? `${field.name}Id` : field.name;
2744
2751
  if (columnName in update) {
2745
2752
  if (field.inherited) {
@@ -2756,7 +2763,12 @@ var doUpdate = async (model, currentEntity, update, ctx) => {
2756
2763
  await ctx.knex(model.name).where({ id: currentEntity.id }).update(childInput);
2757
2764
  }
2758
2765
  } else {
2759
- await ctx.knex(model.name).where({ id: currentEntity.id }).update(update);
2766
+ const updateData = { ...update };
2767
+ for (const field of model.fields.filter(isGenerateAsField)) {
2768
+ const columnName = field.kind === "relation" ? `${field.name}Id` : field.name;
2769
+ delete updateData[columnName];
2770
+ }
2771
+ await ctx.knex(model.name).where({ id: currentEntity.id }).update(updateData);
2760
2772
  }
2761
2773
  await createRevision(model, { ...currentEntity, ...update }, ctx);
2762
2774
  };
@@ -3219,7 +3231,7 @@ var MigrationGenerator = class {
3219
3231
  writer.writeLine(`deleteRootType: row.deleteRootType,`);
3220
3232
  writer.writeLine(`deleteRootId: row.deleteRootId,`);
3221
3233
  }
3222
- for (const { name: name2, kind } of model.fields.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === "expression"))) {
3234
+ for (const { name: name2, kind } of model.fields.filter(isUpdatableField).filter(not(isGenerateAsField))) {
3223
3235
  const col = kind === "relation" ? `${name2}Id` : name2;
3224
3236
  writer.writeLine(`${col}: row.${col},`);
3225
3237
  }
@@ -3239,8 +3251,8 @@ var MigrationGenerator = class {
3239
3251
  up,
3240
3252
  down
3241
3253
  );
3242
- const missingRevisionFields = model.fields.filter(isUpdatableField).filter(
3243
- ({ name: name2, ...field }) => field.kind !== "custom" && !(field.generateAs?.type === "expression") && !this.getColumn(revisionTable, field.kind === "relation" ? field.foreignKey || `${name2}Id` : name2)
3254
+ const missingRevisionFields = model.fields.filter(isUpdatableField).filter(not(isGenerateAsField)).filter(
3255
+ ({ name: name2, ...field }) => field.kind !== "custom" && !this.getColumn(revisionTable, field.kind === "relation" ? field.foreignKey || `${name2}Id` : name2)
3244
3256
  );
3245
3257
  this.createRevisionFields(model, missingRevisionFields, up, down);
3246
3258
  const revisionFieldsToRemove = model.fields.filter(
@@ -3398,7 +3410,7 @@ var MigrationGenerator = class {
3398
3410
  });
3399
3411
  });
3400
3412
  if (isUpdatableModel(model)) {
3401
- const updatableFields = fields2.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === "expression"));
3413
+ const updatableFields = fields2.filter(isUpdatableField).filter(not(isGenerateAsField));
3402
3414
  if (!updatableFields.length) {
3403
3415
  return;
3404
3416
  }
@@ -3446,7 +3458,7 @@ var MigrationGenerator = class {
3446
3458
  });
3447
3459
  });
3448
3460
  if (isUpdatableModel(model)) {
3449
- const updatableFields = fields2.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === "expression"));
3461
+ const updatableFields = fields2.filter(isUpdatableField).filter(not(isGenerateAsField));
3450
3462
  if (!updatableFields.length) {
3451
3463
  return;
3452
3464
  }
@@ -3484,7 +3496,7 @@ var MigrationGenerator = class {
3484
3496
  writer.writeLine(`table.uuid('deleteRootId');`);
3485
3497
  }
3486
3498
  }
3487
- for (const field of model.fields.filter(and(isUpdatableField, not(isInherited))).filter((f) => !(f.generateAs?.type === "expression"))) {
3499
+ for (const field of model.fields.filter(and(isUpdatableField, not(isInherited))).filter(not(isGenerateAsField))) {
3488
3500
  this.column(field, { setUnique: false, setDefault: false });
3489
3501
  }
3490
3502
  });
@@ -4352,7 +4364,7 @@ var generateDefinitions = ({
4352
4364
  types.push(
4353
4365
  input(
4354
4366
  `Create${model.name}`,
4355
- model.fields.filter(({ creatable }) => creatable).map(
4367
+ model.fields.filter(({ creatable }) => creatable).filter(not(isGenerateAsField)).map(
4356
4368
  (field) => field.kind === "relation" ? { name: `${field.name}Id`, type: "ID", nonNull: field.nonNull } : {
4357
4369
  name: field.name,
4358
4370
  type: field.kind === "json" ? `Create${field.type}` : field.type,
@@ -4367,7 +4379,7 @@ var generateDefinitions = ({
4367
4379
  types.push(
4368
4380
  input(
4369
4381
  `Update${model.name}`,
4370
- model.fields.filter(({ updatable }) => updatable).map(
4382
+ model.fields.filter(({ updatable }) => updatable).filter(not(isGenerateAsField)).map(
4371
4383
  (field) => field.kind === "relation" ? { name: `${field.name}Id`, type: "ID" } : {
4372
4384
  name: field.name,
4373
4385
  type: field.kind === "json" ? `Update${field.type}` : field.type,
@@ -4624,6 +4636,7 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
4624
4636
  isEnumModel,
4625
4637
  isFieldNode,
4626
4638
  isFragmentSpreadNode,
4639
+ isGenerateAsField,
4627
4640
  isInTable,
4628
4641
  isInherited,
4629
4642
  isInlineFragmentNode,
@@ -4640,6 +4653,7 @@ var printSchemaFromModels = (models) => printSchema((0, import_graphql6.buildAST
4640
4653
  isRootModel,
4641
4654
  isScalarModel,
4642
4655
  isSimpleField,
4656
+ isStoredInDatabase,
4643
4657
  isToOneRelation,
4644
4658
  isUpdatable,
4645
4659
  isUpdatableBy,
@@ -1,5 +1,5 @@
1
1
  import CodeBlockWriter from 'code-block-writer';
2
- import { get, getColumnName, isCustomField, isInTable, isRootModel, not } from '..';
2
+ import { get, getColumnName, isCustomField, isGenerateAsField, isInTable, isRootModel, isStoredInDatabase, not, } from '..';
3
3
  import { DATE_CLASS, DATE_CLASS_IMPORT } from '../utils/dates';
4
4
  export const PRIMITIVE_TYPES = {
5
5
  ID: 'string',
@@ -49,7 +49,7 @@ export const generateDBModels = (models, dateLibrary) => {
49
49
  writer
50
50
  .write(`export type ${model.name} = `)
51
51
  .inlineBlock(() => {
52
- for (const field of fields.filter(not(isCustomField))) {
52
+ for (const field of fields.filter(not(isCustomField)).filter(isStoredInDatabase)) {
53
53
  writer
54
54
  .write(`'${getColumnName(field)}': ${getFieldType(field, dateLibrary)}${field.nonNull ? '' : ' | null'};`)
55
55
  .newLine();
@@ -59,7 +59,7 @@ export const generateDBModels = (models, dateLibrary) => {
59
59
  writer
60
60
  .write(`export type ${model.name}Initializer = `)
61
61
  .inlineBlock(() => {
62
- for (const field of fields.filter(not(isCustomField)).filter(isInTable)) {
62
+ for (const field of fields.filter(not(isCustomField)).filter(isInTable).filter(not(isGenerateAsField))) {
63
63
  writer
64
64
  .write(`'${getColumnName(field)}'${field.nonNull && field.defaultValue === undefined ? '' : '?'}: ${getFieldType(field, dateLibrary, true)}${field.list ? ' | string' : ''}${field.nonNull ? '' : ' | null'};`)
65
65
  .newLine();
@@ -69,7 +69,7 @@ export const generateDBModels = (models, dateLibrary) => {
69
69
  writer
70
70
  .write(`export type ${model.name}Mutator = `)
71
71
  .inlineBlock(() => {
72
- for (const field of fields.filter(not(isCustomField)).filter(isInTable)) {
72
+ for (const field of fields.filter(not(isCustomField)).filter(isInTable).filter(not(isGenerateAsField))) {
73
73
  writer
74
74
  .write(`'${getColumnName(field)}'?: ${getFieldType(field, dateLibrary, true)}${field.list ? ' | string' : ''}${field.nonNull ? '' : ' | null'};`)
75
75
  .newLine();
@@ -80,7 +80,7 @@ export const generateDBModels = (models, dateLibrary) => {
80
80
  writer
81
81
  .write(`export type ${model.name}Seed = `)
82
82
  .inlineBlock(() => {
83
- for (const field of fields.filter(not(isCustomField))) {
83
+ for (const field of fields.filter(not(isCustomField)).filter(not(isGenerateAsField))) {
84
84
  if (model.parent && field.name === 'type') {
85
85
  continue;
86
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/db/generate.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAe,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;AAEjG,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAe,MAAM,gBAAgB,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAElH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,WAAwB,EAAE,EAAE;IAC3E,2DAA2D;IAC3D,MAAM,MAAM,GAAoB,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7D,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,CAAC;KACxB,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACxG,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACxG,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;IACtF,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM;aACH,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,KAAK,CAAC;aACrC,WAAW,CAAC,GAAG,EAAE;YAChB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM;qBACH,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC;qBACzG,OAAO,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,SAAS,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,gDAAgD;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;YACnF,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YACrD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QAEjB,MAAM;aACH,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,KAAK,CAAC;aACrC,WAAW,CAAC,GAAG,EAAE;YAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM;qBACH,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC;qBACzG,OAAO,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,SAAS,EAAE,CAAC;QAEf,MAAM;aACH,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,gBAAgB,CAAC;aAChD,WAAW,CAAC,GAAG,EAAE;YAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxE,MAAM;qBACH,KAAK,CACJ,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CACvG,KAAK,EACL,WAAW,EACX,IAAI,CACL,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CACtE;qBACA,OAAO,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,SAAS,EAAE,CAAC;QAEf,MAAM;aACH,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,YAAY,CAAC;aAC5C,WAAW,CAAC,GAAG,EAAE;YAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxE,MAAM;qBACH,KAAK,CACJ,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GACnG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SACvB,GAAG,CACJ;qBACA,OAAO,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM;iBACH,KAAK,CAAC,eAAe,KAAK,CAAC,IAAI,SAAS,CAAC;iBACzC,WAAW,CAAC,GAAG,EAAE;gBAChB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBACtD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBAC1C,SAAS;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;oBACvC,MAAM;yBACH,KAAK,CACJ,IAAI,aAAa,CAAC,KAAK,CAAC,IACtB,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACxG,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,GACxG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAC7B,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CACrC;yBACA,OAAO,EAAE,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;iBACD,SAAS,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,WAAwB,EAAE,KAAe,EAAE,EAAE;IACrF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,UAAU;YACb,8BAA8B;YAC9B,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChH,CAAC;YAED,OAAO,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,eAAe,GAAU,IAAI,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACnD,2DAA2D;IAC3D,MAAM,MAAM,GAAoB,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7D,cAAc,EAAE,IAAI;QACpB,oBAAoB,EAAE,CAAC;KACxB,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC;IACvD,MAAM;SACH,KAAK,CACJ,YAAY,MAAM,CAAC,QAAQ;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,SAAS,CAAC;SAC/E,IAAI,CAAC,IAAI,CAAC,cAAc,CAC5B;SACA,SAAS,EAAE,CAAC;IAEf,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;QACnE,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE;YACjD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM;qBACH,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,8BAA8B,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,WAAW,CAAC;qBACjH,OAAO,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/db/generate.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import CodeBlockWriter from 'code-block-writer';
2
2
  import { SchemaInspector } from 'knex-schema-inspector';
3
3
  import lowerFirst from 'lodash/lowerFirst';
4
- import { and, get, isCreatableModel, isInherited, isUpdatableField, isUpdatableModel, modelNeedsTable, not, summonByName, typeToField, validateCheckConstraint, } from '../models/utils';
4
+ import { and, get, isCreatableModel, isGenerateAsField, isInherited, isUpdatableField, isUpdatableModel, modelNeedsTable, not, summonByName, typeToField, validateCheckConstraint, } from '../models/utils';
5
5
  import { getColumnName } from '../resolvers';
6
6
  import { getDatabaseFunctions, normalizeAggregateDefinition, normalizeFunctionBody, } from './update-functions';
7
7
  export class MigrationGenerator {
@@ -230,7 +230,7 @@ export class MigrationGenerator {
230
230
  }
231
231
  for (const { name, kind } of model.fields
232
232
  .filter(isUpdatableField)
233
- .filter((f) => !(f.generateAs?.type === 'expression'))) {
233
+ .filter(not(isGenerateAsField))) {
234
234
  const col = kind === 'relation' ? `${name}Id` : name;
235
235
  writer.writeLine(`${col}: row.${col},`);
236
236
  }
@@ -254,8 +254,8 @@ export class MigrationGenerator {
254
254
  .filter(({ oldName }) => oldName), up, down);
255
255
  const missingRevisionFields = model.fields
256
256
  .filter(isUpdatableField)
257
+ .filter(not(isGenerateAsField))
257
258
  .filter(({ name, ...field }) => field.kind !== 'custom' &&
258
- !(field.generateAs?.type === 'expression') &&
259
259
  !this.getColumn(revisionTable, field.kind === 'relation' ? field.foreignKey || `${name}Id` : name));
260
260
  this.createRevisionFields(model, missingRevisionFields, up, down);
261
261
  const revisionFieldsToRemove = model.fields.filter(({ name, updatable, generated, ...field }) => !generated &&
@@ -407,7 +407,7 @@ export class MigrationGenerator {
407
407
  });
408
408
  });
409
409
  if (isUpdatableModel(model)) {
410
- const updatableFields = fields.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === 'expression'));
410
+ const updatableFields = fields.filter(isUpdatableField).filter(not(isGenerateAsField));
411
411
  if (!updatableFields.length) {
412
412
  return;
413
413
  }
@@ -446,7 +446,7 @@ export class MigrationGenerator {
446
446
  });
447
447
  });
448
448
  if (isUpdatableModel(model)) {
449
- const updatableFields = fields.filter(isUpdatableField).filter((f) => !(f.generateAs?.type === 'expression'));
449
+ const updatableFields = fields.filter(isUpdatableField).filter(not(isGenerateAsField));
450
450
  if (!updatableFields.length) {
451
451
  return;
452
452
  }
@@ -481,9 +481,7 @@ export class MigrationGenerator {
481
481
  writer.writeLine(`table.uuid('deleteRootId');`);
482
482
  }
483
483
  }
484
- for (const field of model.fields
485
- .filter(and(isUpdatableField, not(isInherited)))
486
- .filter((f) => !(f.generateAs?.type === 'expression'))) {
484
+ for (const field of model.fields.filter(and(isUpdatableField, not(isInherited))).filter(not(isGenerateAsField))) {
487
485
  this.column(field, { setUnique: false, setDefault: false });
488
486
  }
489
487
  });