@smartive/graphql-magic 23.11.0 → 23.12.0-next.1
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 +3 -2
- package/dist/bin/gqm.cjs +53 -35
- package/dist/cjs/index.cjs +83 -37
- package/dist/esm/db/generate.d.ts +1 -0
- package/dist/esm/db/generate.js +1 -0
- package/dist/esm/db/generate.js.map +1 -1
- package/dist/esm/migrations/generate.js +8 -0
- package/dist/esm/migrations/generate.js.map +1 -1
- package/dist/esm/models/model-definitions.d.ts +5 -0
- package/dist/esm/models/models.d.ts +2 -1
- package/dist/esm/models/models.js +3 -0
- package/dist/esm/models/models.js.map +1 -1
- package/dist/esm/resolvers/resolvers.js +37 -0
- package/dist/esm/resolvers/resolvers.js.map +1 -1
- package/docs/docs/3-fields.md +3 -0
- package/migrations/20230912185644_setup.ts +2 -0
- package/package.json +5 -5
- package/src/bin/gqm/codegen.ts +2 -0
- package/src/db/generate.ts +1 -0
- package/src/migrations/generate.ts +8 -0
- package/src/models/model-definitions.ts +2 -0
- package/src/models/models.ts +6 -0
- package/src/resolvers/resolvers.ts +44 -0
- package/tests/api/__snapshots__/query.spec.ts.snap +19 -0
- package/tests/api/query.spec.ts +17 -0
- package/tests/unit/__snapshots__/resolve.spec.ts.snap +1 -0
- package/tests/utils/database/seed.ts +5 -2
- package/tests/utils/models.ts +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
## [23.
|
|
1
|
+
## [23.12.0-next.1](https://github.com/smartive/graphql-magic/compare/v23.11.0...v23.12.0-next.1) (2026-03-31)
|
|
2
2
|
|
|
3
3
|
### Features
|
|
4
4
|
|
|
5
|
-
*
|
|
5
|
+
* add field type time ([223adf4](https://github.com/smartive/graphql-magic/commit/223adf482c523266a194630b1dc5eda3d7d8b850))
|
|
6
|
+
* add time type ([33adeec](https://github.com/smartive/graphql-magic/commit/33adeec46751f8ca29770b47d8d0ddfb2ce526bb))
|
package/dist/bin/gqm.cjs
CHANGED
|
@@ -140,6 +140,10 @@ var Models = class {
|
|
|
140
140
|
kind: "scalar",
|
|
141
141
|
name: "DateTime"
|
|
142
142
|
},
|
|
143
|
+
{
|
|
144
|
+
kind: "scalar",
|
|
145
|
+
name: "Time"
|
|
146
|
+
},
|
|
143
147
|
{ kind: "scalar", name: "Upload" },
|
|
144
148
|
{
|
|
145
149
|
kind: "raw-enum",
|
|
@@ -700,7 +704,8 @@ var PRIMITIVE_TYPES = {
|
|
|
700
704
|
Upload: "string",
|
|
701
705
|
Int: "number",
|
|
702
706
|
Float: "number",
|
|
703
|
-
String: "string"
|
|
707
|
+
String: "string",
|
|
708
|
+
Time: "string"
|
|
704
709
|
};
|
|
705
710
|
var OPTIONAL_SEED_FIELDS = ["createdAt", "createdById", "updatedAt", "updatedById", "deletedAt", "deletedById"];
|
|
706
711
|
var generateDBModels = (models, dateLibrary) => {
|
|
@@ -904,6 +909,9 @@ var getColumnName = (field) => field.kind === "relation" ? field.foreignKey || `
|
|
|
904
909
|
var import_cloneDeep2 = __toESM(require("lodash/cloneDeep"), 1);
|
|
905
910
|
var import_flatMap = __toESM(require("lodash/flatMap"), 1);
|
|
906
911
|
|
|
912
|
+
// src/resolvers/resolvers.ts
|
|
913
|
+
var import_graphql5 = require("graphql");
|
|
914
|
+
|
|
907
915
|
// src/migrations/update-functions.ts
|
|
908
916
|
var normalizeWhitespace = (str) => {
|
|
909
917
|
return str.replace(/\s+/g, " ").replace(/\s*\(\s*/g, "(").replace(/\s*\)\s*/g, ")").replace(/\s*,\s*/g, ",").replace(/\s*;\s*/g, ";").trim();
|
|
@@ -2289,6 +2297,9 @@ var MigrationGenerator = class _MigrationGenerator {
|
|
|
2289
2297
|
case "DateTime":
|
|
2290
2298
|
col(`table.timestamp('${name2}')`);
|
|
2291
2299
|
break;
|
|
2300
|
+
case "Time":
|
|
2301
|
+
col(`table.specificType('${name2}', 'time without time zone')`);
|
|
2302
|
+
break;
|
|
2292
2303
|
case "ID":
|
|
2293
2304
|
col(`table.uuid('${name2}')`);
|
|
2294
2305
|
break;
|
|
@@ -2381,6 +2392,11 @@ var MigrationGenerator = class _MigrationGenerator {
|
|
|
2381
2392
|
return true;
|
|
2382
2393
|
}
|
|
2383
2394
|
}
|
|
2395
|
+
if (field.type === "Time") {
|
|
2396
|
+
if (!["time without time zone", "time"].includes(col.data_type)) {
|
|
2397
|
+
return true;
|
|
2398
|
+
}
|
|
2399
|
+
}
|
|
2384
2400
|
}
|
|
2385
2401
|
return false;
|
|
2386
2402
|
}
|
|
@@ -2470,48 +2486,48 @@ var getMigrationDate = () => {
|
|
|
2470
2486
|
var ACTIONS = ["READ", "CREATE", "UPDATE", "DELETE", "RESTORE", "LINK"];
|
|
2471
2487
|
|
|
2472
2488
|
// src/schema/generate.ts
|
|
2473
|
-
var
|
|
2489
|
+
var import_graphql7 = require("graphql");
|
|
2474
2490
|
|
|
2475
2491
|
// src/schema/utils.ts
|
|
2476
2492
|
var import_dayjs2 = require("dayjs");
|
|
2477
|
-
var
|
|
2493
|
+
var import_graphql6 = require("graphql");
|
|
2478
2494
|
var import_luxon2 = require("luxon");
|
|
2479
2495
|
var document = (definitions) => ({
|
|
2480
|
-
kind:
|
|
2496
|
+
kind: import_graphql6.Kind.DOCUMENT,
|
|
2481
2497
|
definitions
|
|
2482
2498
|
});
|
|
2483
2499
|
var scalar = (nme) => ({
|
|
2484
2500
|
name: name(nme),
|
|
2485
|
-
kind:
|
|
2501
|
+
kind: import_graphql6.Kind.SCALAR_TYPE_DEFINITION
|
|
2486
2502
|
});
|
|
2487
2503
|
var input = (nme, fields2, dvs) => ({
|
|
2488
2504
|
name: name(nme),
|
|
2489
2505
|
fields: inputValues(fields2),
|
|
2490
|
-
kind:
|
|
2506
|
+
kind: import_graphql6.Kind.INPUT_OBJECT_TYPE_DEFINITION,
|
|
2491
2507
|
directives: directives(dvs)
|
|
2492
2508
|
});
|
|
2493
2509
|
var union = (nme, types) => ({
|
|
2494
2510
|
name: name(nme),
|
|
2495
|
-
kind:
|
|
2511
|
+
kind: import_graphql6.Kind.UNION_TYPE_DEFINITION,
|
|
2496
2512
|
types: types.map((t) => namedType(t))
|
|
2497
2513
|
});
|
|
2498
2514
|
var object = (nme, fds, interfaces, dvs) => ({
|
|
2499
2515
|
name: name(nme),
|
|
2500
2516
|
fields: fields(fds),
|
|
2501
|
-
kind:
|
|
2517
|
+
kind: import_graphql6.Kind.OBJECT_TYPE_DEFINITION,
|
|
2502
2518
|
interfaces: interfaces?.map((i) => namedType(i)),
|
|
2503
2519
|
directives: directives(dvs)
|
|
2504
2520
|
});
|
|
2505
2521
|
var iface = (nme, fds, interfaces, dvs) => ({
|
|
2506
2522
|
name: name(nme),
|
|
2507
2523
|
fields: fields(fds),
|
|
2508
|
-
kind:
|
|
2524
|
+
kind: import_graphql6.Kind.INTERFACE_TYPE_DEFINITION,
|
|
2509
2525
|
interfaces: interfaces?.map((i) => namedType(i)),
|
|
2510
2526
|
directives: directives(dvs)
|
|
2511
2527
|
});
|
|
2512
2528
|
var inputValues = (fields2) => fields2.map(
|
|
2513
2529
|
(field) => ({
|
|
2514
|
-
kind:
|
|
2530
|
+
kind: import_graphql6.Kind.INPUT_VALUE_DEFINITION,
|
|
2515
2531
|
name: name(field.name),
|
|
2516
2532
|
type: fieldType(field),
|
|
2517
2533
|
defaultValue: field.defaultValue === void 0 ? void 0 : value(field.defaultValue),
|
|
@@ -2520,11 +2536,11 @@ var inputValues = (fields2) => fields2.map(
|
|
|
2520
2536
|
);
|
|
2521
2537
|
var fields = (fields2) => fields2.map(
|
|
2522
2538
|
(field) => ({
|
|
2523
|
-
kind:
|
|
2539
|
+
kind: import_graphql6.Kind.FIELD_DEFINITION,
|
|
2524
2540
|
name: name(field.name),
|
|
2525
2541
|
type: fieldType(field),
|
|
2526
2542
|
arguments: field.args?.map((arg) => ({
|
|
2527
|
-
kind:
|
|
2543
|
+
kind: import_graphql6.Kind.INPUT_VALUE_DEFINITION,
|
|
2528
2544
|
name: name(arg.name),
|
|
2529
2545
|
type: fieldType(arg),
|
|
2530
2546
|
defaultValue: arg.defaultValue === void 0 ? void 0 : value(arg.defaultValue)
|
|
@@ -2534,42 +2550,42 @@ var fields = (fields2) => fields2.map(
|
|
|
2534
2550
|
);
|
|
2535
2551
|
var directives = (directives2) => directives2?.map(
|
|
2536
2552
|
(directive) => ({
|
|
2537
|
-
kind:
|
|
2553
|
+
kind: import_graphql6.Kind.DIRECTIVE,
|
|
2538
2554
|
name: name(directive.name),
|
|
2539
2555
|
arguments: args(directive.values)
|
|
2540
2556
|
})
|
|
2541
2557
|
);
|
|
2542
2558
|
var args = (ags) => ags?.map(
|
|
2543
2559
|
(argument) => ({
|
|
2544
|
-
kind:
|
|
2560
|
+
kind: import_graphql6.Kind.ARGUMENT,
|
|
2545
2561
|
name: name(argument.name),
|
|
2546
2562
|
value: value(argument.values)
|
|
2547
2563
|
})
|
|
2548
2564
|
);
|
|
2549
2565
|
var enm = (nme, values) => ({
|
|
2550
2566
|
name: name(nme),
|
|
2551
|
-
kind:
|
|
2567
|
+
kind: import_graphql6.Kind.ENUM_TYPE_DEFINITION,
|
|
2552
2568
|
values: values.map(
|
|
2553
2569
|
(v) => ({
|
|
2554
|
-
kind:
|
|
2570
|
+
kind: import_graphql6.Kind.ENUM_VALUE_DEFINITION,
|
|
2555
2571
|
name: name(v)
|
|
2556
2572
|
})
|
|
2557
2573
|
)
|
|
2558
2574
|
});
|
|
2559
2575
|
var nonNull = (type) => ({
|
|
2560
2576
|
type,
|
|
2561
|
-
kind:
|
|
2577
|
+
kind: import_graphql6.Kind.NON_NULL_TYPE
|
|
2562
2578
|
});
|
|
2563
2579
|
var namedType = (nme) => ({
|
|
2564
|
-
kind:
|
|
2580
|
+
kind: import_graphql6.Kind.NAMED_TYPE,
|
|
2565
2581
|
name: name(nme)
|
|
2566
2582
|
});
|
|
2567
2583
|
var list = (type) => ({
|
|
2568
2584
|
type,
|
|
2569
|
-
kind:
|
|
2585
|
+
kind: import_graphql6.Kind.LIST_TYPE
|
|
2570
2586
|
});
|
|
2571
2587
|
var name = (name2) => ({
|
|
2572
|
-
kind:
|
|
2588
|
+
kind: import_graphql6.Kind.NAME,
|
|
2573
2589
|
value: name2
|
|
2574
2590
|
});
|
|
2575
2591
|
var fieldType = (field) => {
|
|
@@ -2583,33 +2599,33 @@ var fieldType = (field) => {
|
|
|
2583
2599
|
return type;
|
|
2584
2600
|
};
|
|
2585
2601
|
var value = (val = null) => val === null ? {
|
|
2586
|
-
kind:
|
|
2602
|
+
kind: import_graphql6.Kind.NULL
|
|
2587
2603
|
} : typeof val === "boolean" ? {
|
|
2588
|
-
kind:
|
|
2604
|
+
kind: import_graphql6.Kind.BOOLEAN,
|
|
2589
2605
|
value: val
|
|
2590
2606
|
} : typeof val === "number" ? {
|
|
2591
|
-
kind:
|
|
2607
|
+
kind: import_graphql6.Kind.INT,
|
|
2592
2608
|
value: `${val}`
|
|
2593
2609
|
} : typeof val === "string" ? {
|
|
2594
|
-
kind:
|
|
2610
|
+
kind: import_graphql6.Kind.STRING,
|
|
2595
2611
|
value: val
|
|
2596
2612
|
} : val instanceof Symbol ? {
|
|
2597
|
-
kind:
|
|
2613
|
+
kind: import_graphql6.Kind.ENUM,
|
|
2598
2614
|
value: val.description
|
|
2599
2615
|
} : Array.isArray(val) ? {
|
|
2600
|
-
kind:
|
|
2616
|
+
kind: import_graphql6.Kind.LIST,
|
|
2601
2617
|
values: val.map(value)
|
|
2602
2618
|
} : val instanceof import_luxon2.DateTime ? {
|
|
2603
|
-
kind:
|
|
2619
|
+
kind: import_graphql6.Kind.STRING,
|
|
2604
2620
|
value: val.toString()
|
|
2605
2621
|
} : val instanceof import_dayjs2.Dayjs ? {
|
|
2606
|
-
kind:
|
|
2622
|
+
kind: import_graphql6.Kind.STRING,
|
|
2607
2623
|
value: val.toISOString()
|
|
2608
2624
|
} : typeof val === "object" ? {
|
|
2609
|
-
kind:
|
|
2625
|
+
kind: import_graphql6.Kind.OBJECT,
|
|
2610
2626
|
fields: Object.keys(val).map(
|
|
2611
2627
|
(nme) => ({
|
|
2612
|
-
kind:
|
|
2628
|
+
kind: import_graphql6.Kind.OBJECT_FIELD,
|
|
2613
2629
|
name: name(nme),
|
|
2614
2630
|
value: value(val[nme])
|
|
2615
2631
|
})
|
|
@@ -2889,11 +2905,11 @@ var generateDefinitions = ({
|
|
|
2889
2905
|
};
|
|
2890
2906
|
var generate = (models) => document(generateDefinitions(models));
|
|
2891
2907
|
var printSchema = (schema) => [
|
|
2892
|
-
...schema.getDirectives().map((d) => d.astNode && (0,
|
|
2893
|
-
...Object.values(schema.getTypeMap()).filter((t) => !t.name.match(/^__/)).sort((a, b) => a.name > b.name ? 1 : -1).map((t) => t.astNode && (0,
|
|
2908
|
+
...schema.getDirectives().map((d) => d.astNode && (0, import_graphql7.print)(d.astNode)),
|
|
2909
|
+
...Object.values(schema.getTypeMap()).filter((t) => !t.name.match(/^__/)).sort((a, b) => a.name > b.name ? 1 : -1).map((t) => t.astNode && (0, import_graphql7.print)(t.astNode))
|
|
2894
2910
|
].filter(Boolean).map((s) => `${s}
|
|
2895
2911
|
`).join("\n");
|
|
2896
|
-
var printSchemaFromModels = (models) => printSchema((0,
|
|
2912
|
+
var printSchemaFromModels = (models) => printSchema((0, import_graphql7.buildASTSchema)(generate(models)));
|
|
2897
2913
|
|
|
2898
2914
|
// src/bin/gqm/codegen.ts
|
|
2899
2915
|
var import_cli = require("@graphql-codegen/cli");
|
|
@@ -3201,7 +3217,8 @@ var generateGraphqlApiTypes = async (dateLibrary) => {
|
|
|
3201
3217
|
},
|
|
3202
3218
|
config: {
|
|
3203
3219
|
scalars: {
|
|
3204
|
-
DateTime: DATE_CLASS[dateLibrary]
|
|
3220
|
+
DateTime: DATE_CLASS[dateLibrary],
|
|
3221
|
+
Time: "string"
|
|
3205
3222
|
}
|
|
3206
3223
|
}
|
|
3207
3224
|
});
|
|
@@ -3230,7 +3247,8 @@ var generateGraphqlClientTypes = async () => {
|
|
|
3230
3247
|
field: true
|
|
3231
3248
|
},
|
|
3232
3249
|
scalars: {
|
|
3233
|
-
DateTime: "string"
|
|
3250
|
+
DateTime: "string",
|
|
3251
|
+
Time: "string"
|
|
3234
3252
|
},
|
|
3235
3253
|
ignoreNoDocuments: true
|
|
3236
3254
|
}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -406,6 +406,10 @@ var Models = class {
|
|
|
406
406
|
kind: "scalar",
|
|
407
407
|
name: "DateTime"
|
|
408
408
|
},
|
|
409
|
+
{
|
|
410
|
+
kind: "scalar",
|
|
411
|
+
name: "Time"
|
|
412
|
+
},
|
|
409
413
|
{ kind: "scalar", name: "Upload" },
|
|
410
414
|
{
|
|
411
415
|
kind: "raw-enum",
|
|
@@ -1075,7 +1079,8 @@ var PRIMITIVE_TYPES = {
|
|
|
1075
1079
|
Upload: "string",
|
|
1076
1080
|
Int: "number",
|
|
1077
1081
|
Float: "number",
|
|
1078
|
-
String: "string"
|
|
1082
|
+
String: "string",
|
|
1083
|
+
Time: "string"
|
|
1079
1084
|
};
|
|
1080
1085
|
var OPTIONAL_SEED_FIELDS = ["createdAt", "createdById", "updatedAt", "updatedById", "deletedAt", "deletedById"];
|
|
1081
1086
|
var generateDBModels = (models, dateLibrary) => {
|
|
@@ -2892,6 +2897,27 @@ var doUpdate = async (model, currentEntity, update, ctx) => {
|
|
|
2892
2897
|
};
|
|
2893
2898
|
|
|
2894
2899
|
// src/resolvers/resolvers.ts
|
|
2900
|
+
var import_graphql5 = require("graphql");
|
|
2901
|
+
var normalizeTimeToHHmmForSerialize = (value2) => {
|
|
2902
|
+
if (typeof value2 !== "string") {
|
|
2903
|
+
throw new Error(`Time must be a string in HH:mm format. Received: ${typeof value2}`);
|
|
2904
|
+
}
|
|
2905
|
+
const match = value2.match(/^(\d{2}:\d{2})/);
|
|
2906
|
+
if (!match) {
|
|
2907
|
+
throw new Error(`Invalid Time value "${value2}". Expected HH:mm.`);
|
|
2908
|
+
}
|
|
2909
|
+
return match[1];
|
|
2910
|
+
};
|
|
2911
|
+
var normalizeTimeToHHmmForParse = (value2) => {
|
|
2912
|
+
if (typeof value2 !== "string") {
|
|
2913
|
+
throw new Error(`Time must be a string in HH:mm format. Received: ${typeof value2}`);
|
|
2914
|
+
}
|
|
2915
|
+
const match = value2.match(/^(\d{2}):(\d{2})(?::\d{2}(?:\.\d+)?)?$/);
|
|
2916
|
+
if (!match) {
|
|
2917
|
+
throw new Error(`Invalid Time value "${value2}". Expected HH:mm.`);
|
|
2918
|
+
}
|
|
2919
|
+
return `${match[1]}:${match[2]}`;
|
|
2920
|
+
};
|
|
2895
2921
|
var getResolvers = (models) => {
|
|
2896
2922
|
const resolvers = {
|
|
2897
2923
|
Query: merge2([
|
|
@@ -2907,7 +2933,19 @@ var getResolvers = (models) => {
|
|
|
2907
2933
|
...models.entities.filter(({ aggregatable }) => aggregatable).map((model) => ({
|
|
2908
2934
|
[`${model.pluralField}_AGGREGATE`]: queryResolver
|
|
2909
2935
|
}))
|
|
2910
|
-
])
|
|
2936
|
+
]),
|
|
2937
|
+
Time: new import_graphql5.GraphQLScalarType({
|
|
2938
|
+
name: "Time",
|
|
2939
|
+
description: "Time without date and timezone (HH:mm)",
|
|
2940
|
+
serialize: (value2) => value2 == null ? value2 : normalizeTimeToHHmmForSerialize(value2),
|
|
2941
|
+
parseValue: (value2) => normalizeTimeToHHmmForParse(value2),
|
|
2942
|
+
parseLiteral: (ast) => {
|
|
2943
|
+
if (ast.kind !== import_graphql5.Kind.STRING) {
|
|
2944
|
+
throw new Error(`Invalid literal for Time scalar. Expected STRING, got ${ast.kind}.`);
|
|
2945
|
+
}
|
|
2946
|
+
return normalizeTimeToHHmmForParse(ast.value);
|
|
2947
|
+
}
|
|
2948
|
+
})
|
|
2911
2949
|
};
|
|
2912
2950
|
const mutations = [
|
|
2913
2951
|
...models.entities.filter(and(not(isRootModel), isCreatable)).map((model) => ({
|
|
@@ -4317,6 +4355,9 @@ var MigrationGenerator = class _MigrationGenerator {
|
|
|
4317
4355
|
case "DateTime":
|
|
4318
4356
|
col(`table.timestamp('${name2}')`);
|
|
4319
4357
|
break;
|
|
4358
|
+
case "Time":
|
|
4359
|
+
col(`table.specificType('${name2}', 'time without time zone')`);
|
|
4360
|
+
break;
|
|
4320
4361
|
case "ID":
|
|
4321
4362
|
col(`table.uuid('${name2}')`);
|
|
4322
4363
|
break;
|
|
@@ -4409,6 +4450,11 @@ var MigrationGenerator = class _MigrationGenerator {
|
|
|
4409
4450
|
return true;
|
|
4410
4451
|
}
|
|
4411
4452
|
}
|
|
4453
|
+
if (field.type === "Time") {
|
|
4454
|
+
if (!["time without time zone", "time"].includes(col.data_type)) {
|
|
4455
|
+
return true;
|
|
4456
|
+
}
|
|
4457
|
+
}
|
|
4412
4458
|
}
|
|
4413
4459
|
return false;
|
|
4414
4460
|
}
|
|
@@ -4576,55 +4622,55 @@ var addPermissions = (models, permissions, links, block) => {
|
|
|
4576
4622
|
};
|
|
4577
4623
|
|
|
4578
4624
|
// src/schema/generate.ts
|
|
4579
|
-
var
|
|
4625
|
+
var import_graphql7 = require("graphql");
|
|
4580
4626
|
|
|
4581
4627
|
// src/schema/utils.ts
|
|
4582
4628
|
var import_dayjs2 = require("dayjs");
|
|
4583
|
-
var
|
|
4629
|
+
var import_graphql6 = require("graphql");
|
|
4584
4630
|
var import_luxon2 = require("luxon");
|
|
4585
4631
|
var document = (definitions) => ({
|
|
4586
|
-
kind:
|
|
4632
|
+
kind: import_graphql6.Kind.DOCUMENT,
|
|
4587
4633
|
definitions
|
|
4588
4634
|
});
|
|
4589
4635
|
var directive = (nme, locations, fields2) => ({
|
|
4590
4636
|
name: name(nme),
|
|
4591
4637
|
repeatable: false,
|
|
4592
|
-
kind:
|
|
4638
|
+
kind: import_graphql6.Kind.DIRECTIVE_DEFINITION,
|
|
4593
4639
|
arguments: fields2 && inputValues(fields2),
|
|
4594
4640
|
locations: locations.map(name)
|
|
4595
4641
|
});
|
|
4596
4642
|
var scalar = (nme) => ({
|
|
4597
4643
|
name: name(nme),
|
|
4598
|
-
kind:
|
|
4644
|
+
kind: import_graphql6.Kind.SCALAR_TYPE_DEFINITION
|
|
4599
4645
|
});
|
|
4600
4646
|
var input = (nme, fields2, dvs) => ({
|
|
4601
4647
|
name: name(nme),
|
|
4602
4648
|
fields: inputValues(fields2),
|
|
4603
|
-
kind:
|
|
4649
|
+
kind: import_graphql6.Kind.INPUT_OBJECT_TYPE_DEFINITION,
|
|
4604
4650
|
directives: directives(dvs)
|
|
4605
4651
|
});
|
|
4606
4652
|
var union = (nme, types) => ({
|
|
4607
4653
|
name: name(nme),
|
|
4608
|
-
kind:
|
|
4654
|
+
kind: import_graphql6.Kind.UNION_TYPE_DEFINITION,
|
|
4609
4655
|
types: types.map((t) => namedType(t))
|
|
4610
4656
|
});
|
|
4611
4657
|
var object = (nme, fds, interfaces, dvs) => ({
|
|
4612
4658
|
name: name(nme),
|
|
4613
4659
|
fields: fields(fds),
|
|
4614
|
-
kind:
|
|
4660
|
+
kind: import_graphql6.Kind.OBJECT_TYPE_DEFINITION,
|
|
4615
4661
|
interfaces: interfaces?.map((i) => namedType(i)),
|
|
4616
4662
|
directives: directives(dvs)
|
|
4617
4663
|
});
|
|
4618
4664
|
var iface = (nme, fds, interfaces, dvs) => ({
|
|
4619
4665
|
name: name(nme),
|
|
4620
4666
|
fields: fields(fds),
|
|
4621
|
-
kind:
|
|
4667
|
+
kind: import_graphql6.Kind.INTERFACE_TYPE_DEFINITION,
|
|
4622
4668
|
interfaces: interfaces?.map((i) => namedType(i)),
|
|
4623
4669
|
directives: directives(dvs)
|
|
4624
4670
|
});
|
|
4625
4671
|
var inputValues = (fields2) => fields2.map(
|
|
4626
4672
|
(field) => ({
|
|
4627
|
-
kind:
|
|
4673
|
+
kind: import_graphql6.Kind.INPUT_VALUE_DEFINITION,
|
|
4628
4674
|
name: name(field.name),
|
|
4629
4675
|
type: fieldType(field),
|
|
4630
4676
|
defaultValue: field.defaultValue === void 0 ? void 0 : value(field.defaultValue),
|
|
@@ -4633,11 +4679,11 @@ var inputValues = (fields2) => fields2.map(
|
|
|
4633
4679
|
);
|
|
4634
4680
|
var fields = (fields2) => fields2.map(
|
|
4635
4681
|
(field) => ({
|
|
4636
|
-
kind:
|
|
4682
|
+
kind: import_graphql6.Kind.FIELD_DEFINITION,
|
|
4637
4683
|
name: name(field.name),
|
|
4638
4684
|
type: fieldType(field),
|
|
4639
4685
|
arguments: field.args?.map((arg) => ({
|
|
4640
|
-
kind:
|
|
4686
|
+
kind: import_graphql6.Kind.INPUT_VALUE_DEFINITION,
|
|
4641
4687
|
name: name(arg.name),
|
|
4642
4688
|
type: fieldType(arg),
|
|
4643
4689
|
defaultValue: arg.defaultValue === void 0 ? void 0 : value(arg.defaultValue)
|
|
@@ -4648,49 +4694,49 @@ var fields = (fields2) => fields2.map(
|
|
|
4648
4694
|
var inputValue = (nme, type, dvs, description, defaultValue) => ({
|
|
4649
4695
|
name: name(nme),
|
|
4650
4696
|
type,
|
|
4651
|
-
kind:
|
|
4697
|
+
kind: import_graphql6.Kind.INPUT_VALUE_DEFINITION,
|
|
4652
4698
|
directives: directives(dvs),
|
|
4653
4699
|
defaultValue: defaultValue ? value(defaultValue) : void 0,
|
|
4654
4700
|
description: description ? value(description) : void 0
|
|
4655
4701
|
});
|
|
4656
4702
|
var directives = (directives2) => directives2?.map(
|
|
4657
4703
|
(directive2) => ({
|
|
4658
|
-
kind:
|
|
4704
|
+
kind: import_graphql6.Kind.DIRECTIVE,
|
|
4659
4705
|
name: name(directive2.name),
|
|
4660
4706
|
arguments: args(directive2.values)
|
|
4661
4707
|
})
|
|
4662
4708
|
);
|
|
4663
4709
|
var args = (ags) => ags?.map(
|
|
4664
4710
|
(argument) => ({
|
|
4665
|
-
kind:
|
|
4711
|
+
kind: import_graphql6.Kind.ARGUMENT,
|
|
4666
4712
|
name: name(argument.name),
|
|
4667
4713
|
value: value(argument.values)
|
|
4668
4714
|
})
|
|
4669
4715
|
);
|
|
4670
4716
|
var enm = (nme, values) => ({
|
|
4671
4717
|
name: name(nme),
|
|
4672
|
-
kind:
|
|
4718
|
+
kind: import_graphql6.Kind.ENUM_TYPE_DEFINITION,
|
|
4673
4719
|
values: values.map(
|
|
4674
4720
|
(v) => ({
|
|
4675
|
-
kind:
|
|
4721
|
+
kind: import_graphql6.Kind.ENUM_VALUE_DEFINITION,
|
|
4676
4722
|
name: name(v)
|
|
4677
4723
|
})
|
|
4678
4724
|
)
|
|
4679
4725
|
});
|
|
4680
4726
|
var nonNull = (type) => ({
|
|
4681
4727
|
type,
|
|
4682
|
-
kind:
|
|
4728
|
+
kind: import_graphql6.Kind.NON_NULL_TYPE
|
|
4683
4729
|
});
|
|
4684
4730
|
var namedType = (nme) => ({
|
|
4685
|
-
kind:
|
|
4731
|
+
kind: import_graphql6.Kind.NAMED_TYPE,
|
|
4686
4732
|
name: name(nme)
|
|
4687
4733
|
});
|
|
4688
4734
|
var list = (type) => ({
|
|
4689
4735
|
type,
|
|
4690
|
-
kind:
|
|
4736
|
+
kind: import_graphql6.Kind.LIST_TYPE
|
|
4691
4737
|
});
|
|
4692
4738
|
var name = (name2) => ({
|
|
4693
|
-
kind:
|
|
4739
|
+
kind: import_graphql6.Kind.NAME,
|
|
4694
4740
|
value: name2
|
|
4695
4741
|
});
|
|
4696
4742
|
var fieldType = (field) => {
|
|
@@ -4704,33 +4750,33 @@ var fieldType = (field) => {
|
|
|
4704
4750
|
return type;
|
|
4705
4751
|
};
|
|
4706
4752
|
var value = (val = null) => val === null ? {
|
|
4707
|
-
kind:
|
|
4753
|
+
kind: import_graphql6.Kind.NULL
|
|
4708
4754
|
} : typeof val === "boolean" ? {
|
|
4709
|
-
kind:
|
|
4755
|
+
kind: import_graphql6.Kind.BOOLEAN,
|
|
4710
4756
|
value: val
|
|
4711
4757
|
} : typeof val === "number" ? {
|
|
4712
|
-
kind:
|
|
4758
|
+
kind: import_graphql6.Kind.INT,
|
|
4713
4759
|
value: `${val}`
|
|
4714
4760
|
} : typeof val === "string" ? {
|
|
4715
|
-
kind:
|
|
4761
|
+
kind: import_graphql6.Kind.STRING,
|
|
4716
4762
|
value: val
|
|
4717
4763
|
} : val instanceof Symbol ? {
|
|
4718
|
-
kind:
|
|
4764
|
+
kind: import_graphql6.Kind.ENUM,
|
|
4719
4765
|
value: val.description
|
|
4720
4766
|
} : Array.isArray(val) ? {
|
|
4721
|
-
kind:
|
|
4767
|
+
kind: import_graphql6.Kind.LIST,
|
|
4722
4768
|
values: val.map(value)
|
|
4723
4769
|
} : val instanceof import_luxon2.DateTime ? {
|
|
4724
|
-
kind:
|
|
4770
|
+
kind: import_graphql6.Kind.STRING,
|
|
4725
4771
|
value: val.toString()
|
|
4726
4772
|
} : val instanceof import_dayjs2.Dayjs ? {
|
|
4727
|
-
kind:
|
|
4773
|
+
kind: import_graphql6.Kind.STRING,
|
|
4728
4774
|
value: val.toISOString()
|
|
4729
4775
|
} : typeof val === "object" ? {
|
|
4730
|
-
kind:
|
|
4776
|
+
kind: import_graphql6.Kind.OBJECT,
|
|
4731
4777
|
fields: Object.keys(val).map(
|
|
4732
4778
|
(nme) => ({
|
|
4733
|
-
kind:
|
|
4779
|
+
kind: import_graphql6.Kind.OBJECT_FIELD,
|
|
4734
4780
|
name: name(nme),
|
|
4735
4781
|
value: value(val[nme])
|
|
4736
4782
|
})
|
|
@@ -5010,12 +5056,12 @@ var generateDefinitions = ({
|
|
|
5010
5056
|
};
|
|
5011
5057
|
var generate = (models) => document(generateDefinitions(models));
|
|
5012
5058
|
var printSchema = (schema) => [
|
|
5013
|
-
...schema.getDirectives().map((d) => d.astNode && (0,
|
|
5014
|
-
...Object.values(schema.getTypeMap()).filter((t) => !t.name.match(/^__/)).sort((a, b) => a.name > b.name ? 1 : -1).map((t) => t.astNode && (0,
|
|
5059
|
+
...schema.getDirectives().map((d) => d.astNode && (0, import_graphql7.print)(d.astNode)),
|
|
5060
|
+
...Object.values(schema.getTypeMap()).filter((t) => !t.name.match(/^__/)).sort((a, b) => a.name > b.name ? 1 : -1).map((t) => t.astNode && (0, import_graphql7.print)(t.astNode))
|
|
5015
5061
|
].filter(Boolean).map((s) => `${s}
|
|
5016
5062
|
`).join("\n");
|
|
5017
|
-
var printSchemaFromDocument = (document2) => printSchema((0,
|
|
5018
|
-
var printSchemaFromModels = (models) => printSchema((0,
|
|
5063
|
+
var printSchemaFromDocument = (document2) => printSchema((0, import_graphql7.buildASTSchema)(document2));
|
|
5064
|
+
var printSchemaFromModels = (models) => printSchema((0, import_graphql7.buildASTSchema)(generate(models)));
|
|
5019
5065
|
// Annotate the CommonJS export names for ESM import in node:
|
|
5020
5066
|
0 && (module.exports = {
|
|
5021
5067
|
ACTIONS,
|
|
@@ -7,6 +7,7 @@ export declare const PRIMITIVE_TYPES: {
|
|
|
7
7
|
Int: string;
|
|
8
8
|
Float: string;
|
|
9
9
|
String: string;
|
|
10
|
+
Time: string;
|
|
10
11
|
};
|
|
11
12
|
export declare const generateDBModels: (models: Models, dateLibrary: DateLibrary) => string;
|
|
12
13
|
export declare const generateKnexTables: (models: Models) => string;
|
package/dist/esm/db/generate.js
CHANGED
|
@@ -8,6 +8,7 @@ export const PRIMITIVE_TYPES = {
|
|
|
8
8
|
Int: 'number',
|
|
9
9
|
Float: 'number',
|
|
10
10
|
String: 'string',
|
|
11
|
+
Time: 'string',
|
|
11
12
|
};
|
|
12
13
|
const OPTIONAL_SEED_FIELDS = ['createdAt', 'createdById', 'updatedAt', 'updatedById', 'deletedAt', 'deletedById'];
|
|
13
14
|
export const generateDBModels = (models, dateLibrary) => {
|
|
@@ -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,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;AAE3H,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;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/db/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1195,6 +1195,9 @@ export class MigrationGenerator {
|
|
|
1195
1195
|
case 'DateTime':
|
|
1196
1196
|
col(`table.timestamp('${name}')`);
|
|
1197
1197
|
break;
|
|
1198
|
+
case 'Time':
|
|
1199
|
+
col(`table.specificType('${name}', 'time without time zone')`);
|
|
1200
|
+
break;
|
|
1198
1201
|
case 'ID':
|
|
1199
1202
|
col(`table.uuid('${name}')`);
|
|
1200
1203
|
break;
|
|
@@ -1288,6 +1291,11 @@ export class MigrationGenerator {
|
|
|
1288
1291
|
return true;
|
|
1289
1292
|
}
|
|
1290
1293
|
}
|
|
1294
|
+
if (field.type === 'Time') {
|
|
1295
|
+
if (!['time without time zone', 'time'].includes(col.data_type)) {
|
|
1296
|
+
return true;
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1291
1299
|
}
|
|
1292
1300
|
return false;
|
|
1293
1301
|
}
|