remult 0.25.5-exp.13 → 0.25.5-exp.14
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 +21 -16
- package/esm/package.json +1 -1
- package/esm/remult-sveltekit.js +1 -0
- package/esm/src/remult3/remult3.js +17 -3
- package/graphql.js +38 -33
- package/package.json +1 -1
- package/remult-sveltekit.js +21 -17
- package/src/remult3/remult3.js +17 -3
package/esm/graphql.js
CHANGED
|
@@ -369,9 +369,10 @@ export function remultGraphql(options) {
|
|
|
369
369
|
});
|
|
370
370
|
currentType.mutation.delete.payload = upsertTypes(deletePayload);
|
|
371
371
|
const deletedResultKey = `id`;
|
|
372
|
+
const type = getGraphqlBaseType(meta.fields.find('id'));
|
|
372
373
|
currentType.mutation.delete.payload.fields.push({
|
|
373
374
|
key: deletedResultKey,
|
|
374
|
-
value:
|
|
375
|
+
value: `${type}`,
|
|
375
376
|
}, argErrorDetail, argClientMutationId);
|
|
376
377
|
root[deleteResolverKey] = handleMutationWithErrors(async (dApi, response, setResult, arg1, req) => {
|
|
377
378
|
await dApi.delete({
|
|
@@ -388,21 +389,7 @@ export function remultGraphql(options) {
|
|
|
388
389
|
const ri = getRelationFieldInfo(f);
|
|
389
390
|
if (f.options.includeInApi === false)
|
|
390
391
|
continue;
|
|
391
|
-
|
|
392
|
-
switch (f.valueType) {
|
|
393
|
-
case Boolean:
|
|
394
|
-
type = 'Boolean';
|
|
395
|
-
break;
|
|
396
|
-
case Number:
|
|
397
|
-
{
|
|
398
|
-
if (f.valueConverter?.fieldTypeInDb === 'integer' ||
|
|
399
|
-
f.valueConverter?.fieldTypeInDb === 'autoincrement')
|
|
400
|
-
type = 'Int';
|
|
401
|
-
else
|
|
402
|
-
type = 'Float';
|
|
403
|
-
}
|
|
404
|
-
break;
|
|
405
|
-
}
|
|
392
|
+
const type = getGraphqlBaseType(f);
|
|
406
393
|
currentType.query.resultProcessors.push((r) => {
|
|
407
394
|
r[nodeIdKey] = () => getMetaType(meta) + ':' + meta.idMetadata.getId(r);
|
|
408
395
|
});
|
|
@@ -828,6 +815,24 @@ function fieldFormat(field) {
|
|
|
828
815
|
}
|
|
829
816
|
return `${strComment} ${key_value}`;
|
|
830
817
|
}
|
|
818
|
+
function getGraphqlBaseType(field) {
|
|
819
|
+
let type = 'String';
|
|
820
|
+
switch (field.valueType) {
|
|
821
|
+
case Boolean:
|
|
822
|
+
type = 'Boolean';
|
|
823
|
+
break;
|
|
824
|
+
case Number:
|
|
825
|
+
{
|
|
826
|
+
if (field.valueConverter?.fieldTypeInDb === 'integer' ||
|
|
827
|
+
field.valueConverter?.fieldTypeInDb === 'autoincrement')
|
|
828
|
+
type = 'Int';
|
|
829
|
+
else
|
|
830
|
+
type = 'Float';
|
|
831
|
+
}
|
|
832
|
+
break;
|
|
833
|
+
}
|
|
834
|
+
return type;
|
|
835
|
+
}
|
|
831
836
|
function getMetaType(entityMeta) {
|
|
832
837
|
return entityMeta.entityType.name;
|
|
833
838
|
}
|
package/esm/package.json
CHANGED
package/esm/remult-sveltekit.js
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
export {};
|
|
2
|
+
/*y1 - workshop
|
|
3
|
+
|
|
4
|
+
* Experiment with doing this with version control - so the students can follow changes
|
|
5
|
+
* Prepare stackblitz
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# influencer:
|
|
9
|
+
* review react summit
|
|
10
|
+
#
|
|
11
|
+
|
|
2
12
|
//y1 - admin url!
|
|
3
13
|
//y1 - number default storage in knex is decimal and it by default has 8,2 - meaning only 999,999 - I think it should be way bigger than that. in firefly we do at least 18 - https://discord.com/channels/975754286384418847/1195162533447876658
|
|
4
14
|
//y1 - talk about the parameter issue with backend methods
|
|
5
15
|
//y1 - tried to upgrade vitest, nuxt tests are failing with loading uuid - sounds familiar?
|
|
6
16
|
//y1 - I think that the tests you've setup cover next app router - I added to the setup, but not sure where else
|
|
17
|
+
//y1 - select data provider per entity https://discord.com/channels/975754286384418847/976006081748807690/1201415305885397003
|
|
18
|
+
|
|
19
|
+
|
|
7
20
|
//p1 - Small thing, I get SvelteKitError: Not found: /vite.svg
|
|
8
|
-
//p1 -
|
|
21
|
+
//p1 - understand the to many relation for the admin, based on the to one
|
|
9
22
|
//p1 - relation from order details to order gave a compound id info - and it is not true - same for the relation to product
|
|
10
|
-
//p1 -
|
|
23
|
+
//p1 - live query with include
|
|
11
24
|
//p1 - new row when there are relations, looks funny (see product)
|
|
12
25
|
//p1 - the + row in the bottom should extend to the full width
|
|
13
|
-
//p1 - adjust angular starter kit for latest angular (as is in tutorial)
|
|
26
|
+
//p1 - adjust angular tutorial starter kit for latest angular (as is in tutorial)
|
|
27
|
+
|
|
14
28
|
/*y2 -
|
|
15
29
|
@Fields.string<Category>({
|
|
16
30
|
allowApiUpdate: (c) => getEntityRef(c).isNew(),
|
package/graphql.js
CHANGED
|
@@ -12,7 +12,6 @@ var _removeComments = false;
|
|
|
12
12
|
function remultGraphql(options) {
|
|
13
13
|
var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e;
|
|
14
14
|
var _this = this;
|
|
15
|
-
var _f, _g;
|
|
16
15
|
if (!options.getRemultFromRequest) {
|
|
17
16
|
options.getRemultFromRequest = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
|
|
18
17
|
return [2 /*return*/, index_js_1.remult];
|
|
@@ -69,16 +68,16 @@ function remultGraphql(options) {
|
|
|
69
68
|
}
|
|
70
69
|
try {
|
|
71
70
|
// Where - GraphQL primitives
|
|
72
|
-
for (var
|
|
73
|
-
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;
|
|
74
73
|
var currentWhere = upsertTypes("Where".concat(whereType), 'input', 20);
|
|
75
74
|
var currentWhereNullable = upsertTypes("Where".concat(whereType, "Nullable"), 'input', 20);
|
|
76
75
|
// For everyone
|
|
77
76
|
var operatorType = ['eq', 'ne'];
|
|
78
77
|
var operatorTypeArray = ['in', 'nin'];
|
|
79
78
|
try {
|
|
80
|
-
for (var
|
|
81
|
-
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;
|
|
82
81
|
var field = {
|
|
83
82
|
key: operator,
|
|
84
83
|
value: operatorTypeArray.includes(operator)
|
|
@@ -92,7 +91,7 @@ function remultGraphql(options) {
|
|
|
92
91
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
93
92
|
finally {
|
|
94
93
|
try {
|
|
95
|
-
if (
|
|
94
|
+
if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
|
|
96
95
|
}
|
|
97
96
|
finally { if (e_2) throw e_2.error; }
|
|
98
97
|
}
|
|
@@ -101,8 +100,8 @@ function remultGraphql(options) {
|
|
|
101
100
|
whereType === 'Int' ||
|
|
102
101
|
whereType === 'Float') {
|
|
103
102
|
try {
|
|
104
|
-
for (var
|
|
105
|
-
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;
|
|
106
105
|
var field = {
|
|
107
106
|
key: operator,
|
|
108
107
|
value: whereType,
|
|
@@ -114,15 +113,15 @@ function remultGraphql(options) {
|
|
|
114
113
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
115
114
|
finally {
|
|
116
115
|
try {
|
|
117
|
-
if (
|
|
116
|
+
if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
|
|
118
117
|
}
|
|
119
118
|
finally { if (e_3) throw e_3.error; }
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
121
|
if (whereType === 'String') {
|
|
123
122
|
try {
|
|
124
|
-
for (var
|
|
125
|
-
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;
|
|
126
125
|
var field = {
|
|
127
126
|
key: operator,
|
|
128
127
|
value: whereType,
|
|
@@ -134,7 +133,7 @@ function remultGraphql(options) {
|
|
|
134
133
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
135
134
|
finally {
|
|
136
135
|
try {
|
|
137
|
-
if (
|
|
136
|
+
if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
|
|
138
137
|
}
|
|
139
138
|
finally { if (e_4) throw e_4.error; }
|
|
140
139
|
}
|
|
@@ -149,7 +148,7 @@ function remultGraphql(options) {
|
|
|
149
148
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
150
149
|
finally {
|
|
151
150
|
try {
|
|
152
|
-
if (
|
|
151
|
+
if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
|
|
153
152
|
}
|
|
154
153
|
finally { if (e_1) throw e_1.error; }
|
|
155
154
|
}
|
|
@@ -165,7 +164,7 @@ function remultGraphql(options) {
|
|
|
165
164
|
var argClientMutationId = { key: 'clientMutationId', value: "String" };
|
|
166
165
|
var argErrorDetail = { key: 'error', value: "ErrorDetail" };
|
|
167
166
|
var _loop_1 = function (meta) {
|
|
168
|
-
var e_6,
|
|
167
|
+
var e_6, _p;
|
|
169
168
|
var orderByFields = [];
|
|
170
169
|
var key = meta.key;
|
|
171
170
|
var currentType = upsertTypes(getMetaType(meta), 'type_impl_node');
|
|
@@ -454,9 +453,10 @@ function remultGraphql(options) {
|
|
|
454
453
|
});
|
|
455
454
|
currentType.mutation.delete.payload = upsertTypes(deletePayload);
|
|
456
455
|
var deletedResultKey_1 = "id";
|
|
456
|
+
var type = getGraphqlBaseType(meta.fields.find('id'));
|
|
457
457
|
currentType.mutation.delete.payload.fields.push({
|
|
458
458
|
key: deletedResultKey_1,
|
|
459
|
-
value:
|
|
459
|
+
value: "".concat(type),
|
|
460
460
|
}, argErrorDetail, argClientMutationId);
|
|
461
461
|
root[deleteResolverKey_1] = handleMutationWithErrors(function (dApi, response, setResult, arg1, req) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
462
462
|
return tslib_1.__generator(this, function (_a) {
|
|
@@ -478,21 +478,7 @@ function remultGraphql(options) {
|
|
|
478
478
|
var ri = (0, internals_js_1.getRelationFieldInfo)(f);
|
|
479
479
|
if (f.options.includeInApi === false)
|
|
480
480
|
return "continue";
|
|
481
|
-
var type =
|
|
482
|
-
switch (f.valueType) {
|
|
483
|
-
case Boolean:
|
|
484
|
-
type = 'Boolean';
|
|
485
|
-
break;
|
|
486
|
-
case Number:
|
|
487
|
-
{
|
|
488
|
-
if (((_f = f.valueConverter) === null || _f === void 0 ? void 0 : _f.fieldTypeInDb) === 'integer' ||
|
|
489
|
-
((_g = f.valueConverter) === null || _g === void 0 ? void 0 : _g.fieldTypeInDb) === 'autoincrement')
|
|
490
|
-
type = 'Int';
|
|
491
|
-
else
|
|
492
|
-
type = 'Float';
|
|
493
|
-
}
|
|
494
|
-
break;
|
|
495
|
-
}
|
|
481
|
+
var type = getGraphqlBaseType(f);
|
|
496
482
|
currentType.query.resultProcessors.push(function (r) {
|
|
497
483
|
r[nodeIdKey] = function () {
|
|
498
484
|
return getMetaType(meta) + ':' + meta.idMetadata.getId(r);
|
|
@@ -673,15 +659,15 @@ function remultGraphql(options) {
|
|
|
673
659
|
}
|
|
674
660
|
};
|
|
675
661
|
try {
|
|
676
|
-
for (var
|
|
677
|
-
var f =
|
|
662
|
+
for (var _q = (e_6 = void 0, tslib_1.__values(meta.fields)), _r = _q.next(); !_r.done; _r = _q.next()) {
|
|
663
|
+
var f = _r.value;
|
|
678
664
|
_loop_2(f);
|
|
679
665
|
}
|
|
680
666
|
}
|
|
681
667
|
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
682
668
|
finally {
|
|
683
669
|
try {
|
|
684
|
-
if (
|
|
670
|
+
if (_r && !_r.done && (_p = _q.return)) _p.call(_q);
|
|
685
671
|
}
|
|
686
672
|
finally { if (e_6) throw e_6.error; }
|
|
687
673
|
}
|
|
@@ -976,6 +962,25 @@ function fieldFormat(field) {
|
|
|
976
962
|
}
|
|
977
963
|
return "".concat(strComment, " ").concat(key_value);
|
|
978
964
|
}
|
|
965
|
+
function getGraphqlBaseType(field) {
|
|
966
|
+
var _a, _b;
|
|
967
|
+
var type = 'String';
|
|
968
|
+
switch (field.valueType) {
|
|
969
|
+
case Boolean:
|
|
970
|
+
type = 'Boolean';
|
|
971
|
+
break;
|
|
972
|
+
case Number:
|
|
973
|
+
{
|
|
974
|
+
if (((_a = field.valueConverter) === null || _a === void 0 ? void 0 : _a.fieldTypeInDb) === 'integer' ||
|
|
975
|
+
((_b = field.valueConverter) === null || _b === void 0 ? void 0 : _b.fieldTypeInDb) === 'autoincrement')
|
|
976
|
+
type = 'Int';
|
|
977
|
+
else
|
|
978
|
+
type = 'Float';
|
|
979
|
+
}
|
|
980
|
+
break;
|
|
981
|
+
}
|
|
982
|
+
return type;
|
|
983
|
+
}
|
|
979
984
|
function getMetaType(entityMeta) {
|
|
980
985
|
return entityMeta.entityType.name;
|
|
981
986
|
}
|
package/package.json
CHANGED
package/remult-sveltekit.js
CHANGED
|
@@ -20,12 +20,13 @@ function remultSveltekit(options) {
|
|
|
20
20
|
var handler = function (_a) {
|
|
21
21
|
var event = _a.event, resolve = _a.resolve;
|
|
22
22
|
return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
23
|
-
var sseResponse_1, response_1, responseFromRemultHandler;
|
|
23
|
+
var sseResponse_1, response_1, responseFromRemultHandler, _b, _c;
|
|
24
|
+
var _d;
|
|
24
25
|
var _this = this;
|
|
25
|
-
return tslib_1.__generator(this, function (
|
|
26
|
-
switch (
|
|
26
|
+
return tslib_1.__generator(this, function (_e) {
|
|
27
|
+
switch (_e.label) {
|
|
27
28
|
case 0:
|
|
28
|
-
if (!event.url.pathname.startsWith(options.rootPath)) return [3 /*break*/,
|
|
29
|
+
if (!event.url.pathname.startsWith(options.rootPath)) return [3 /*break*/, 3];
|
|
29
30
|
sseResponse_1 = undefined;
|
|
30
31
|
event.locals['_tempOnClose'] = function () { };
|
|
31
32
|
response_1 = {
|
|
@@ -74,24 +75,27 @@ function remultSveltekit(options) {
|
|
|
74
75
|
};
|
|
75
76
|
return [4 /*yield*/, result.handle(event, response_1)];
|
|
76
77
|
case 1:
|
|
77
|
-
responseFromRemultHandler =
|
|
78
|
+
responseFromRemultHandler = _e.sent();
|
|
78
79
|
if (sseResponse_1 !== undefined) {
|
|
79
80
|
return [2 /*return*/, sseResponse_1];
|
|
80
81
|
}
|
|
81
|
-
if (responseFromRemultHandler)
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
status: responseFromRemultHandler.statusCode,
|
|
85
|
-
headers: {
|
|
86
|
-
'Content-Type': 'text/html',
|
|
87
|
-
},
|
|
88
|
-
})];
|
|
89
|
-
return [2 /*return*/, new Response(JSON.stringify(responseFromRemultHandler.data), {
|
|
82
|
+
if (!responseFromRemultHandler) return [3 /*break*/, 3];
|
|
83
|
+
if (responseFromRemultHandler.html)
|
|
84
|
+
return [2 /*return*/, new Response(responseFromRemultHandler.html, {
|
|
90
85
|
status: responseFromRemultHandler.statusCode,
|
|
86
|
+
headers: {
|
|
87
|
+
'Content-Type': 'text/html',
|
|
88
|
+
},
|
|
91
89
|
})];
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
_b = Response.bind;
|
|
91
|
+
_c = [void 0, JSON.stringify(responseFromRemultHandler.data)];
|
|
92
|
+
_d = {
|
|
93
|
+
status: responseFromRemultHandler.statusCode
|
|
94
|
+
};
|
|
95
|
+
return [4 /*yield*/, resolve(event)];
|
|
96
|
+
case 2: return [2 /*return*/, new (_b.apply(Response, _c.concat([(_d.headers = (_e.sent()).headers,
|
|
97
|
+
_d)])))()];
|
|
98
|
+
case 3: return [2 /*return*/, new Promise(function (res) {
|
|
95
99
|
result.withRemult(event, undefined, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
96
100
|
var _a;
|
|
97
101
|
return tslib_1.__generator(this, function (_b) {
|
package/src/remult3/remult3.js
CHANGED
|
@@ -1,17 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/*y1 - workshop
|
|
4
|
+
|
|
5
|
+
* Experiment with doing this with version control - so the students can follow changes
|
|
6
|
+
* Prepare stackblitz
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# influencer:
|
|
10
|
+
* review react summit
|
|
11
|
+
#
|
|
12
|
+
|
|
3
13
|
//y1 - admin url!
|
|
4
14
|
//y1 - number default storage in knex is decimal and it by default has 8,2 - meaning only 999,999 - I think it should be way bigger than that. in firefly we do at least 18 - https://discord.com/channels/975754286384418847/1195162533447876658
|
|
5
15
|
//y1 - talk about the parameter issue with backend methods
|
|
6
16
|
//y1 - tried to upgrade vitest, nuxt tests are failing with loading uuid - sounds familiar?
|
|
7
17
|
//y1 - I think that the tests you've setup cover next app router - I added to the setup, but not sure where else
|
|
18
|
+
//y1 - select data provider per entity https://discord.com/channels/975754286384418847/976006081748807690/1201415305885397003
|
|
19
|
+
|
|
20
|
+
|
|
8
21
|
//p1 - Small thing, I get SvelteKitError: Not found: /vite.svg
|
|
9
|
-
//p1 -
|
|
22
|
+
//p1 - understand the to many relation for the admin, based on the to one
|
|
10
23
|
//p1 - relation from order details to order gave a compound id info - and it is not true - same for the relation to product
|
|
11
|
-
//p1 -
|
|
24
|
+
//p1 - live query with include
|
|
12
25
|
//p1 - new row when there are relations, looks funny (see product)
|
|
13
26
|
//p1 - the + row in the bottom should extend to the full width
|
|
14
|
-
//p1 - adjust angular starter kit for latest angular (as is in tutorial)
|
|
27
|
+
//p1 - adjust angular tutorial starter kit for latest angular (as is in tutorial)
|
|
28
|
+
|
|
15
29
|
/*y2 -
|
|
16
30
|
@Fields.string<Category>({
|
|
17
31
|
allowApiUpdate: (c) => getEntityRef(c).isNew(),
|