remult 0.25.5-exp.2 → 0.25.5-exp.21
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/esm/graphql.js +87 -64
- package/esm/index.js +1 -0
- package/esm/package.json +1 -1
- package/esm/remult-fastify.js +3 -0
- package/esm/remult-hapi.js +3 -0
- package/esm/remult-knex/index.js +22 -5
- package/esm/remult-next.js +8 -0
- package/esm/remult-nuxt.js +3 -0
- package/esm/remult-sveltekit.js +63 -42
- package/esm/server/expressBridge.js +25 -0
- package/esm/server/get-remult-admin-html.js +3 -0
- package/esm/server/remult-admin.js +92 -0
- package/esm/src/remult-static.js +2 -1
- package/esm/src/remult3/Fields.js +7 -1
- package/esm/src/remult3/RepositoryImplementation.js +9 -5
- package/esm/src/remult3/remult3.js +47 -12
- package/esm/src/server-action.js +16 -11
- package/esm/src/sort.js +1 -1
- package/graphql.js +154 -99
- package/index.d.ts +1 -0
- package/index.js +3 -1
- package/internals.d.ts +1 -1
- package/package.json +1 -1
- package/remult-fastify.js +3 -0
- package/remult-hapi.js +3 -0
- package/remult-knex/index.js +73 -49
- package/remult-next.js +8 -0
- package/remult-nuxt.js +3 -0
- package/remult-sveltekit.d.ts +5 -1
- package/remult-sveltekit.js +85 -56
- package/server/expressBridge.d.ts +8 -0
- package/server/expressBridge.js +39 -0
- package/server/get-remult-admin-html.d.ts +1 -0
- package/server/get-remult-admin-html.js +7 -0
- package/server/remult-admin.d.ts +36 -0
- package/server/remult-admin.js +121 -0
- package/src/remult-static.js +2 -1
- package/src/remult3/Fields.d.ts +1 -0
- package/src/remult3/Fields.js +7 -1
- package/src/remult3/RepositoryImplementation.d.ts +9 -2
- package/src/remult3/RepositoryImplementation.js +9 -5
- package/src/remult3/remult3.js +47 -12
- package/src/remult3/repository-internals.d.ts +6 -0
- package/src/server-action.d.ts +2 -2
- package/src/server-action.js +16 -11
- package/src/sort.js +1 -1
package/graphql.js
CHANGED
|
@@ -5,13 +5,13 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var internals_js_1 = require("./internals.js");
|
|
6
6
|
var index_js_1 = require("./index.js");
|
|
7
7
|
var data_api_js_1 = require("./src/data-api.js");
|
|
8
|
+
var repository_internals_js_1 = require("./src/remult3/repository-internals.js");
|
|
8
9
|
var v2ConnectionAndPagination = false;
|
|
9
10
|
var andImplementation = false;
|
|
10
11
|
var _removeComments = false;
|
|
11
12
|
function remultGraphql(options) {
|
|
12
13
|
var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e;
|
|
13
14
|
var _this = this;
|
|
14
|
-
var _f, _g;
|
|
15
15
|
if (!options.getRemultFromRequest) {
|
|
16
16
|
options.getRemultFromRequest = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
17
17
|
return [2 /*return*/, index_js_1.remult];
|
|
@@ -68,16 +68,16 @@ function remultGraphql(options) {
|
|
|
68
68
|
}
|
|
69
69
|
try {
|
|
70
70
|
// Where - GraphQL primitives
|
|
71
|
-
for (var
|
|
72
|
-
var whereType =
|
|
71
|
+
for (var _f = tslib_1.__values(['String', 'Int', 'Float', 'Boolean', 'ID']), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
72
|
+
var whereType = _g.value;
|
|
73
73
|
var currentWhere = upsertTypes("Where".concat(whereType), 'input', 20);
|
|
74
74
|
var currentWhereNullable = upsertTypes("Where".concat(whereType, "Nullable"), 'input', 20);
|
|
75
75
|
// For everyone
|
|
76
76
|
var operatorType = ['eq', 'ne'];
|
|
77
77
|
var operatorTypeArray = ['in', 'nin'];
|
|
78
78
|
try {
|
|
79
|
-
for (var
|
|
80
|
-
var operator =
|
|
79
|
+
for (var _h = (e_2 = void 0, tslib_1.__values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(operatorType), false), tslib_1.__read(operatorTypeArray), false))), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
80
|
+
var operator = _j.value;
|
|
81
81
|
var field = {
|
|
82
82
|
key: operator,
|
|
83
83
|
value: operatorTypeArray.includes(operator)
|
|
@@ -91,7 +91,7 @@ function remultGraphql(options) {
|
|
|
91
91
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
92
92
|
finally {
|
|
93
93
|
try {
|
|
94
|
-
if (
|
|
94
|
+
if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
|
|
95
95
|
}
|
|
96
96
|
finally { if (e_2) throw e_2.error; }
|
|
97
97
|
}
|
|
@@ -100,8 +100,8 @@ function remultGraphql(options) {
|
|
|
100
100
|
whereType === 'Int' ||
|
|
101
101
|
whereType === 'Float') {
|
|
102
102
|
try {
|
|
103
|
-
for (var
|
|
104
|
-
var operator =
|
|
103
|
+
for (var _k = (e_3 = void 0, tslib_1.__values(['gt', 'gte', 'lt', 'lte'])), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
104
|
+
var operator = _l.value;
|
|
105
105
|
var field = {
|
|
106
106
|
key: operator,
|
|
107
107
|
value: whereType,
|
|
@@ -113,15 +113,15 @@ function remultGraphql(options) {
|
|
|
113
113
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
114
114
|
finally {
|
|
115
115
|
try {
|
|
116
|
-
if (
|
|
116
|
+
if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
|
|
117
117
|
}
|
|
118
118
|
finally { if (e_3) throw e_3.error; }
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
if (whereType === 'String') {
|
|
122
122
|
try {
|
|
123
|
-
for (var
|
|
124
|
-
var operator =
|
|
123
|
+
for (var _m = (e_4 = void 0, tslib_1.__values(['contains', 'notContains'])), _o = _m.next(); !_o.done; _o = _m.next()) {
|
|
124
|
+
var operator = _o.value;
|
|
125
125
|
var field = {
|
|
126
126
|
key: operator,
|
|
127
127
|
value: whereType,
|
|
@@ -133,7 +133,7 @@ function remultGraphql(options) {
|
|
|
133
133
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
134
134
|
finally {
|
|
135
135
|
try {
|
|
136
|
-
if (
|
|
136
|
+
if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
|
|
137
137
|
}
|
|
138
138
|
finally { if (e_4) throw e_4.error; }
|
|
139
139
|
}
|
|
@@ -148,7 +148,7 @@ function remultGraphql(options) {
|
|
|
148
148
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
149
149
|
finally {
|
|
150
150
|
try {
|
|
151
|
-
if (
|
|
151
|
+
if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
|
|
152
152
|
}
|
|
153
153
|
finally { if (e_1) throw e_1.error; }
|
|
154
154
|
}
|
|
@@ -164,7 +164,7 @@ function remultGraphql(options) {
|
|
|
164
164
|
var argClientMutationId = { key: 'clientMutationId', value: "String" };
|
|
165
165
|
var argErrorDetail = { key: 'error', value: "ErrorDetail" };
|
|
166
166
|
var _loop_1 = function (meta) {
|
|
167
|
-
var e_6,
|
|
167
|
+
var e_6, _p;
|
|
168
168
|
var orderByFields = [];
|
|
169
169
|
var key = meta.key;
|
|
170
170
|
var currentType = upsertTypes(getMetaType(meta), 'type_impl_node');
|
|
@@ -203,6 +203,21 @@ function remultGraphql(options) {
|
|
|
203
203
|
});
|
|
204
204
|
}); };
|
|
205
205
|
};
|
|
206
|
+
var handleRequestWithDataApiContextBasedOnRepo_1 = function (repo, work) {
|
|
207
|
+
return createResultPromise_1(function (response, setResult, arg1, req) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
208
|
+
var dApi;
|
|
209
|
+
return tslib_1.__generator(this, function (_a) {
|
|
210
|
+
switch (_a.label) {
|
|
211
|
+
case 0:
|
|
212
|
+
dApi = new data_api_js_1.DataApi(repo, index_js_1.remult);
|
|
213
|
+
return [4 /*yield*/, work(dApi, response, setResult, arg1, repo.metadata)];
|
|
214
|
+
case 1:
|
|
215
|
+
_a.sent();
|
|
216
|
+
return [2 /*return*/];
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}); });
|
|
220
|
+
};
|
|
206
221
|
var handleRequestWithDataApiContext_1 = function (work) {
|
|
207
222
|
return createResultPromise_1(function (response, setResult, arg1, req) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
208
223
|
var remult, repo, dApi;
|
|
@@ -276,7 +291,8 @@ function remultGraphql(options) {
|
|
|
276
291
|
return tslib_1.__generator(this, function (_a) {
|
|
277
292
|
switch (_a.label) {
|
|
278
293
|
case 0: return [4 /*yield*/, dApi.get(tslib_1.__assign(tslib_1.__assign({}, response), { success: function (y) {
|
|
279
|
-
|
|
294
|
+
var orig = tslib_1.__assign({}, y);
|
|
295
|
+
currentType.query.resultProcessors.forEach(function (z) { return z(y, orig); });
|
|
280
296
|
setResult(y);
|
|
281
297
|
} }), arg1.id)];
|
|
282
298
|
case 1:
|
|
@@ -330,40 +346,8 @@ function remultGraphql(options) {
|
|
|
330
346
|
});
|
|
331
347
|
}
|
|
332
348
|
root[key] = handleRequestWithDataApiContext_1(function (dApi, response, setResult, arg1, meta) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
return tslib_1.__generator(this, function (_b) {
|
|
336
|
-
setResult((_a = {},
|
|
337
|
-
_a[itemsKey_1] = createResultPromise_1(function (response, setResult) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
338
|
-
return tslib_1.__generator(this, function (_a) {
|
|
339
|
-
switch (_a.label) {
|
|
340
|
-
case 0: return [4 /*yield*/, dApi.getArray(tslib_1.__assign(tslib_1.__assign({}, response), { success: function (x) {
|
|
341
|
-
setResult(x.map(function (y) {
|
|
342
|
-
currentType.query.resultProcessors.forEach(function (z) { return z(y); });
|
|
343
|
-
return y;
|
|
344
|
-
}));
|
|
345
|
-
} }), {
|
|
346
|
-
get: bridgeQueryOptionsToDataApiGet(arg1),
|
|
347
|
-
}, translateWhereToRestBody(meta.fields, arg1))];
|
|
348
|
-
case 1:
|
|
349
|
-
_a.sent();
|
|
350
|
-
return [2 /*return*/];
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
}); }),
|
|
354
|
-
_a[totalCountKey_1] = createResultPromise_1(function (response, setResult) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
355
|
-
return tslib_1.__generator(this, function (_a) {
|
|
356
|
-
switch (_a.label) {
|
|
357
|
-
case 0: return [4 /*yield*/, dApi.count(tslib_1.__assign(tslib_1.__assign({}, response), { success: function (x) { return setResult(x.count); } }), {
|
|
358
|
-
get: bridgeQueryOptionsToDataApiGet(arg1),
|
|
359
|
-
}, translateWhereToRestBody(meta.fields, arg1))];
|
|
360
|
-
case 1:
|
|
361
|
-
_a.sent();
|
|
362
|
-
return [2 /*return*/];
|
|
363
|
-
}
|
|
364
|
-
});
|
|
365
|
-
}); }),
|
|
366
|
-
_a));
|
|
349
|
+
return tslib_1.__generator(this, function (_a) {
|
|
350
|
+
connectionImplementation(setResult, itemsKey_1, createResultPromise_1, dApi, currentType, arg1, meta, totalCountKey_1);
|
|
367
351
|
return [2 /*return*/];
|
|
368
352
|
});
|
|
369
353
|
}); });
|
|
@@ -403,7 +387,8 @@ function remultGraphql(options) {
|
|
|
403
387
|
switch (_a.label) {
|
|
404
388
|
case 0: return [4 /*yield*/, dApi.post(tslib_1.__assign(tslib_1.__assign({}, response), { created: function (y) {
|
|
405
389
|
var _a;
|
|
406
|
-
|
|
390
|
+
var orig = tslib_1.__assign({}, y);
|
|
391
|
+
currentType.query.resultProcessors.forEach(function (z) { return z(y, orig); });
|
|
407
392
|
setResult((_a = {},
|
|
408
393
|
_a[toCamelCase(getMetaType(meta))] = y,
|
|
409
394
|
_a));
|
|
@@ -442,7 +427,8 @@ function remultGraphql(options) {
|
|
|
442
427
|
switch (_a.label) {
|
|
443
428
|
case 0: return [4 /*yield*/, dApi.put(tslib_1.__assign(tslib_1.__assign({}, response), { success: function (y) {
|
|
444
429
|
var _a;
|
|
445
|
-
|
|
430
|
+
var orig = tslib_1.__assign({}, y);
|
|
431
|
+
currentType.query.resultProcessors.forEach(function (z) { return z(y, orig); });
|
|
446
432
|
setResult((_a = {},
|
|
447
433
|
_a[toCamelCase(getMetaType(meta))] = y,
|
|
448
434
|
_a));
|
|
@@ -467,9 +453,12 @@ function remultGraphql(options) {
|
|
|
467
453
|
});
|
|
468
454
|
currentType.mutation.delete.payload = upsertTypes(deletePayload);
|
|
469
455
|
var deletedResultKey_1 = "id";
|
|
456
|
+
var type = meta.idMetadata.field instanceof index_js_1.CompoundIdField
|
|
457
|
+
? 'String'
|
|
458
|
+
: getGraphqlBaseType(meta.idMetadata.field);
|
|
470
459
|
currentType.mutation.delete.payload.fields.push({
|
|
471
460
|
key: deletedResultKey_1,
|
|
472
|
-
value:
|
|
461
|
+
value: "".concat(type),
|
|
473
462
|
}, argErrorDetail, argClientMutationId);
|
|
474
463
|
root[deleteResolverKey_1] = handleMutationWithErrors(function (dApi, response, setResult, arg1, req) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
475
464
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -491,21 +480,7 @@ function remultGraphql(options) {
|
|
|
491
480
|
var ri = (0, internals_js_1.getRelationFieldInfo)(f);
|
|
492
481
|
if (f.options.includeInApi === false)
|
|
493
482
|
return "continue";
|
|
494
|
-
var type =
|
|
495
|
-
switch (f.valueType) {
|
|
496
|
-
case Boolean:
|
|
497
|
-
type = 'Boolean';
|
|
498
|
-
break;
|
|
499
|
-
case Number:
|
|
500
|
-
{
|
|
501
|
-
if (((_f = f.valueConverter) === null || _f === void 0 ? void 0 : _f.fieldTypeInDb) === 'integer' ||
|
|
502
|
-
((_g = f.valueConverter) === null || _g === void 0 ? void 0 : _g.fieldTypeInDb) === 'autoincrement')
|
|
503
|
-
type = 'Int';
|
|
504
|
-
else
|
|
505
|
-
type = 'Float';
|
|
506
|
-
}
|
|
507
|
-
break;
|
|
508
|
-
}
|
|
483
|
+
var type = getGraphqlBaseType(f);
|
|
509
484
|
currentType.query.resultProcessors.push(function (r) {
|
|
510
485
|
r[nodeIdKey] = function () {
|
|
511
486
|
return getMetaType(meta) + ':' + meta.idMetadata.getId(r);
|
|
@@ -518,8 +493,11 @@ function remultGraphql(options) {
|
|
|
518
493
|
var refType_1 = ri.toEntity;
|
|
519
494
|
ref = entities.find(function (i) { return i.entityType === refType_1; });
|
|
520
495
|
}
|
|
496
|
+
if (!ref) {
|
|
497
|
+
throw new Error("Entity \"".concat(ri.toEntity.name, "\" that is used by the relation \"").concat(f.key, "\" in \"").concat(meta.entityType.name, "\" was not found in the 'entities' array."));
|
|
498
|
+
}
|
|
521
499
|
notARealField = ri.type === 'toOne' || ri.type === 'toMany';
|
|
522
|
-
var
|
|
500
|
+
var refKey = ref.key;
|
|
523
501
|
switch (ri.type) {
|
|
524
502
|
case 'reference':
|
|
525
503
|
case 'toOne':
|
|
@@ -528,21 +506,34 @@ function remultGraphql(options) {
|
|
|
528
506
|
value: "".concat(getMetaType(ref)).concat(f.allowNull ? '' : '!'),
|
|
529
507
|
comment: f.caption,
|
|
530
508
|
});
|
|
531
|
-
currentType.query.resultProcessors.push(function (r) {
|
|
532
|
-
var val = r[ri.type == 'reference' ? f.key : f.options.field]; //p1 - fix
|
|
533
|
-
if (val === null || val === undefined)
|
|
534
|
-
return null;
|
|
509
|
+
currentType.query.resultProcessors.push(function (r, orig) {
|
|
535
510
|
r[f.key] = function (args, req, gqlInfo) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
536
|
-
var
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
case
|
|
511
|
+
var remult, myRepo, item, _a, toRepo, returnNull, returnUndefined, result, resultItems;
|
|
512
|
+
var _this = this;
|
|
513
|
+
return tslib_1.__generator(this, function (_b) {
|
|
514
|
+
switch (_b.label) {
|
|
515
|
+
case 0: return [4 /*yield*/, options.getRemultFromRequest(req)];
|
|
516
|
+
case 1:
|
|
517
|
+
remult = _b.sent();
|
|
518
|
+
myRepo = remult.repo(meta.entityType);
|
|
519
|
+
item = myRepo.fromJson(orig);
|
|
520
|
+
_a = (0, repository_internals_js_1.getRepositoryInternals)(myRepo).getFocusedRelationRepo(myRepo.fields.find(f), item), toRepo = _a.toRepo, returnNull = _a.returnNull, returnUndefined = _a.returnUndefined;
|
|
521
|
+
if (returnNull || returnUndefined)
|
|
522
|
+
return [2 /*return*/, null];
|
|
523
|
+
return [4 /*yield*/, handleRequestWithDataApiContextBasedOnRepo_1(toRepo, function (dApi, response, setResult, arg1, meta) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
524
|
+
return tslib_1.__generator(this, function (_a) {
|
|
525
|
+
switch (_a.label) {
|
|
526
|
+
case 0: return [4 /*yield*/, connectionImplementation(setResult, itemsKey_1, createResultPromise_1, dApi, upsertTypes(getMetaType(ref)), arg1, meta, totalCountKey_1)];
|
|
527
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
}); })(tslib_1.__assign(tslib_1.__assign({}, args), { options: { limit: 1 } }), req)];
|
|
541
531
|
case 2:
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
532
|
+
result = _b.sent();
|
|
533
|
+
return [4 /*yield*/, result.items()];
|
|
534
|
+
case 3:
|
|
535
|
+
resultItems = _b.sent();
|
|
536
|
+
return [2 /*return*/, resultItems[0]];
|
|
546
537
|
}
|
|
547
538
|
});
|
|
548
539
|
}); };
|
|
@@ -552,22 +543,31 @@ function remultGraphql(options) {
|
|
|
552
543
|
// will do: Category.tasks (actually: Category.tasksOfcategory & tasksOfcategory2)
|
|
553
544
|
currentType.fields.push({
|
|
554
545
|
key: f.key,
|
|
555
|
-
args: getQueryArgsConnection(
|
|
546
|
+
args: getQueryArgsConnection(refKey),
|
|
556
547
|
value: "".concat(getMetaType(ref), "Connection"),
|
|
557
548
|
order: 10,
|
|
558
|
-
comment: "List all `".concat(getMetaType(meta), "` of `").concat(
|
|
549
|
+
comment: "List all `".concat(getMetaType(meta), "` of `").concat(refKey, "`"),
|
|
559
550
|
});
|
|
560
|
-
currentType.query.resultProcessors.push(function (r) {
|
|
561
|
-
var val = r.id;
|
|
551
|
+
currentType.query.resultProcessors.push(function (r, y) {
|
|
562
552
|
r[f.key] = function (args, req, gqlInfo) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
563
|
-
var
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
553
|
+
var remult, myRepo, item, relRepo;
|
|
554
|
+
var _this = this;
|
|
555
|
+
return tslib_1.__generator(this, function (_a) {
|
|
556
|
+
switch (_a.label) {
|
|
557
|
+
case 0: return [4 /*yield*/, options.getRemultFromRequest(req)];
|
|
558
|
+
case 1:
|
|
559
|
+
remult = _a.sent();
|
|
560
|
+
myRepo = remult.repo(meta.entityType);
|
|
561
|
+
item = myRepo.fromJson(y);
|
|
562
|
+
relRepo = myRepo.relations(item)[f.key];
|
|
563
|
+
return [2 /*return*/, handleRequestWithDataApiContextBasedOnRepo_1(relRepo, function (dApi, response, setResult, arg1, meta) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
564
|
+
return tslib_1.__generator(this, function (_a) {
|
|
565
|
+
switch (_a.label) {
|
|
566
|
+
case 0: return [4 /*yield*/, connectionImplementation(setResult, itemsKey_1, createResultPromise_1, dApi, upsertTypes(getMetaType(ref)), arg1, meta, totalCountKey_1)];
|
|
567
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
568
|
+
}
|
|
569
|
+
});
|
|
570
|
+
}); })(args, req)];
|
|
571
571
|
}
|
|
572
572
|
});
|
|
573
573
|
}); };
|
|
@@ -581,7 +581,7 @@ function remultGraphql(options) {
|
|
|
581
581
|
value: "".concat(getMetaType(ref)).concat(f.allowNull ? '' : '!'),
|
|
582
582
|
comment: f.caption,
|
|
583
583
|
});
|
|
584
|
-
var
|
|
584
|
+
var refKey_1 = ref.key;
|
|
585
585
|
currentType.query.resultProcessors.push(function (r) {
|
|
586
586
|
var val = r[f.key];
|
|
587
587
|
if (val === null || val === undefined)
|
|
@@ -590,7 +590,7 @@ function remultGraphql(options) {
|
|
|
590
590
|
var queryResult;
|
|
591
591
|
return tslib_1.__generator(this, function (_a) {
|
|
592
592
|
switch (_a.label) {
|
|
593
|
-
case 0: return [4 /*yield*/, root[
|
|
593
|
+
case 0: return [4 /*yield*/, root[refKey_1](tslib_1.__assign(tslib_1.__assign({}, args.where), { where: { id: { eq: val } }, options: { limit: 1 } }), req, gqlInfo)];
|
|
594
594
|
case 1: return [4 /*yield*/, (_a.sent()).items()];
|
|
595
595
|
case 2:
|
|
596
596
|
queryResult = _a.sent();
|
|
@@ -609,7 +609,7 @@ function remultGraphql(options) {
|
|
|
609
609
|
args: queryArgsConnection,
|
|
610
610
|
value: connectionKey,
|
|
611
611
|
order: 10,
|
|
612
|
-
comment: "List all `".concat(getMetaType(meta), "` of `").concat(
|
|
612
|
+
comment: "List all `".concat(getMetaType(meta), "` of `").concat(refKey_1, "`"),
|
|
613
613
|
});
|
|
614
614
|
refT.query.resultProcessors.push(function (r) {
|
|
615
615
|
var val = r.id;
|
|
@@ -661,15 +661,15 @@ function remultGraphql(options) {
|
|
|
661
661
|
}
|
|
662
662
|
};
|
|
663
663
|
try {
|
|
664
|
-
for (var
|
|
665
|
-
var f =
|
|
664
|
+
for (var _q = (e_6 = void 0, tslib_1.__values(meta.fields)), _r = _q.next(); !_r.done; _r = _q.next()) {
|
|
665
|
+
var f = _r.value;
|
|
666
666
|
_loop_2(f);
|
|
667
667
|
}
|
|
668
668
|
}
|
|
669
669
|
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
670
670
|
finally {
|
|
671
671
|
try {
|
|
672
|
-
if (
|
|
672
|
+
if (_r && !_r.done && (_p = _q.return)) _p.call(_q);
|
|
673
673
|
}
|
|
674
674
|
finally { if (e_6) throw e_6.error; }
|
|
675
675
|
}
|
|
@@ -822,6 +822,42 @@ function remultGraphql(options) {
|
|
|
822
822
|
})
|
|
823
823
|
.join("\n\n"), "\n"),
|
|
824
824
|
};
|
|
825
|
+
function connectionImplementation(setResult, itemsKey, createResultPromise, dApi, currentType, arg1, meta, totalCountKey) {
|
|
826
|
+
var _a;
|
|
827
|
+
var _this = this;
|
|
828
|
+
setResult((_a = {},
|
|
829
|
+
_a[itemsKey] = createResultPromise(function (response, setResult) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
830
|
+
return tslib_1.__generator(this, function (_a) {
|
|
831
|
+
switch (_a.label) {
|
|
832
|
+
case 0: return [4 /*yield*/, dApi.getArray(tslib_1.__assign(tslib_1.__assign({}, response), { success: function (x) {
|
|
833
|
+
setResult(x.map(function (y) {
|
|
834
|
+
var orig = tslib_1.__assign({}, y);
|
|
835
|
+
currentType.query.resultProcessors.forEach(function (z) { return z(y, orig); });
|
|
836
|
+
return y;
|
|
837
|
+
}));
|
|
838
|
+
} }), {
|
|
839
|
+
get: bridgeQueryOptionsToDataApiGet(arg1),
|
|
840
|
+
}, translateWhereToRestBody(meta.fields, arg1))];
|
|
841
|
+
case 1:
|
|
842
|
+
_a.sent();
|
|
843
|
+
return [2 /*return*/];
|
|
844
|
+
}
|
|
845
|
+
});
|
|
846
|
+
}); }),
|
|
847
|
+
_a[totalCountKey] = createResultPromise(function (response, setResult) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
848
|
+
return tslib_1.__generator(this, function (_a) {
|
|
849
|
+
switch (_a.label) {
|
|
850
|
+
case 0: return [4 /*yield*/, dApi.count(tslib_1.__assign(tslib_1.__assign({}, response), { success: function (x) { return setResult(x.count); } }), {
|
|
851
|
+
get: bridgeQueryOptionsToDataApiGet(arg1),
|
|
852
|
+
}, translateWhereToRestBody(meta.fields, arg1))];
|
|
853
|
+
case 1:
|
|
854
|
+
_a.sent();
|
|
855
|
+
return [2 /*return*/];
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
}); }),
|
|
859
|
+
_a));
|
|
860
|
+
}
|
|
825
861
|
}
|
|
826
862
|
exports.remultGraphql = remultGraphql;
|
|
827
863
|
function getQueryArgsConnection(key) {
|
|
@@ -928,6 +964,25 @@ function fieldFormat(field) {
|
|
|
928
964
|
}
|
|
929
965
|
return "".concat(strComment, " ").concat(key_value);
|
|
930
966
|
}
|
|
967
|
+
function getGraphqlBaseType(field) {
|
|
968
|
+
var _a, _b;
|
|
969
|
+
var type = 'String';
|
|
970
|
+
switch (field.valueType) {
|
|
971
|
+
case Boolean:
|
|
972
|
+
type = 'Boolean';
|
|
973
|
+
break;
|
|
974
|
+
case Number:
|
|
975
|
+
{
|
|
976
|
+
if (((_a = field.valueConverter) === null || _a === void 0 ? void 0 : _a.fieldTypeInDb) === 'integer' ||
|
|
977
|
+
((_b = field.valueConverter) === null || _b === void 0 ? void 0 : _b.fieldTypeInDb) === 'autoincrement')
|
|
978
|
+
type = 'Int';
|
|
979
|
+
else
|
|
980
|
+
type = 'Float';
|
|
981
|
+
}
|
|
982
|
+
break;
|
|
983
|
+
}
|
|
984
|
+
return type;
|
|
985
|
+
}
|
|
931
986
|
function getMetaType(entityMeta) {
|
|
932
987
|
return entityMeta.entityType.name;
|
|
933
988
|
}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ClassType } from './classType.js';
|
|
2
2
|
import type { DataProvider } from './src/data-interfaces.js';
|
|
3
|
+
export { ArrayEntityDataProvider } from './src/data-providers/array-entity-data-provider.js';
|
|
3
4
|
export type { ClassType } from './classType.js';
|
|
4
5
|
export { ValidateFieldEvent, MembersOnly, FieldsMetadata, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, FindOptionsBase, QueryResult, QueryOptions, Repository, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, EntityRef, SortSegments, Paginator, LiveQuery, LiveQueryChangeInfo, Subscribable, RefSubscriber, RefSubscriberBase, RelationOptions, ObjectMembersOnly, MembersToInclude, RepositoryRelations, EntityIdFields, ClassFieldDecorator, ClassFieldDecoratorContextStub, //n1 consider removing in ts5
|
|
5
6
|
LifecycleEvent, FieldsRefBase, FieldsRefForEntityBase, RepositoryRelationsForEntityBase, ControllerRefForControllerBase, ControllerRefBase, ControllerRef, EntityRefForEntityBase, IdMetadata, FindFirstOptionsBase, } from './src/remult3/remult3.js';
|
package/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.repo = exports.SubscriptionChannel = exports.InMemoryLiveQueryStorage = exports.remult = exports.ValueConverters = exports.createValueValidator = exports.createValueValidatorWithArgs = exports.createValidatorWithArgs = exports.createValidator = exports.valueValidator = exports.Validators = exports.UrlBuilder = exports.Filter = exports.CompoundIdField = exports.Sort = exports.EventSource = exports.isBackend = exports.withRemult = exports.Remult = exports.Allow = exports.ProgressListener = exports.BackendMethod = exports.Controller = exports.JsonEntityOpfsStorage = exports.JsonDataProvider = exports.dbNamesOf = exports.CustomSqlFilterBuilder = exports.SqlDatabase = exports.WebSqlDataProvider = exports.InMemoryDataProvider = exports.RestDataProvider = exports.describeClass = exports.IdEntity = exports.Relations = exports.Fields = exports.Field = exports.getEntityRef = exports.Entity = exports.CaptionTransformer = exports.ValueListInfo = exports.getValueList = exports.ValueListFieldType = exports.getFields = exports.FieldType = exports.ControllerBase = exports.EntityBase = void 0;
|
|
3
|
+
exports.repo = exports.SubscriptionChannel = exports.InMemoryLiveQueryStorage = exports.remult = exports.ValueConverters = exports.createValueValidator = exports.createValueValidatorWithArgs = exports.createValidatorWithArgs = exports.createValidator = exports.valueValidator = exports.Validators = exports.UrlBuilder = exports.Filter = exports.CompoundIdField = exports.Sort = exports.EventSource = exports.isBackend = exports.withRemult = exports.Remult = exports.Allow = exports.ProgressListener = exports.BackendMethod = exports.Controller = exports.JsonEntityOpfsStorage = exports.JsonDataProvider = exports.dbNamesOf = exports.CustomSqlFilterBuilder = exports.SqlDatabase = exports.WebSqlDataProvider = exports.InMemoryDataProvider = exports.RestDataProvider = exports.describeClass = exports.IdEntity = exports.Relations = exports.Fields = exports.Field = exports.getEntityRef = exports.Entity = exports.CaptionTransformer = exports.ValueListInfo = exports.getValueList = exports.ValueListFieldType = exports.getFields = exports.FieldType = exports.ControllerBase = exports.EntityBase = exports.ArrayEntityDataProvider = void 0;
|
|
4
|
+
var array_entity_data_provider_js_1 = require("./src/data-providers/array-entity-data-provider.js");
|
|
5
|
+
Object.defineProperty(exports, "ArrayEntityDataProvider", { enumerable: true, get: function () { return array_entity_data_provider_js_1.ArrayEntityDataProvider; } });
|
|
4
6
|
var RepositoryImplementation_js_1 = require("./src/remult3/RepositoryImplementation.js");
|
|
5
7
|
Object.defineProperty(exports, "EntityBase", { enumerable: true, get: function () { return RepositoryImplementation_js_1.EntityBase; } });
|
|
6
8
|
Object.defineProperty(exports, "ControllerBase", { enumerable: true, get: function () { return RepositoryImplementation_js_1.ControllerBase; } });
|
package/internals.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getRelationInfo, getRelationFieldInfo, RelationFieldInfo, RelationInfo, } from './src/remult3/relationInfoMember.js';
|
|
1
|
+
export { getRelationInfo, getRelationFieldInfo, RelationFieldInfo, RelationInfo, RelationFields, } from './src/remult3/relationInfoMember.js';
|
|
2
2
|
export { decorateColumnSettings, controllerRefImpl, getControllerRef, } from './src/remult3/RepositoryImplementation.js';
|
|
3
3
|
export { getEntitySettings } from './src/remult3/getEntityRef.js';
|
|
4
4
|
export { __updateEntityBasedOnWhere } from './src/filter/filter-interfaces.js';
|
package/package.json
CHANGED
package/remult-fastify.js
CHANGED
package/remult-hapi.js
CHANGED