@voxgig/apidef 8.13.0 → 8.14.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/dist/apidef.d.ts +2 -2
- package/dist/apidef.js +2 -2
- package/dist/apidef.js.map +1 -1
- package/dist/builder/entity/entity.d.ts +5 -1
- package/dist/builder/entity/entity.js +17 -1
- package/dist/builder/entity/entity.js.map +1 -1
- package/dist/builder/flow/flowHeuristic01.js +14 -14
- package/dist/builder/flow/flowHeuristic01.js.map +1 -1
- package/dist/model.d.ts +35 -33
- package/dist/resolved.d.ts +10 -6
- package/dist/resolved.js +65 -15
- package/dist/resolved.js.map +1 -1
- package/dist/transform/args.js +19 -19
- package/dist/transform/args.js.map +1 -1
- package/dist/transform/clean.js +4 -0
- package/dist/transform/clean.js.map +1 -1
- package/dist/transform/contract.d.ts +0 -2
- package/dist/transform/contract.js +6 -75
- package/dist/transform/contract.js.map +1 -1
- package/dist/transform/entity.d.ts +2 -1
- package/dist/transform/entity.js +13 -1
- package/dist/transform/entity.js.map +1 -1
- package/dist/transform/field.js +64 -64
- package/dist/transform/field.js.map +1 -1
- package/dist/transform/flowstep.js +42 -42
- package/dist/transform/flowstep.js.map +1 -1
- package/dist/transform/graphql.js +8 -8
- package/dist/transform/graphql.js.map +1 -1
- package/dist/transform/operation.js +9 -9
- package/dist/transform/operation.js.map +1 -1
- package/dist/transform/select.js +13 -13
- package/dist/transform/select.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/utility.d.ts +2 -1
- package/dist/utility.js +5 -0
- package/dist/utility.js.map +1 -1
- package/model/apidef.aon +128 -157
- package/model/guide.aon +3 -2
- package/package.json +5 -3
- package/src/apidef.ts +4 -3
- package/src/builder/entity/entity.ts +18 -1
- package/src/builder/flow/flowHeuristic01.ts +14 -14
- package/src/model.ts +36 -37
- package/src/resolved.ts +62 -17
- package/src/transform/args.ts +20 -20
- package/src/transform/clean.ts +5 -0
- package/src/transform/contract.ts +6 -71
- package/src/transform/entity.ts +13 -1
- package/src/transform/field.ts +66 -69
- package/src/transform/flowstep.ts +42 -42
- package/src/transform/graphql.ts +8 -8
- package/src/transform/operation.ts +9 -9
- package/src/transform/select.ts +13 -13
- package/src/types.ts +1 -1
- package/src/utility.ts +7 -0
package/dist/transform/field.js
CHANGED
|
@@ -13,7 +13,6 @@ const fieldTransform = async function (ctx) {
|
|
|
13
13
|
const opFieldPrecedence = ['load', 'create', 'update', 'patch', 'list'];
|
|
14
14
|
(0, jostraca_1.each)(kit.entity, (ment, _entname) => {
|
|
15
15
|
const fields = ment.fields;
|
|
16
|
-
const seen = {};
|
|
17
16
|
for (let opname of opFieldPrecedence) {
|
|
18
17
|
const mop = ment.op[opname];
|
|
19
18
|
if (mop) {
|
|
@@ -21,59 +20,54 @@ const fieldTransform = async function (ctx) {
|
|
|
21
20
|
for (let mpoint of mpoints) {
|
|
22
21
|
const opfields = resolveOpFields(ment, mop, mpoint, def);
|
|
23
22
|
for (let opfield of opfields) {
|
|
24
|
-
if (!
|
|
25
|
-
fields.
|
|
26
|
-
seen[opfield.name] = opfield;
|
|
23
|
+
if (!Object.prototype.hasOwnProperty.call(fields, opfield.n)) {
|
|
24
|
+
fields[opfield.n] = opfield;
|
|
27
25
|
}
|
|
28
26
|
else {
|
|
29
|
-
mergeField(mop,
|
|
27
|
+
mergeField(mop, fields[opfield.n], opfield);
|
|
30
28
|
}
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
|
-
fields.sort((a, b) => {
|
|
36
|
-
return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
|
|
37
|
-
});
|
|
38
33
|
const gent = guide?.entity?.[ment.name];
|
|
39
34
|
const composite = compositeId(ment, gent, def);
|
|
40
|
-
const idField = fields.
|
|
35
|
+
const idField = fields.id;
|
|
41
36
|
if (null != composite.parts && null != idField && !scalarStringField(idField)) {
|
|
42
37
|
const idf = idField;
|
|
43
38
|
const apiname = String(model?.name || 'api');
|
|
44
39
|
const keep = apiname + '_id';
|
|
45
|
-
if (!
|
|
40
|
+
if (!Object.prototype.hasOwnProperty.call(fields, keep)) {
|
|
46
41
|
// A DEEP COPY, because the move is followed by deletions on the
|
|
47
42
|
// original. A spread shares the `op` object, so clearing the stale
|
|
48
43
|
// per-op `type` off `id` cleared it off the preserved field too —
|
|
49
44
|
// the preservation preserved nothing for exactly the key it was
|
|
50
45
|
// added to keep.
|
|
51
|
-
fields
|
|
46
|
+
fields[keep] = JSON.parse(JSON.stringify({ ...idf, n: keep }));
|
|
52
47
|
const alias = (ment.alias = ment.alias || {});
|
|
53
48
|
alias.field = alias.field || {};
|
|
54
49
|
alias.field[keep] = 'id';
|
|
55
50
|
}
|
|
56
|
-
idf.
|
|
57
|
-
// The facts that described the moved type go with it: `
|
|
51
|
+
idf.t = '`$STRING`';
|
|
52
|
+
// The facts that described the moved type go with it: `fo: int64`
|
|
58
53
|
// beside a string, or a per-op `type` override still saying integer,
|
|
59
54
|
// is a model contradicting itself — and the op override is what a
|
|
60
55
|
// generator reads for that op.
|
|
61
|
-
delete idf.
|
|
56
|
+
delete idf.fo;
|
|
62
57
|
for (const opname of Object.keys(idf.op || {})) {
|
|
63
58
|
delete idf.op[opname].type;
|
|
64
59
|
}
|
|
65
|
-
fields.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0);
|
|
66
60
|
}
|
|
67
61
|
if (null != composite.parts && null == idField) {
|
|
68
62
|
// The FIELD as well as the descriptor, for the reason the branch below
|
|
69
63
|
// documents: a model that declares the descriptor without the field
|
|
70
64
|
// makes the generated type disagree with the generated test.
|
|
71
|
-
fields.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
65
|
+
fields.id = {
|
|
66
|
+
n: 'id',
|
|
67
|
+
h: (0, utility_1.humanTitle)('id'),
|
|
68
|
+
t: '`$STRING`',
|
|
69
|
+
r: false,
|
|
70
|
+
};
|
|
77
71
|
}
|
|
78
72
|
const singleKey = composite.single;
|
|
79
73
|
delete composite.single;
|
|
@@ -81,25 +75,30 @@ const fieldTransform = async function (ctx) {
|
|
|
81
75
|
// The guide disabled composite; the terminal parameter is the key, and
|
|
82
76
|
// the entity needs the field to carry it for the same reason the
|
|
83
77
|
// composite branch above does.
|
|
84
|
-
fields.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
78
|
+
fields.id = {
|
|
79
|
+
n: 'id',
|
|
80
|
+
h: (0, utility_1.humanTitle)('id'),
|
|
81
|
+
t: '`$STRING`',
|
|
82
|
+
r: false,
|
|
83
|
+
};
|
|
90
84
|
}
|
|
91
85
|
if (idField || null != composite.parts || null != singleKey) {
|
|
92
86
|
ment.id = { name: 'id', field: 'id', ...composite };
|
|
93
87
|
}
|
|
94
88
|
else if (addressedById(ment)) {
|
|
95
|
-
fields.
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
89
|
+
fields.id = {
|
|
90
|
+
n: 'id',
|
|
91
|
+
h: (0, utility_1.humanTitle)('id'),
|
|
92
|
+
t: '`$STRING`',
|
|
93
|
+
r: false,
|
|
94
|
+
};
|
|
101
95
|
ment.id = { name: 'id', field: 'id', ...composite };
|
|
102
96
|
}
|
|
97
|
+
ment.fields = Object.fromEntries(Object.keys(fields).sort().map(n => {
|
|
98
|
+
const field = fields[n];
|
|
99
|
+
field.h = (0, utility_1.humanTitle)(field.n);
|
|
100
|
+
return [n, field];
|
|
101
|
+
}));
|
|
103
102
|
msg += ment.name + ' ';
|
|
104
103
|
});
|
|
105
104
|
return { ok: true, msg };
|
|
@@ -116,7 +115,7 @@ const NESTED_ID_KEYS = ['login', 'slug', 'name', 'key', 'id'];
|
|
|
116
115
|
// tie-break: identityParams compares candidates from all of them.
|
|
117
116
|
const ID_OPS = ['load', 'update', 'patch', 'remove'];
|
|
118
117
|
function trailingVars(point) {
|
|
119
|
-
const segs = (point?.
|
|
118
|
+
const segs = (point?.s || []).filter((s) => null != s);
|
|
120
119
|
const run = [];
|
|
121
120
|
for (let i = segs.length - 1; 0 <= i; i--) {
|
|
122
121
|
if (null == segs[i].var) {
|
|
@@ -135,7 +134,7 @@ function identityParams(ment) {
|
|
|
135
134
|
}
|
|
136
135
|
// Action points are verbs dispatched by `$action`, not addresses.
|
|
137
136
|
for (const pt of (mop.points || [])) {
|
|
138
|
-
if (null != pt?.
|
|
137
|
+
if (null != pt?.q?.['$action']) {
|
|
139
138
|
continue;
|
|
140
139
|
}
|
|
141
140
|
const run = trailingVars(pt);
|
|
@@ -145,7 +144,7 @@ function identityParams(ment) {
|
|
|
145
144
|
cands.push({
|
|
146
145
|
run,
|
|
147
146
|
// Segments BEFORE the run: how much parent scope the route needs.
|
|
148
|
-
scope: ((pt.
|
|
147
|
+
scope: ((pt.s || []).length - run.length),
|
|
149
148
|
own: 'id' === run[run.length - 1] ||
|
|
150
149
|
ment.name + '_id' === run[run.length - 1],
|
|
151
150
|
order: o,
|
|
@@ -213,11 +212,11 @@ function responseCandidates(ment, def) {
|
|
|
213
212
|
const mop = ment.op?.[opname];
|
|
214
213
|
for (const mpoint of (mop?.points || [])) {
|
|
215
214
|
// An action point's response is not the entity.
|
|
216
|
-
if (null != mpoint?.
|
|
215
|
+
if (null != mpoint?.q?.['$action']) {
|
|
217
216
|
continue;
|
|
218
217
|
}
|
|
219
|
-
const path = (def?.paths || {})[mpoint?.
|
|
220
|
-
const method = String(mpoint?.
|
|
218
|
+
const path = (def?.paths || {})[mpoint?.o];
|
|
219
|
+
const method = String(mpoint?.m || '').toLowerCase();
|
|
221
220
|
const responses = path?.[method]?.responses || {};
|
|
222
221
|
for (const code of Object.keys(responses)) {
|
|
223
222
|
if (!/^2/.test(code)) {
|
|
@@ -289,15 +288,15 @@ function partAliases(ment, part) {
|
|
|
289
288
|
const names = new Set([part]);
|
|
290
289
|
(0, jostraca_1.each)(ment.op, (mop) => {
|
|
291
290
|
(0, jostraca_1.each)(mop?.points, (mpoint) => {
|
|
292
|
-
const rename = mpoint?.
|
|
291
|
+
const rename = mpoint?.r?.param || {};
|
|
293
292
|
for (const orig of Object.keys(rename)) {
|
|
294
293
|
if (String(rename[orig]) === part) {
|
|
295
294
|
names.add(orig);
|
|
296
295
|
}
|
|
297
296
|
}
|
|
298
|
-
for (const arg of (mpoint?.
|
|
299
|
-
if (null != arg && arg.
|
|
300
|
-
names.add(String(arg.
|
|
297
|
+
for (const arg of (mpoint?.g?.params || [])) {
|
|
298
|
+
if (null != arg && arg.n === part && null != arg.or) {
|
|
299
|
+
names.add(String(arg.or));
|
|
301
300
|
}
|
|
302
301
|
}
|
|
303
302
|
});
|
|
@@ -358,7 +357,7 @@ function identityFrom(ment, parts, def) {
|
|
|
358
357
|
// Is this model field declared as a string? A composite id is the parts
|
|
359
358
|
// joined, so the field that holds it has to be one.
|
|
360
359
|
function scalarStringField(f) {
|
|
361
|
-
return String(f?.
|
|
360
|
+
return String(f?.t || '').toUpperCase().includes('STRING');
|
|
362
361
|
}
|
|
363
362
|
function singleKeyOf(ment, parts) {
|
|
364
363
|
if (0 === parts.length) {
|
|
@@ -411,8 +410,8 @@ function addressedById(ment) {
|
|
|
411
410
|
let found = false;
|
|
412
411
|
(0, jostraca_1.each)(ment.op, (mop) => {
|
|
413
412
|
(0, jostraca_1.each)(mop?.points, (mpoint) => {
|
|
414
|
-
(0, jostraca_1.each)(mpoint?.
|
|
415
|
-
if (param && 'id' === param.
|
|
413
|
+
(0, jostraca_1.each)(mpoint?.g?.params, (param) => {
|
|
414
|
+
if (param && 'id' === param.n) {
|
|
416
415
|
found = true;
|
|
417
416
|
}
|
|
418
417
|
});
|
|
@@ -430,21 +429,22 @@ function resolveOpFields(ment, mop, mpoint, def) {
|
|
|
430
429
|
// items -> item, so the SDK read keys the server never sends.
|
|
431
430
|
const name = (0, utility_1.canonizeField)((0, utility_1.normalizeFieldName)(fieldname));
|
|
432
431
|
const mfield = {
|
|
433
|
-
name,
|
|
434
|
-
|
|
435
|
-
|
|
432
|
+
n: name,
|
|
433
|
+
h: (0, utility_1.humanTitle)(name),
|
|
434
|
+
t: (0, utility_1.inferFieldType)(name, (0, utility_1.validator)(fielddef.type)),
|
|
435
|
+
r: !!fielddef.required,
|
|
436
436
|
op: {},
|
|
437
437
|
};
|
|
438
438
|
const fdesc = fielddef.description;
|
|
439
439
|
if ('string' === typeof fdesc && '' !== fdesc.trim()) {
|
|
440
440
|
const short = (0, utility_1.firstSentence)(fdesc);
|
|
441
441
|
if ('' !== short) {
|
|
442
|
-
mfield.
|
|
442
|
+
mfield.sh = short;
|
|
443
443
|
}
|
|
444
444
|
}
|
|
445
|
-
for (const flag of ['readOnly', 'writeOnly', 'deprecated']) {
|
|
445
|
+
for (const [flag, attr] of [['readOnly', 'ro'], ['writeOnly', 'wo'], ['deprecated', 'de']]) {
|
|
446
446
|
if (true === fielddef[flag]) {
|
|
447
|
-
mfield[
|
|
447
|
+
mfield[attr] = true;
|
|
448
448
|
}
|
|
449
449
|
}
|
|
450
450
|
// `format` is an open vocabulary — OpenAPI defines a handful and lets a
|
|
@@ -452,7 +452,7 @@ function resolveOpFields(ment, mop, mpoint, def) {
|
|
|
452
452
|
// interpreted here. `password` is the one a generator acts on today.
|
|
453
453
|
const ffmt = fielddef.format;
|
|
454
454
|
if ('string' === typeof ffmt && '' !== ffmt.trim()) {
|
|
455
|
-
mfield.
|
|
455
|
+
mfield.fo = ffmt.trim();
|
|
456
456
|
}
|
|
457
457
|
// Record an untagged union under this field. The field is already typed
|
|
458
458
|
// openly ($ANY/$ARRAY/$OBJECT) because there is nothing to narrow it to;
|
|
@@ -472,7 +472,7 @@ function resolveOpFields(ment, mop, mpoint, def) {
|
|
|
472
472
|
// operation using the fragment fail GraphQL validation), plus one id-stub
|
|
473
473
|
// reference per to-one relation.
|
|
474
474
|
function findGraphqlFieldDefs(ment, mpoint, def) {
|
|
475
|
-
const typeName = mpoint.
|
|
475
|
+
const typeName = mpoint.gq?.entityType$ ??
|
|
476
476
|
ment.orig$ ?? '';
|
|
477
477
|
const gtype = def.types?.[typeName];
|
|
478
478
|
if (null == gtype) {
|
|
@@ -522,14 +522,14 @@ function gqlFieldType(typeName) {
|
|
|
522
522
|
undefined;
|
|
523
523
|
}
|
|
524
524
|
function findFieldDefs(ment, mop, mpoint, def) {
|
|
525
|
-
if ('graphql' === mpoint.
|
|
525
|
+
if ('graphql' === mpoint.k) {
|
|
526
526
|
return findGraphqlFieldDefs(ment, mpoint, def);
|
|
527
527
|
}
|
|
528
528
|
// A verb, rather than an address: see the call site in the transform.
|
|
529
|
-
const isAction = null != mpoint?.
|
|
529
|
+
const isAction = null != mpoint?.q?.['$action'];
|
|
530
530
|
const fielddefs = [];
|
|
531
|
-
const pathdef = def.paths[mpoint.
|
|
532
|
-
const method = mpoint.
|
|
531
|
+
const pathdef = def.paths[mpoint.o];
|
|
532
|
+
const method = mpoint.m.toLowerCase();
|
|
533
533
|
const opdef = pathdef?.[method];
|
|
534
534
|
if (opdef) {
|
|
535
535
|
const responses = opdef.responses;
|
|
@@ -717,16 +717,16 @@ function inferTypeFromValue(value) {
|
|
|
717
717
|
return 'string';
|
|
718
718
|
}
|
|
719
719
|
function mergeField(mop, existingField, newField) {
|
|
720
|
-
if (newField.
|
|
720
|
+
if (newField.r !== existingField.r) {
|
|
721
721
|
existingField.op[mop.name] = {
|
|
722
|
-
req: newField.
|
|
723
|
-
type: newField.
|
|
722
|
+
req: newField.r,
|
|
723
|
+
type: newField.t,
|
|
724
724
|
};
|
|
725
725
|
}
|
|
726
|
-
if (null == existingField.
|
|
727
|
-
existingField.
|
|
726
|
+
if (null == existingField.sh && null != newField.sh) {
|
|
727
|
+
existingField.sh = newField.sh;
|
|
728
728
|
}
|
|
729
|
-
for (const flag of ['
|
|
729
|
+
for (const flag of ['ro', 'wo', 'de', 'fo']) {
|
|
730
730
|
if (null == existingField[flag] && null != newField[flag]) {
|
|
731
731
|
existingField[flag] = newField[flag];
|
|
732
732
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/transform/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,22 +4,22 @@ exports.flowstepTransform = void 0;
|
|
|
4
4
|
const jostraca_1 = require("jostraca");
|
|
5
5
|
const struct_1 = require("@voxgig/struct");
|
|
6
6
|
function isEntityIdParam(point, param, opname) {
|
|
7
|
-
if ('id' === param?.
|
|
7
|
+
if ('id' === param?.n)
|
|
8
8
|
return true;
|
|
9
|
-
const renameMap = point?.
|
|
10
|
-
if (renameMap && param?.
|
|
11
|
-
const camel = (0, jostraca_1.lcf)((0, jostraca_1.camelify)(param.
|
|
9
|
+
const renameMap = point?.r?.param;
|
|
10
|
+
if (renameMap && param?.n) {
|
|
11
|
+
const camel = (0, jostraca_1.lcf)((0, jostraca_1.camelify)(param.n));
|
|
12
12
|
if ('id' === renameMap[camel])
|
|
13
13
|
return true;
|
|
14
14
|
}
|
|
15
15
|
if ('update' === opname || 'load' === opname || 'remove' === opname) {
|
|
16
|
-
const segments = point?.
|
|
16
|
+
const segments = point?.s || [];
|
|
17
17
|
let last = null;
|
|
18
18
|
for (const s of segments) {
|
|
19
19
|
if (null != s?.var)
|
|
20
20
|
last = s.var;
|
|
21
21
|
}
|
|
22
|
-
if (last && last === param?.
|
|
22
|
+
if (last && last === param?.n)
|
|
23
23
|
return true;
|
|
24
24
|
}
|
|
25
25
|
return false;
|
|
@@ -41,7 +41,7 @@ const flowstepTransform = async function (ctx) {
|
|
|
41
41
|
updateStep(opmap, flow, ent, {
|
|
42
42
|
input: {
|
|
43
43
|
ref: ref01,
|
|
44
|
-
textfield: firsttf?.
|
|
44
|
+
textfield: firsttf?.n,
|
|
45
45
|
suffix: '_up0',
|
|
46
46
|
srcdatavar: ref01 + '_data'
|
|
47
47
|
},
|
|
@@ -80,12 +80,12 @@ const flowstepTransform = async function (ctx) {
|
|
|
80
80
|
exports.flowstepTransform = flowstepTransform;
|
|
81
81
|
function newFlowStep(opname, args) {
|
|
82
82
|
return {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
o: opname,
|
|
84
|
+
i: args.input ?? {},
|
|
85
|
+
m: args.match ?? {},
|
|
86
|
+
d: args.data ?? {},
|
|
87
|
+
s: args.spec ?? [],
|
|
88
|
+
v: args.valid ?? [],
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
// Reverse-lookup: given a point with rename.param like {spaceId: 'id'} or
|
|
@@ -94,7 +94,7 @@ function newFlowStep(opname, args) {
|
|
|
94
94
|
// rename-to-id is recorded — the literal `id` then represents the entity's
|
|
95
95
|
// own id and createStep should skip it.
|
|
96
96
|
function originalSnakeNameOfRenamedId(point) {
|
|
97
|
-
const renameMap = point?.
|
|
97
|
+
const renameMap = point?.r?.param || {};
|
|
98
98
|
for (const [src, dst] of Object.entries(renameMap)) {
|
|
99
99
|
if ('id' === dst) {
|
|
100
100
|
const srcStr = String(src);
|
|
@@ -109,17 +109,17 @@ const createStep = (opmap, flow, ent, args) => {
|
|
|
109
109
|
// Use last point as most generic
|
|
110
110
|
const point = (0, struct_1.getelem)(opmap.create.points, -1);
|
|
111
111
|
const step = newFlowStep('create', args);
|
|
112
|
-
(0, jostraca_1.each)(point.
|
|
113
|
-
if ('id' === param.
|
|
112
|
+
(0, jostraca_1.each)(point.g.params, (param) => {
|
|
113
|
+
if ('id' === param.n) {
|
|
114
114
|
const origName = originalSnakeNameOfRenamedId(point);
|
|
115
115
|
if (origName) {
|
|
116
|
-
step.
|
|
116
|
+
step.m[origName] = args.input?.[origName] ?? origName.replace(/_id/, '') + '01';
|
|
117
117
|
}
|
|
118
118
|
// If there's no rename-from, this is genuinely the entity's id — skip
|
|
119
119
|
// (the create call generates it).
|
|
120
120
|
return;
|
|
121
121
|
}
|
|
122
|
-
step.
|
|
122
|
+
step.m[param.n] = args.input?.[param.n] ?? param.n.replace(/_id/, '') + '01';
|
|
123
123
|
});
|
|
124
124
|
seedRelatedOpParams(opmap, point, step);
|
|
125
125
|
flow.step.push(step);
|
|
@@ -132,18 +132,18 @@ function seedRelatedOpParams(opmap, createPoint, step) {
|
|
|
132
132
|
if (!op?.points)
|
|
133
133
|
continue;
|
|
134
134
|
for (const point of op.points) {
|
|
135
|
-
const params = point?.
|
|
135
|
+
const params = point?.g?.params || [];
|
|
136
136
|
for (const param of params) {
|
|
137
|
-
if (!param?.
|
|
137
|
+
if (!param?.n)
|
|
138
138
|
continue;
|
|
139
139
|
if (isEntityIdParam(point, param, opname))
|
|
140
140
|
continue;
|
|
141
|
-
if (step.
|
|
141
|
+
if (step.m[param.n] !== undefined)
|
|
142
142
|
continue;
|
|
143
|
-
if ('id' === param.
|
|
143
|
+
if ('id' === param.n)
|
|
144
144
|
continue;
|
|
145
|
-
step.
|
|
146
|
-
param.
|
|
145
|
+
step.m[param.n] =
|
|
146
|
+
param.n.replace(/_id/, '') + '01';
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
}
|
|
@@ -153,15 +153,15 @@ const listStep = (opmap, flow, ent, args) => {
|
|
|
153
153
|
// Use last point as most generic
|
|
154
154
|
const point = (0, struct_1.getelem)(opmap.list.points, -1);
|
|
155
155
|
const step = newFlowStep('list', args);
|
|
156
|
-
(0, jostraca_1.each)(point.
|
|
157
|
-
if ('id' === param.
|
|
156
|
+
(0, jostraca_1.each)(point.g.params, (param) => {
|
|
157
|
+
if ('id' === param.n) {
|
|
158
158
|
const origName = originalSnakeNameOfRenamedId(point);
|
|
159
159
|
if (origName) {
|
|
160
|
-
step.
|
|
160
|
+
step.m[origName] = args.input?.[origName] ?? origName.replace(/_id/, '') + '01';
|
|
161
161
|
}
|
|
162
162
|
return;
|
|
163
163
|
}
|
|
164
|
-
step.
|
|
164
|
+
step.m[param.n] = args.input?.[param.n] ?? param.n.replace(/_id/, '') + '01';
|
|
165
165
|
});
|
|
166
166
|
flow.step.push(step);
|
|
167
167
|
}
|
|
@@ -171,13 +171,13 @@ const updateStep = (opmap, flow, ent, args) => {
|
|
|
171
171
|
// Use last point as most generic
|
|
172
172
|
const point = (0, struct_1.getelem)(opmap.update.points, -1);
|
|
173
173
|
const step = newFlowStep('update', args);
|
|
174
|
-
(0, jostraca_1.each)(point.
|
|
174
|
+
(0, jostraca_1.each)(point.g.params, (param) => {
|
|
175
175
|
if (isEntityIdParam(point, param, 'update')) {
|
|
176
176
|
// Entity's own id — supplied at test time via the loaded/created
|
|
177
177
|
// entity's id field, not as a separate body parameter. Skip.
|
|
178
178
|
return;
|
|
179
179
|
}
|
|
180
|
-
step.
|
|
180
|
+
step.d[param.n] = args.input?.[param.n] ?? param.n.replace(/_id/, '') + '01';
|
|
181
181
|
});
|
|
182
182
|
flow.step.push(step);
|
|
183
183
|
}
|
|
@@ -187,12 +187,12 @@ const loadStep = (opmap, flow, ent, args) => {
|
|
|
187
187
|
// Use last point as most generic
|
|
188
188
|
const point = (0, struct_1.getelem)(opmap.load.points, -1);
|
|
189
189
|
const step = newFlowStep('load', args);
|
|
190
|
-
(0, jostraca_1.each)(point.
|
|
190
|
+
(0, jostraca_1.each)(point.g.params, (param) => {
|
|
191
191
|
if (isEntityIdParam(point, param, 'load')) {
|
|
192
|
-
step.
|
|
192
|
+
step.m.id = args.input?.id ?? ent.name + '01';
|
|
193
193
|
}
|
|
194
194
|
else {
|
|
195
|
-
step.
|
|
195
|
+
step.m[param.n] = args.input?.[param.n] ?? param.n.replace(/_id/, '') + '01';
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
198
|
flow.step.push(step);
|
|
@@ -207,12 +207,12 @@ const removeStep = (opmap, flow, ent, args) => {
|
|
|
207
207
|
// Use last point as most generic
|
|
208
208
|
const point = (0, struct_1.getelem)(opmap.remove.points, -1);
|
|
209
209
|
const step = newFlowStep('remove', args);
|
|
210
|
-
(0, jostraca_1.each)(point.
|
|
210
|
+
(0, jostraca_1.each)(point.g.params, (param) => {
|
|
211
211
|
if (isEntityIdParam(point, param, 'remove')) {
|
|
212
|
-
step.
|
|
212
|
+
step.m.id = args.input?.id ?? ent.name + '01';
|
|
213
213
|
}
|
|
214
214
|
else {
|
|
215
|
-
step.
|
|
215
|
+
step.m[param.n] = args.input?.[param.n] ?? param.n.replace(/_id/, '') + '01';
|
|
216
216
|
}
|
|
217
217
|
});
|
|
218
218
|
flow.step.push(step);
|
|
@@ -221,13 +221,13 @@ const removeStep = (opmap, flow, ent, args) => {
|
|
|
221
221
|
function firstTextField(ent, op) {
|
|
222
222
|
const paramNames = {};
|
|
223
223
|
(0, jostraca_1.each)(op?.points).forEach((pt) => {
|
|
224
|
-
(0, jostraca_1.each)(pt?.
|
|
225
|
-
if (p && null != p.
|
|
226
|
-
paramNames[p.
|
|
224
|
+
(0, jostraca_1.each)(pt?.g?.params).forEach((p) => {
|
|
225
|
+
if (p && null != p.n) {
|
|
226
|
+
paramNames[p.n] = true;
|
|
227
227
|
}
|
|
228
228
|
});
|
|
229
229
|
});
|
|
230
|
-
const fields = (
|
|
230
|
+
const fields = Object.keys(ent.fields).sort().map(n => ent.fields[n]);
|
|
231
231
|
for (let fI = 0; fI < fields.length; fI++) {
|
|
232
232
|
const field = fields[fI];
|
|
233
233
|
// NOT A readOnly FIELD. The flow writes this one and then asserts the
|
|
@@ -235,8 +235,8 @@ function firstTextField(ent, op) {
|
|
|
235
235
|
// was chosen for. Fields are sorted by name, so which field this lands on
|
|
236
236
|
// is alphabetical accident: solar's planet, once its spec declared the
|
|
237
237
|
// server-assigned `forbidReason`, marked that instead of `kind`.
|
|
238
|
-
if ('`$STRING`' === field.
|
|
239
|
-
true !== field.
|
|
238
|
+
if ('`$STRING`' === field.t && 'id' !== field.n &&
|
|
239
|
+
true !== field.ro && true !== paramNames[field.n]) {
|
|
240
240
|
return field;
|
|
241
241
|
}
|
|
242
242
|
}
|