remult 2.7.27 → 2.7.29
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/remult-sqlite-core.js +1 -1
- package/esm/server/get-remult-admin-html.js +1 -1
- package/esm/server/remult-admin.js +61 -55
- package/esm/src/remult3/getEntityRef.js +2 -0
- package/package.json +1 -1
- package/remult-sqlite-core.js +1 -1
- package/server/get-remult-admin-html.js +1 -1
- package/server/remult-admin.js +51 -45
- package/src/remult3/getEntityRef.js +2 -0
package/server/remult-admin.js
CHANGED
|
@@ -37,57 +37,63 @@ function buildEntityInfo(options) {
|
|
|
37
37
|
var _loop_1 = function (x) {
|
|
38
38
|
if (!x.includedInApi(undefined))
|
|
39
39
|
return "continue";
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
info.options.findOptions
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (info.type
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
40
|
+
try {
|
|
41
|
+
var relation = void 0;
|
|
42
|
+
var valFieldKey = x.key;
|
|
43
|
+
var info = (0, relationInfoMember_js_1.getRelationFieldInfo)(x);
|
|
44
|
+
if (info) {
|
|
45
|
+
var relInfo = info.getFields();
|
|
46
|
+
var relRepo = options.remult.repo(info.toEntity);
|
|
47
|
+
var where = typeof info.options.findOptions === 'object' &&
|
|
48
|
+
info.options.findOptions.where
|
|
49
|
+
? filter_interfaces_js_1.Filter.entityFilterToJson(relRepo.metadata, info.options.findOptions.where)
|
|
50
|
+
: undefined;
|
|
51
|
+
var idField_1 = relRepo.metadata.idMetadata.field.key;
|
|
52
|
+
if (info.type === 'reference' || info.type === 'toOne') {
|
|
53
|
+
if (info.type == 'toOne') {
|
|
54
|
+
for (var key in relInfo.fields) {
|
|
55
|
+
if (Object.prototype.hasOwnProperty.call(relInfo.fields, key)) {
|
|
56
|
+
var element = relInfo.fields[key];
|
|
57
|
+
valFieldKey = element;
|
|
58
|
+
}
|
|
57
59
|
}
|
|
58
60
|
}
|
|
61
|
+
if (relRepo.metadata.apiReadAllowed) {
|
|
62
|
+
relation = tslib_1.__assign(tslib_1.__assign({}, relInfo), { where: where, entityKey: relRepo.metadata.key, idField: idField_1, captionField: (_d = relRepo.metadata.fields
|
|
63
|
+
.toArray()
|
|
64
|
+
.find(function (x) { return x.key != idField_1 && x.valueType == String; })) === null || _d === void 0 ? void 0 : _d.key });
|
|
65
|
+
}
|
|
59
66
|
}
|
|
60
|
-
if (
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
else if (info.type === 'toMany') {
|
|
67
|
-
if (relRepo.metadata.apiReadAllowed) {
|
|
68
|
-
relations.push(tslib_1.__assign(tslib_1.__assign({}, relInfo), { where: where, entityKey: relRepo.metadata.key }));
|
|
67
|
+
else if (info.type === 'toMany') {
|
|
68
|
+
if (relRepo.metadata.apiReadAllowed) {
|
|
69
|
+
relations.push(tslib_1.__assign(tslib_1.__assign({}, relInfo), { where: where, entityKey: relRepo.metadata.key }));
|
|
70
|
+
}
|
|
71
|
+
return "continue";
|
|
69
72
|
}
|
|
70
|
-
return "continue";
|
|
71
73
|
}
|
|
74
|
+
fields.push({
|
|
75
|
+
key: x.key,
|
|
76
|
+
readOnly: !x.apiUpdateAllowed(),
|
|
77
|
+
values: (0, RepositoryImplementation_js_1.getValueList)(x),
|
|
78
|
+
valFieldKey: valFieldKey,
|
|
79
|
+
caption: x.caption,
|
|
80
|
+
relationToOne: relation,
|
|
81
|
+
inputType: x.inputType,
|
|
82
|
+
type: x.valueConverter.fieldTypeInDb == 'json'
|
|
83
|
+
? 'json'
|
|
84
|
+
: x.valueType === Number
|
|
85
|
+
? 'number'
|
|
86
|
+
: x.valueType === Boolean
|
|
87
|
+
? 'boolean'
|
|
88
|
+
: x.valueType === Date
|
|
89
|
+
? 'date'
|
|
90
|
+
: 'string',
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error("[remult-admin] Error with ".concat(metadata.key, ".").concat(x.key, " field."));
|
|
95
|
+
console.error("[remult-admin]", error);
|
|
72
96
|
}
|
|
73
|
-
fields.push({
|
|
74
|
-
key: x.key,
|
|
75
|
-
readOnly: !x.apiUpdateAllowed(),
|
|
76
|
-
values: (0, RepositoryImplementation_js_1.getValueList)(x),
|
|
77
|
-
valFieldKey: valFieldKey,
|
|
78
|
-
caption: x.caption,
|
|
79
|
-
relationToOne: relation,
|
|
80
|
-
inputType: x.inputType,
|
|
81
|
-
type: x.valueConverter.fieldTypeInDb == 'json'
|
|
82
|
-
? 'json'
|
|
83
|
-
: x.valueType === Number
|
|
84
|
-
? 'number'
|
|
85
|
-
: x.valueType === Boolean
|
|
86
|
-
? 'boolean'
|
|
87
|
-
: x.valueType === Date
|
|
88
|
-
? 'date'
|
|
89
|
-
: 'string',
|
|
90
|
-
});
|
|
91
97
|
};
|
|
92
98
|
try {
|
|
93
99
|
for (var _k = (e_3 = void 0, tslib_1.__values(metadata.fields.toArray())), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
@@ -16,6 +16,8 @@ exports.getEntityKey = getEntityKey;
|
|
|
16
16
|
function getEntityRef(entity, throwException) {
|
|
17
17
|
var _a;
|
|
18
18
|
if (throwException === void 0) { throwException = true; }
|
|
19
|
+
if (entity === undefined)
|
|
20
|
+
throw new Error('entity is undefined');
|
|
19
21
|
var x = entity[exports.entityMember];
|
|
20
22
|
if (!x && throwException)
|
|
21
23
|
throw new Error('item ' +
|