@steedos/objectql 2.3.0-beta.8 → 2.3.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/lib/actions/workflow_notifications.js +4 -4
- package/lib/actions/workflow_notifications.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/services/helpers/graphql/consts.d.ts +1 -0
- package/lib/services/helpers/graphql/consts.js +2 -1
- package/lib/services/helpers/graphql/consts.js.map +1 -1
- package/lib/services/helpers/graphql/index.js +535 -73
- package/lib/services/helpers/graphql/index.js.map +1 -1
- package/lib/types/datasource.js +2 -1
- package/lib/types/datasource.js.map +1 -1
- package/lib/types/object.js.map +1 -1
- package/package.json +13 -13
|
@@ -5,9 +5,10 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var _ = require("underscore");
|
|
6
6
|
var moment = require("moment");
|
|
7
7
|
var __1 = require("../..");
|
|
8
|
+
var __2 = require("../../..");
|
|
8
9
|
var i18n_1 = require("@steedos/i18n");
|
|
9
10
|
var gql = require("moleculer-apollo-server").moleculerGql;
|
|
10
|
-
var
|
|
11
|
+
var __3 = require("../../..");
|
|
11
12
|
var getQueryFields_1 = require("./getQueryFields");
|
|
12
13
|
var getPrimaryFieldType_1 = require("./getPrimaryFieldType");
|
|
13
14
|
var consts_1 = require("./consts");
|
|
@@ -120,6 +121,19 @@ function generateSettingsGraphql(objectConfig) {
|
|
|
120
121
|
};
|
|
121
122
|
var _display_type = _getDisplayType(_display_type_name, fields);
|
|
122
123
|
type = gql(templateObject_7 || (templateObject_7 = tslib_1.__makeTemplateObject(["\n ", "\n ", "\n "], ["\n ", "\n ", "\n "])), _display_type, type);
|
|
124
|
+
var _ui_type_name = "".concat(consts_1.UI_PREFIX, "_").concat(objectName);
|
|
125
|
+
type += "".concat(consts_1.UI_PREFIX, "(fields: [String]): ").concat(_ui_type_name, " ");
|
|
126
|
+
resolvers[objectName][consts_1.UI_PREFIX] = {
|
|
127
|
+
action: "".concat((0, __1.getObjectServiceName)(objectName), ".").concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.UI_PREFIX),
|
|
128
|
+
rootParams: {
|
|
129
|
+
_id: "_id",
|
|
130
|
+
},
|
|
131
|
+
params: {
|
|
132
|
+
objectName: objectName,
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
var _ui_type = _getUIType(_ui_type_name, fields);
|
|
136
|
+
type = gql(templateObject_8 || (templateObject_8 = tslib_1.__makeTemplateObject(["\n ", "\n ", "\n "], ["\n ", "\n ", "\n "])), _ui_type, type);
|
|
123
137
|
if (objectConfig.enable_files) {
|
|
124
138
|
var relatedObjName = "cms_files";
|
|
125
139
|
var relatedFieldName = "".concat(consts_1.RELATED_PREFIX, "_files");
|
|
@@ -176,7 +190,7 @@ function dealWithRelatedFields(objectConfig, graphql) {
|
|
|
176
190
|
return tslib_1.__generator(this, function (_b) {
|
|
177
191
|
switch (_b.label) {
|
|
178
192
|
case 0:
|
|
179
|
-
steedosSchema = (0,
|
|
193
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
180
194
|
objectName = objectConfig.name;
|
|
181
195
|
obj = steedosSchema.getObject(objectName);
|
|
182
196
|
return [4, obj.getRelationsInfo()];
|
|
@@ -238,7 +252,7 @@ function getGraphqlActions(objectConfig) {
|
|
|
238
252
|
}
|
|
239
253
|
filters = [[referenceToField || "_id", "in", ids]];
|
|
240
254
|
selector = { filters: filters };
|
|
241
|
-
steedosSchema = (0,
|
|
255
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
242
256
|
obj = steedosSchema.getObject(objectName);
|
|
243
257
|
resolveInfo = ctx.meta.resolveInfo;
|
|
244
258
|
fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
|
|
@@ -261,7 +275,7 @@ function getGraphqlActions(objectConfig) {
|
|
|
261
275
|
if (!id) {
|
|
262
276
|
return [2];
|
|
263
277
|
}
|
|
264
|
-
steedosSchema = (0,
|
|
278
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
265
279
|
obj = steedosSchema.getObject(objectName);
|
|
266
280
|
selector = { filters: [[referenceToField || "_id", "=", id]] };
|
|
267
281
|
resolveInfo = ctx.meta.resolveInfo;
|
|
@@ -296,7 +310,7 @@ function getGraphqlActions(objectConfig) {
|
|
|
296
310
|
_parentId = params._parentId, _related_params = params._related_params;
|
|
297
311
|
objectName = _related_params.objectName, parentObjectName = _related_params.parentObjectName, foreignKey = _related_params.foreignKey;
|
|
298
312
|
userSession = ctx.meta.user;
|
|
299
|
-
steedosSchema = (0,
|
|
313
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
300
314
|
object = steedosSchema.getObject(objectName);
|
|
301
315
|
filters = [];
|
|
302
316
|
filters = [
|
|
@@ -326,7 +340,7 @@ function getGraphqlActions(objectConfig) {
|
|
|
326
340
|
_parentId = params._parentId, _related_params = params._related_params;
|
|
327
341
|
objectName = _related_params.objectName, parentObjectName = _related_params.parentObjectName, fieldName = _related_params.fieldName, referenceToParentFieldName = _related_params.referenceToParentFieldName;
|
|
328
342
|
userSession = ctx.meta.user;
|
|
329
|
-
steedosSchema = (0,
|
|
343
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
330
344
|
object = steedosSchema.getObject(objectName);
|
|
331
345
|
parentObj = steedosSchema.getObject(parentObjectName);
|
|
332
346
|
return [4, parentObj.findOne(_parentId)];
|
|
@@ -364,7 +378,7 @@ function getGraphqlActions(objectConfig) {
|
|
|
364
378
|
params = ctx.params;
|
|
365
379
|
_id = params._id, objectName = params.objectName, fields = params.fields;
|
|
366
380
|
userSession = ctx.meta.user;
|
|
367
|
-
steedosSchema = (0,
|
|
381
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
368
382
|
obj = steedosSchema.getObject(objectName);
|
|
369
383
|
selector = { filters: [["_id", "=", _id]] };
|
|
370
384
|
if (fields && fields.length > 0) {
|
|
@@ -389,6 +403,41 @@ function getGraphqlActions(objectConfig) {
|
|
|
389
403
|
});
|
|
390
404
|
},
|
|
391
405
|
};
|
|
406
|
+
actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.UI_PREFIX)] = {
|
|
407
|
+
handler: function (ctx) {
|
|
408
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
409
|
+
var params, _id, objectName, fields, userSession, steedosSchema, obj, selector, resolveInfo, fieldNames, doc, result;
|
|
410
|
+
return tslib_1.__generator(this, function (_a) {
|
|
411
|
+
switch (_a.label) {
|
|
412
|
+
case 0:
|
|
413
|
+
params = ctx.params;
|
|
414
|
+
_id = params._id, objectName = params.objectName, fields = params.fields;
|
|
415
|
+
userSession = ctx.meta.user;
|
|
416
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
417
|
+
obj = steedosSchema.getObject(objectName);
|
|
418
|
+
selector = { filters: [["_id", "=", _id]] };
|
|
419
|
+
if (fields && fields.length > 0) {
|
|
420
|
+
selector.fields = fields;
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
resolveInfo = ctx.meta.resolveInfo;
|
|
424
|
+
fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
|
|
425
|
+
if (!_.isEmpty(fieldNames)) {
|
|
426
|
+
selector.fields = fieldNames;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
return [4, obj.find(selector)];
|
|
430
|
+
case 1:
|
|
431
|
+
doc = (_a.sent())[0];
|
|
432
|
+
return [4, translateToUI(objectName, doc, userSession)];
|
|
433
|
+
case 2:
|
|
434
|
+
result = _a.sent();
|
|
435
|
+
return [2, result];
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
});
|
|
439
|
+
},
|
|
440
|
+
};
|
|
392
441
|
return actions;
|
|
393
442
|
}
|
|
394
443
|
exports.getGraphqlActions = getGraphqlActions;
|
|
@@ -427,14 +476,46 @@ exports.getRelatedResolver = getRelatedResolver;
|
|
|
427
476
|
function getTranslatedFieldConfig(translatedObject, name) {
|
|
428
477
|
return translatedObject.fields[name.replace(/__label$/, "")];
|
|
429
478
|
}
|
|
479
|
+
var numberToString = function (number, scale, notThousands) {
|
|
480
|
+
if (notThousands === void 0) { notThousands = false; }
|
|
481
|
+
if (typeof number === "number") {
|
|
482
|
+
number = number.toString();
|
|
483
|
+
}
|
|
484
|
+
if (!number) {
|
|
485
|
+
return '';
|
|
486
|
+
}
|
|
487
|
+
if (number !== "NaN") {
|
|
488
|
+
if (scale || scale === 0) {
|
|
489
|
+
number = Number(number).toFixed(scale);
|
|
490
|
+
}
|
|
491
|
+
if (!notThousands) {
|
|
492
|
+
if (!(scale || scale === 0)) {
|
|
493
|
+
var regDots = number.match(/\.(\d+)/);
|
|
494
|
+
scale = regDots && regDots[1] && regDots[1].length;
|
|
495
|
+
if (!scale) {
|
|
496
|
+
scale = 0;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
var reg = /(\d)(?=(\d{3})+\.)/g;
|
|
500
|
+
if (scale === 0) {
|
|
501
|
+
reg = /(\d)(?=(\d{3})+\b)/g;
|
|
502
|
+
}
|
|
503
|
+
number = number.replace(reg, '$1,');
|
|
504
|
+
}
|
|
505
|
+
return number;
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
return "";
|
|
509
|
+
}
|
|
510
|
+
};
|
|
430
511
|
function translateToDisplay(objectName, doc, userSession) {
|
|
431
512
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
432
513
|
var lng, steedosSchema, object, objConfig, fields, displayObj, utcOffset, _loop_1, _a, _b, _i, name;
|
|
433
514
|
return tslib_1.__generator(this, function (_c) {
|
|
434
515
|
switch (_c.label) {
|
|
435
516
|
case 0:
|
|
436
|
-
lng = (0,
|
|
437
|
-
steedosSchema = (0,
|
|
517
|
+
lng = (0, __3.getUserLocale)(userSession);
|
|
518
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
438
519
|
object = steedosSchema.getObject(objectName);
|
|
439
520
|
return [4, object.toConfig()];
|
|
440
521
|
case 1:
|
|
@@ -444,29 +525,29 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
444
525
|
displayObj = { _id: doc._id };
|
|
445
526
|
utcOffset = userSession.utcOffset;
|
|
446
527
|
_loop_1 = function (name) {
|
|
447
|
-
var field, fType, label, map_1, value, translatedField, translatedFieldOptions, labels_1, i,
|
|
528
|
+
var field, fType, label, map_1, value, translatedField, translatedFieldOptions, labels_1, i, refTo, refField, refValue, refObj, nameFieldKey, refRecords, refRecord, refTo, refField, refValue, refObj, nameFieldKey, refRecords, refRecord, refValue, refTo, refValues, refObj, nameFieldKey, refRecords, fileLabel, value, fileObjectName, fileObject, fileNameFieldKey, fileRecords, fileRecord;
|
|
448
529
|
return tslib_1.__generator(this, function (_d) {
|
|
449
530
|
switch (_d.label) {
|
|
450
531
|
case 0:
|
|
451
|
-
if (!Object.prototype.hasOwnProperty.call(fields, name)) return [3,
|
|
532
|
+
if (!Object.prototype.hasOwnProperty.call(fields, name)) return [3, 41];
|
|
452
533
|
field = fields[name];
|
|
453
|
-
if (!_.has(doc, name)) return [3,
|
|
534
|
+
if (!_.has(doc, name)) return [3, 40];
|
|
454
535
|
fType = field.type;
|
|
455
536
|
if (!(fType == "text")) return [3, 1];
|
|
456
537
|
displayObj[name] = doc[name] || "";
|
|
457
|
-
return [3,
|
|
538
|
+
return [3, 39];
|
|
458
539
|
case 1:
|
|
459
540
|
if (!(fType == "textarea")) return [3, 2];
|
|
460
541
|
displayObj[name] = doc[name] || "";
|
|
461
|
-
return [3,
|
|
542
|
+
return [3, 39];
|
|
462
543
|
case 2:
|
|
463
544
|
if (!(fType == "html_text")) return [3, 3];
|
|
464
545
|
displayObj[name] = doc[name] || "";
|
|
465
|
-
return [3,
|
|
546
|
+
return [3, 39];
|
|
466
547
|
case 3:
|
|
467
548
|
if (!(fType == "html")) return [3, 4];
|
|
468
549
|
displayObj[name] = doc[name] || "";
|
|
469
|
-
return [3,
|
|
550
|
+
return [3, 39];
|
|
470
551
|
case 4:
|
|
471
552
|
if (!(fType == "select")) return [3, 5];
|
|
472
553
|
label = "";
|
|
@@ -488,7 +569,7 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
488
569
|
label = map_1[value];
|
|
489
570
|
}
|
|
490
571
|
displayObj[name] = label;
|
|
491
|
-
return [3,
|
|
572
|
+
return [3, 39];
|
|
492
573
|
case 5:
|
|
493
574
|
if (!(fType == "boolean")) return [3, 6];
|
|
494
575
|
if (doc[name]) {
|
|
@@ -497,35 +578,35 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
497
578
|
else {
|
|
498
579
|
displayObj[name] = "";
|
|
499
580
|
}
|
|
500
|
-
return [3,
|
|
581
|
+
return [3, 39];
|
|
501
582
|
case 6:
|
|
502
583
|
if (!(fType == "date")) return [3, 7];
|
|
503
584
|
displayObj[name] = doc[name] ? moment.utc(doc[name])
|
|
504
585
|
.format("YYYY-MM-DD") : '';
|
|
505
|
-
return [3,
|
|
586
|
+
return [3, 39];
|
|
506
587
|
case 7:
|
|
507
588
|
if (!(fType == "datetime")) return [3, 8];
|
|
508
589
|
displayObj[name] = doc[name] ? moment(doc[name])
|
|
509
590
|
.utcOffset(utcOffset)
|
|
510
591
|
.format("YYYY-MM-DD HH:mm") : '';
|
|
511
|
-
return [3,
|
|
592
|
+
return [3, 39];
|
|
512
593
|
case 8:
|
|
513
594
|
if (!(fType == "time")) return [3, 9];
|
|
514
595
|
displayObj[name] = doc[name] ? moment.utc(doc[name])
|
|
515
596
|
.format("HH:mm") : '';
|
|
516
|
-
return [3,
|
|
597
|
+
return [3, 39];
|
|
517
598
|
case 9:
|
|
518
599
|
if (!(fType == "number")) return [3, 10];
|
|
519
|
-
displayObj[name] = doc[name]
|
|
520
|
-
return [3,
|
|
600
|
+
displayObj[name] = doc[name] ? numberToString(doc[name], field.scale) : "";
|
|
601
|
+
return [3, 39];
|
|
521
602
|
case 10:
|
|
522
603
|
if (!(fType == "currency")) return [3, 11];
|
|
523
|
-
displayObj[name] = doc[name]
|
|
524
|
-
return [3,
|
|
604
|
+
displayObj[name] = doc[name] ? numberToString(doc[name], field.scale) : "";
|
|
605
|
+
return [3, 39];
|
|
525
606
|
case 11:
|
|
526
607
|
if (!(fType == "percent")) return [3, 12];
|
|
527
608
|
displayObj[name] = "".concat(doc[name] * 100, "%");
|
|
528
|
-
return [3,
|
|
609
|
+
return [3, 39];
|
|
529
610
|
case 12:
|
|
530
611
|
if (!(fType == "password")) return [3, 13];
|
|
531
612
|
displayObj[name] = "";
|
|
@@ -534,11 +615,15 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
534
615
|
displayObj[name] += "*";
|
|
535
616
|
}
|
|
536
617
|
}
|
|
537
|
-
return [3,
|
|
618
|
+
return [3, 39];
|
|
538
619
|
case 13:
|
|
539
620
|
if (!(fType == "lookup" && _.isString(field.reference_to))) return [3, 19];
|
|
540
|
-
lookupLabel = "";
|
|
541
621
|
refTo = field.reference_to;
|
|
622
|
+
refField = field.reference_to_field || '_id';
|
|
623
|
+
if (refTo === 'users') {
|
|
624
|
+
refTo = 'space_users';
|
|
625
|
+
refField = 'user';
|
|
626
|
+
}
|
|
542
627
|
refValue = doc[name];
|
|
543
628
|
if (!refValue) {
|
|
544
629
|
return [2, "continue"];
|
|
@@ -549,30 +634,32 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
549
634
|
nameFieldKey = _d.sent();
|
|
550
635
|
if (!field.multiple) return [3, 16];
|
|
551
636
|
return [4, refObj.find({
|
|
552
|
-
filters: [
|
|
637
|
+
filters: [refField, "in", refValue],
|
|
553
638
|
fields: [nameFieldKey],
|
|
554
639
|
})];
|
|
555
640
|
case 15:
|
|
556
641
|
refRecords = _d.sent();
|
|
557
|
-
|
|
642
|
+
displayObj[name] = _.pluck(refRecords, nameFieldKey).join(',');
|
|
558
643
|
return [3, 18];
|
|
559
644
|
case 16: return [4, refObj.find({
|
|
560
|
-
filters: [
|
|
645
|
+
filters: [refField, "=", refValue],
|
|
561
646
|
fields: [nameFieldKey],
|
|
562
647
|
})];
|
|
563
648
|
case 17:
|
|
564
649
|
refRecord = (_d.sent())[0];
|
|
565
650
|
if (refRecord) {
|
|
566
|
-
|
|
651
|
+
displayObj[name] = refRecord[nameFieldKey];
|
|
567
652
|
}
|
|
568
653
|
_d.label = 18;
|
|
569
|
-
case 18:
|
|
570
|
-
displayObj[name] = lookupLabel;
|
|
571
|
-
return [3, 36];
|
|
654
|
+
case 18: return [3, 39];
|
|
572
655
|
case 19:
|
|
573
656
|
if (!(fType == "master_detail" && _.isString(field.reference_to))) return [3, 25];
|
|
574
|
-
masterDetailLabel = "";
|
|
575
657
|
refTo = field.reference_to;
|
|
658
|
+
refField = field.reference_to_field || '_id';
|
|
659
|
+
if (refTo === 'users') {
|
|
660
|
+
refTo = 'space_users';
|
|
661
|
+
refField = 'user';
|
|
662
|
+
}
|
|
576
663
|
refValue = doc[name];
|
|
577
664
|
if (!refValue) {
|
|
578
665
|
return [2, "continue"];
|
|
@@ -583,48 +670,69 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
583
670
|
nameFieldKey = _d.sent();
|
|
584
671
|
if (!field.multiple) return [3, 22];
|
|
585
672
|
return [4, refObj.find({
|
|
586
|
-
filters: [
|
|
673
|
+
filters: [refField, "in", refValue],
|
|
587
674
|
fields: [nameFieldKey],
|
|
588
675
|
})];
|
|
589
676
|
case 21:
|
|
590
677
|
refRecords = _d.sent();
|
|
591
|
-
|
|
678
|
+
displayObj[name] = _.pluck(refRecords, nameFieldKey).join(',');
|
|
592
679
|
return [3, 24];
|
|
593
680
|
case 22: return [4, refObj.find({
|
|
594
|
-
filters: [
|
|
681
|
+
filters: [refField, "=", refValue],
|
|
595
682
|
fields: [nameFieldKey],
|
|
596
683
|
})];
|
|
597
684
|
case 23:
|
|
598
685
|
refRecord = (_d.sent())[0];
|
|
599
686
|
if (refRecord) {
|
|
600
|
-
|
|
687
|
+
displayObj[name] = refRecord[nameFieldKey];
|
|
601
688
|
}
|
|
602
689
|
_d.label = 24;
|
|
603
|
-
case 24:
|
|
604
|
-
displayObj[name] = masterDetailLabel;
|
|
605
|
-
return [3, 36];
|
|
690
|
+
case 24: return [3, 39];
|
|
606
691
|
case 25:
|
|
607
|
-
if (!(fType == "
|
|
608
|
-
|
|
609
|
-
|
|
692
|
+
if (!((fType == "master_detail" || fType == "lookup") && field.reference_to && !_.isString(field.reference_to))) return [3, 28];
|
|
693
|
+
refValue = doc[name];
|
|
694
|
+
if (!refValue) {
|
|
695
|
+
return [2, "continue"];
|
|
696
|
+
}
|
|
697
|
+
refTo = refValue.o;
|
|
698
|
+
refValues = refValue.ids;
|
|
699
|
+
if (!refTo) {
|
|
700
|
+
return [2, "continue"];
|
|
701
|
+
}
|
|
702
|
+
refObj = steedosSchema.getObject(refTo);
|
|
703
|
+
return [4, refObj.getNameFieldKey()];
|
|
610
704
|
case 26:
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
705
|
+
nameFieldKey = _d.sent();
|
|
706
|
+
return [4, refObj.find({
|
|
707
|
+
filters: ["_id", "in", refValues],
|
|
708
|
+
fields: [nameFieldKey]
|
|
709
|
+
})];
|
|
614
710
|
case 27:
|
|
615
|
-
|
|
616
|
-
displayObj[name] =
|
|
617
|
-
return [3,
|
|
711
|
+
refRecords = _d.sent();
|
|
712
|
+
displayObj[name] = _.pluck(refRecords, nameFieldKey).join(',');
|
|
713
|
+
return [3, 39];
|
|
618
714
|
case 28:
|
|
619
|
-
if (!(fType == "
|
|
715
|
+
if (!(fType == "autonumber")) return [3, 29];
|
|
620
716
|
displayObj[name] = doc[name] || "";
|
|
621
|
-
return [3,
|
|
717
|
+
return [3, 39];
|
|
622
718
|
case 29:
|
|
623
|
-
if (!(fType == "
|
|
719
|
+
if (!(fType == "url")) return [3, 30];
|
|
624
720
|
displayObj[name] = doc[name] || "";
|
|
625
|
-
return [3,
|
|
721
|
+
return [3, 39];
|
|
626
722
|
case 30:
|
|
627
|
-
if (!(fType == "
|
|
723
|
+
if (!(fType == "email")) return [3, 31];
|
|
724
|
+
displayObj[name] = doc[name] || "";
|
|
725
|
+
return [3, 39];
|
|
726
|
+
case 31:
|
|
727
|
+
if (!(fType == "formula")) return [3, 32];
|
|
728
|
+
displayObj[name] = doc[name] || "";
|
|
729
|
+
return [3, 39];
|
|
730
|
+
case 32:
|
|
731
|
+
if (!(fType == "summary")) return [3, 33];
|
|
732
|
+
displayObj[name] = doc[name] || "";
|
|
733
|
+
return [3, 39];
|
|
734
|
+
case 33:
|
|
735
|
+
if (!(fType == "image" || fType == "file")) return [3, 38];
|
|
628
736
|
fileLabel = "";
|
|
629
737
|
value = doc[name];
|
|
630
738
|
if (!value) {
|
|
@@ -633,40 +741,40 @@ function translateToDisplay(objectName, doc, userSession) {
|
|
|
633
741
|
fileObjectName = fType == "image" ? "cfs_images_filerecord" : "cfs_files_filerecord";
|
|
634
742
|
fileObject = steedosSchema.getObject(fileObjectName);
|
|
635
743
|
fileNameFieldKey = "original.name";
|
|
636
|
-
if (!field.multiple) return [3,
|
|
744
|
+
if (!field.multiple) return [3, 35];
|
|
637
745
|
return [4, fileObject.find({
|
|
638
746
|
filters: ["_id", "in", value],
|
|
639
747
|
fields: [fileNameFieldKey],
|
|
640
748
|
})];
|
|
641
|
-
case
|
|
749
|
+
case 34:
|
|
642
750
|
fileRecords = _d.sent();
|
|
643
751
|
fileLabel = _.map(fileRecords, function (fileRecord) {
|
|
644
752
|
var _a;
|
|
645
753
|
return (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.name;
|
|
646
754
|
}).join(",");
|
|
647
|
-
return [3,
|
|
648
|
-
case
|
|
755
|
+
return [3, 37];
|
|
756
|
+
case 35: return [4, fileObject.find({
|
|
649
757
|
filters: ["_id", "=", value],
|
|
650
758
|
fields: [fileNameFieldKey],
|
|
651
759
|
})];
|
|
652
|
-
case
|
|
760
|
+
case 36:
|
|
653
761
|
fileRecord = (_d.sent())[0];
|
|
654
762
|
if (fileRecord) {
|
|
655
763
|
fileLabel = fileRecord["original"]["name"];
|
|
656
764
|
}
|
|
657
|
-
_d.label =
|
|
658
|
-
case
|
|
765
|
+
_d.label = 37;
|
|
766
|
+
case 37:
|
|
659
767
|
displayObj[name] = fileLabel;
|
|
660
|
-
return [3,
|
|
661
|
-
case
|
|
768
|
+
return [3, 39];
|
|
769
|
+
case 38:
|
|
662
770
|
console.error("Graphql Display: need to handle new field type ".concat(field.type, " for ").concat(objectName, "."));
|
|
663
771
|
displayObj[name] = doc[name] || "";
|
|
664
|
-
_d.label =
|
|
665
|
-
case
|
|
666
|
-
case
|
|
772
|
+
_d.label = 39;
|
|
773
|
+
case 39: return [3, 41];
|
|
774
|
+
case 40:
|
|
667
775
|
displayObj[name] = "";
|
|
668
|
-
_d.label =
|
|
669
|
-
case
|
|
776
|
+
_d.label = 41;
|
|
777
|
+
case 41: return [2];
|
|
670
778
|
}
|
|
671
779
|
});
|
|
672
780
|
};
|
|
@@ -704,12 +812,366 @@ function _getDisplayType(typeName, fields) {
|
|
|
704
812
|
type += "}";
|
|
705
813
|
return type;
|
|
706
814
|
}
|
|
815
|
+
var getFileStorageName = function (type) {
|
|
816
|
+
switch (type) {
|
|
817
|
+
case 'avatar':
|
|
818
|
+
return 'avatars';
|
|
819
|
+
case 'image':
|
|
820
|
+
return 'images';
|
|
821
|
+
case 'file':
|
|
822
|
+
return 'files';
|
|
823
|
+
default:
|
|
824
|
+
break;
|
|
825
|
+
}
|
|
826
|
+
};
|
|
827
|
+
function translateToUI(objectName, doc, userSession) {
|
|
828
|
+
var _a, _b;
|
|
829
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
830
|
+
var lng, steedosSchema, object, objConfig, fields, displayObj, utcOffset, _loop_2, _c, _d, _i, name;
|
|
831
|
+
return tslib_1.__generator(this, function (_e) {
|
|
832
|
+
switch (_e.label) {
|
|
833
|
+
case 0:
|
|
834
|
+
lng = (0, __3.getUserLocale)(userSession);
|
|
835
|
+
steedosSchema = (0, __3.getSteedosSchema)();
|
|
836
|
+
object = steedosSchema.getObject(objectName);
|
|
837
|
+
return [4, object.toConfig()];
|
|
838
|
+
case 1:
|
|
839
|
+
objConfig = _e.sent();
|
|
840
|
+
fields = objConfig.fields;
|
|
841
|
+
(0, i18n_1.translationObject)(lng, objConfig.name, objConfig);
|
|
842
|
+
displayObj = { _id: doc._id };
|
|
843
|
+
utcOffset = userSession.utcOffset;
|
|
844
|
+
_loop_2 = function (name) {
|
|
845
|
+
var field, fType, label, map_2, value, translatedField, translatedFieldOptions, labels_2, i, refTo_1, refField, refValue, refObj, nameFieldKey_1, refRecords, refRecord, refTo_2, refField, refValue, refObj, nameFieldKey_2, refRecords, refRecord, refValue, refTo_3, refValues, refObj, nameFieldKey_3, refRecords, fileValue, value, storageName_1, fileObjectName, fileObject, fileNameFieldKey, fileRecords, fileRecord;
|
|
846
|
+
return tslib_1.__generator(this, function (_f) {
|
|
847
|
+
switch (_f.label) {
|
|
848
|
+
case 0:
|
|
849
|
+
if (!Object.prototype.hasOwnProperty.call(fields, name)) return [3, 41];
|
|
850
|
+
field = fields[name];
|
|
851
|
+
if (!_.has(doc, name)) return [3, 40];
|
|
852
|
+
fType = field.type;
|
|
853
|
+
if (!(fType == "text")) return [3, 1];
|
|
854
|
+
displayObj[name] = doc[name] || "";
|
|
855
|
+
return [3, 39];
|
|
856
|
+
case 1:
|
|
857
|
+
if (!(fType == "textarea")) return [3, 2];
|
|
858
|
+
displayObj[name] = doc[name] || "";
|
|
859
|
+
return [3, 39];
|
|
860
|
+
case 2:
|
|
861
|
+
if (!(fType == "html_text")) return [3, 3];
|
|
862
|
+
displayObj[name] = doc[name] || "";
|
|
863
|
+
return [3, 39];
|
|
864
|
+
case 3:
|
|
865
|
+
if (!(fType == "html")) return [3, 4];
|
|
866
|
+
displayObj[name] = doc[name] || "";
|
|
867
|
+
return [3, 39];
|
|
868
|
+
case 4:
|
|
869
|
+
if (!(fType == "select")) return [3, 5];
|
|
870
|
+
label = "";
|
|
871
|
+
map_2 = {};
|
|
872
|
+
value = doc[name];
|
|
873
|
+
translatedField = getTranslatedFieldConfig(objConfig, name);
|
|
874
|
+
translatedFieldOptions = translatedField && translatedField.options;
|
|
875
|
+
_.forEach(translatedFieldOptions, function (o) {
|
|
876
|
+
map_2[o.value] = o.label;
|
|
877
|
+
});
|
|
878
|
+
if (field.multiple) {
|
|
879
|
+
labels_2 = [];
|
|
880
|
+
_.forEach(value, function (v) {
|
|
881
|
+
labels_2.push(map_2[v]);
|
|
882
|
+
});
|
|
883
|
+
label = labels_2.join(",");
|
|
884
|
+
}
|
|
885
|
+
else {
|
|
886
|
+
label = map_2[value];
|
|
887
|
+
}
|
|
888
|
+
displayObj[name] = label;
|
|
889
|
+
return [3, 39];
|
|
890
|
+
case 5:
|
|
891
|
+
if (!(fType == "boolean")) return [3, 6];
|
|
892
|
+
if (doc[name]) {
|
|
893
|
+
displayObj[name] = "√";
|
|
894
|
+
}
|
|
895
|
+
else {
|
|
896
|
+
displayObj[name] = "";
|
|
897
|
+
}
|
|
898
|
+
return [3, 39];
|
|
899
|
+
case 6:
|
|
900
|
+
if (!(fType == "date")) return [3, 7];
|
|
901
|
+
displayObj[name] = doc[name] ? moment.utc(doc[name])
|
|
902
|
+
.format("YYYY-MM-DD") : '';
|
|
903
|
+
return [3, 39];
|
|
904
|
+
case 7:
|
|
905
|
+
if (!(fType == "datetime")) return [3, 8];
|
|
906
|
+
displayObj[name] = doc[name] ? moment(doc[name])
|
|
907
|
+
.utcOffset(utcOffset)
|
|
908
|
+
.format("YYYY-MM-DD HH:mm") : '';
|
|
909
|
+
return [3, 39];
|
|
910
|
+
case 8:
|
|
911
|
+
if (!(fType == "time")) return [3, 9];
|
|
912
|
+
displayObj[name] = doc[name] ? moment.utc(doc[name])
|
|
913
|
+
.format("HH:mm") : '';
|
|
914
|
+
return [3, 39];
|
|
915
|
+
case 9:
|
|
916
|
+
if (!(fType == "number")) return [3, 10];
|
|
917
|
+
displayObj[name] = doc[name] ? numberToString(doc[name], field.scale) : "";
|
|
918
|
+
return [3, 39];
|
|
919
|
+
case 10:
|
|
920
|
+
if (!(fType == "currency")) return [3, 11];
|
|
921
|
+
displayObj[name] = doc[name] ? numberToString(doc[name], field.scale) : "";
|
|
922
|
+
return [3, 39];
|
|
923
|
+
case 11:
|
|
924
|
+
if (!(fType == "percent")) return [3, 12];
|
|
925
|
+
displayObj[name] = "".concat(doc[name] * 100, "%");
|
|
926
|
+
return [3, 39];
|
|
927
|
+
case 12:
|
|
928
|
+
if (!(fType == "password")) return [3, 13];
|
|
929
|
+
displayObj[name] = "";
|
|
930
|
+
if (_.isString(doc[name])) {
|
|
931
|
+
for (i = 0; i < doc[name].length; i++) {
|
|
932
|
+
displayObj[name] += "*";
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
return [3, 39];
|
|
936
|
+
case 13:
|
|
937
|
+
if (!(fType == "lookup" && _.isString(field.reference_to))) return [3, 19];
|
|
938
|
+
refTo_1 = field.reference_to;
|
|
939
|
+
refField = field.reference_to_field || '_id';
|
|
940
|
+
if (refTo_1 === 'users') {
|
|
941
|
+
refTo_1 = 'space_users';
|
|
942
|
+
refField = 'user';
|
|
943
|
+
}
|
|
944
|
+
refValue = doc[name];
|
|
945
|
+
if (!refValue) {
|
|
946
|
+
return [2, "continue"];
|
|
947
|
+
}
|
|
948
|
+
refObj = steedosSchema.getObject(refTo_1);
|
|
949
|
+
return [4, refObj.getNameFieldKey()];
|
|
950
|
+
case 14:
|
|
951
|
+
nameFieldKey_1 = _f.sent();
|
|
952
|
+
if (!field.multiple) return [3, 16];
|
|
953
|
+
return [4, refObj.find({
|
|
954
|
+
filters: [refField, "in", refValue],
|
|
955
|
+
fields: [nameFieldKey_1],
|
|
956
|
+
})];
|
|
957
|
+
case 15:
|
|
958
|
+
refRecords = _f.sent();
|
|
959
|
+
displayObj[name] = _.map(refRecords, function (item) {
|
|
960
|
+
return {
|
|
961
|
+
objectName: refTo_1,
|
|
962
|
+
value: item._id,
|
|
963
|
+
label: item[nameFieldKey_1]
|
|
964
|
+
};
|
|
965
|
+
});
|
|
966
|
+
return [3, 18];
|
|
967
|
+
case 16: return [4, refObj.find({
|
|
968
|
+
filters: [refField, "=", refValue],
|
|
969
|
+
fields: [nameFieldKey_1],
|
|
970
|
+
})];
|
|
971
|
+
case 17:
|
|
972
|
+
refRecord = (_f.sent())[0];
|
|
973
|
+
if (refRecord) {
|
|
974
|
+
displayObj[name] = {
|
|
975
|
+
objectName: refTo_1,
|
|
976
|
+
value: refRecord._id,
|
|
977
|
+
label: refRecord[nameFieldKey_1]
|
|
978
|
+
};
|
|
979
|
+
}
|
|
980
|
+
_f.label = 18;
|
|
981
|
+
case 18: return [3, 39];
|
|
982
|
+
case 19:
|
|
983
|
+
if (!(fType == "master_detail" && _.isString(field.reference_to))) return [3, 25];
|
|
984
|
+
refTo_2 = field.reference_to;
|
|
985
|
+
refField = field.reference_to_field || '_id';
|
|
986
|
+
if (refTo_2 === 'users') {
|
|
987
|
+
refTo_2 = 'space_users';
|
|
988
|
+
refField = 'user';
|
|
989
|
+
}
|
|
990
|
+
refValue = doc[name];
|
|
991
|
+
if (!refValue) {
|
|
992
|
+
return [2, "continue"];
|
|
993
|
+
}
|
|
994
|
+
refObj = steedosSchema.getObject(refTo_2);
|
|
995
|
+
return [4, refObj.getNameFieldKey()];
|
|
996
|
+
case 20:
|
|
997
|
+
nameFieldKey_2 = _f.sent();
|
|
998
|
+
if (!field.multiple) return [3, 22];
|
|
999
|
+
return [4, refObj.find({
|
|
1000
|
+
filters: [refField, "in", refValue],
|
|
1001
|
+
fields: [nameFieldKey_2],
|
|
1002
|
+
})];
|
|
1003
|
+
case 21:
|
|
1004
|
+
refRecords = _f.sent();
|
|
1005
|
+
displayObj[name] = _.map(refRecords, function (item) {
|
|
1006
|
+
return {
|
|
1007
|
+
objectName: refTo_2,
|
|
1008
|
+
value: item._id,
|
|
1009
|
+
label: item[nameFieldKey_2]
|
|
1010
|
+
};
|
|
1011
|
+
});
|
|
1012
|
+
return [3, 24];
|
|
1013
|
+
case 22: return [4, refObj.find({
|
|
1014
|
+
filters: [refField, "=", refValue],
|
|
1015
|
+
fields: [nameFieldKey_2],
|
|
1016
|
+
})];
|
|
1017
|
+
case 23:
|
|
1018
|
+
refRecord = (_f.sent())[0];
|
|
1019
|
+
if (refRecord) {
|
|
1020
|
+
displayObj[name] = {
|
|
1021
|
+
objectName: refTo_2,
|
|
1022
|
+
value: refRecord._id,
|
|
1023
|
+
label: refRecord[nameFieldKey_2]
|
|
1024
|
+
};
|
|
1025
|
+
}
|
|
1026
|
+
_f.label = 24;
|
|
1027
|
+
case 24: return [3, 39];
|
|
1028
|
+
case 25:
|
|
1029
|
+
if (!((fType == "master_detail" || fType == "lookup") && field.reference_to && !_.isString(field.reference_to))) return [3, 28];
|
|
1030
|
+
refValue = doc[name];
|
|
1031
|
+
if (!refValue) {
|
|
1032
|
+
return [2, "continue"];
|
|
1033
|
+
}
|
|
1034
|
+
refTo_3 = refValue.o;
|
|
1035
|
+
refValues = refValue.ids;
|
|
1036
|
+
if (!refTo_3) {
|
|
1037
|
+
return [2, "continue"];
|
|
1038
|
+
}
|
|
1039
|
+
refObj = steedosSchema.getObject(refTo_3);
|
|
1040
|
+
return [4, refObj.getNameFieldKey()];
|
|
1041
|
+
case 26:
|
|
1042
|
+
nameFieldKey_3 = _f.sent();
|
|
1043
|
+
return [4, refObj.find({
|
|
1044
|
+
filters: ["_id", "in", refValues],
|
|
1045
|
+
fields: [nameFieldKey_3]
|
|
1046
|
+
})];
|
|
1047
|
+
case 27:
|
|
1048
|
+
refRecords = _f.sent();
|
|
1049
|
+
displayObj[name] = _.map(refRecords, function (item) {
|
|
1050
|
+
return {
|
|
1051
|
+
objectName: refTo_3,
|
|
1052
|
+
value: item._id,
|
|
1053
|
+
label: item[nameFieldKey_3]
|
|
1054
|
+
};
|
|
1055
|
+
});
|
|
1056
|
+
return [3, 39];
|
|
1057
|
+
case 28:
|
|
1058
|
+
if (!(fType == "autonumber")) return [3, 29];
|
|
1059
|
+
displayObj[name] = doc[name] || "";
|
|
1060
|
+
return [3, 39];
|
|
1061
|
+
case 29:
|
|
1062
|
+
if (!(fType == "url")) return [3, 30];
|
|
1063
|
+
displayObj[name] = doc[name] || "";
|
|
1064
|
+
return [3, 39];
|
|
1065
|
+
case 30:
|
|
1066
|
+
if (!(fType == "email")) return [3, 31];
|
|
1067
|
+
displayObj[name] = doc[name] || "";
|
|
1068
|
+
return [3, 39];
|
|
1069
|
+
case 31:
|
|
1070
|
+
if (!(fType == "formula")) return [3, 32];
|
|
1071
|
+
displayObj[name] = doc[name] || "";
|
|
1072
|
+
return [3, 39];
|
|
1073
|
+
case 32:
|
|
1074
|
+
if (!(fType == "summary")) return [3, 33];
|
|
1075
|
+
displayObj[name] = doc[name] || "";
|
|
1076
|
+
return [3, 39];
|
|
1077
|
+
case 33:
|
|
1078
|
+
if (!(fType == "image" || fType == "file" || fType === 'avatar')) return [3, 38];
|
|
1079
|
+
fileValue = null;
|
|
1080
|
+
value = doc[name];
|
|
1081
|
+
if (!value) {
|
|
1082
|
+
return [2, "continue"];
|
|
1083
|
+
}
|
|
1084
|
+
storageName_1 = getFileStorageName(fType);
|
|
1085
|
+
fileObjectName = "cfs_".concat(storageName_1, "_filerecord");
|
|
1086
|
+
fileObject = steedosSchema.getObject(fileObjectName);
|
|
1087
|
+
fileNameFieldKey = "original.name";
|
|
1088
|
+
if (!field.multiple) return [3, 35];
|
|
1089
|
+
return [4, fileObject.find({
|
|
1090
|
+
filters: ["_id", "in", value],
|
|
1091
|
+
fields: ['_id', fileNameFieldKey, 'original.size', 'original.type'],
|
|
1092
|
+
})];
|
|
1093
|
+
case 34:
|
|
1094
|
+
fileRecords = _f.sent();
|
|
1095
|
+
fileValue = _.map(fileRecords, function (fileRecord) {
|
|
1096
|
+
var _a, _b, _c;
|
|
1097
|
+
return {
|
|
1098
|
+
name: (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.name,
|
|
1099
|
+
url: (0, __2.absoluteUrl)("/api/files/".concat(storageName_1, "/").concat(fileRecord._id)),
|
|
1100
|
+
size: (_b = fileRecord.original) === null || _b === void 0 ? void 0 : _b.size,
|
|
1101
|
+
type: (_c = fileRecord.original) === null || _c === void 0 ? void 0 : _c.type,
|
|
1102
|
+
};
|
|
1103
|
+
});
|
|
1104
|
+
return [3, 37];
|
|
1105
|
+
case 35: return [4, fileObject.find({
|
|
1106
|
+
filters: ["_id", "=", value],
|
|
1107
|
+
fields: ['_id', fileNameFieldKey, 'original.size', 'original.type'],
|
|
1108
|
+
})];
|
|
1109
|
+
case 36:
|
|
1110
|
+
fileRecord = (_f.sent())[0];
|
|
1111
|
+
if (fileRecord) {
|
|
1112
|
+
fileValue = {
|
|
1113
|
+
name: fileRecord["original"]["name"],
|
|
1114
|
+
url: (0, __2.absoluteUrl)("/api/files/".concat(storageName_1, "/").concat(value)),
|
|
1115
|
+
size: (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.size,
|
|
1116
|
+
type: (_b = fileRecord.original) === null || _b === void 0 ? void 0 : _b.type
|
|
1117
|
+
};
|
|
1118
|
+
}
|
|
1119
|
+
_f.label = 37;
|
|
1120
|
+
case 37:
|
|
1121
|
+
displayObj[name] = fileValue;
|
|
1122
|
+
return [3, 39];
|
|
1123
|
+
case 38:
|
|
1124
|
+
console.error("Graphql Display: need to handle new field type ".concat(field.type, " for ").concat(objectName, "."));
|
|
1125
|
+
displayObj[name] = doc[name] || "";
|
|
1126
|
+
_f.label = 39;
|
|
1127
|
+
case 39: return [3, 41];
|
|
1128
|
+
case 40:
|
|
1129
|
+
displayObj[name] = "";
|
|
1130
|
+
_f.label = 41;
|
|
1131
|
+
case 41: return [2];
|
|
1132
|
+
}
|
|
1133
|
+
});
|
|
1134
|
+
};
|
|
1135
|
+
_c = [];
|
|
1136
|
+
for (_d in fields)
|
|
1137
|
+
_c.push(_d);
|
|
1138
|
+
_i = 0;
|
|
1139
|
+
_e.label = 2;
|
|
1140
|
+
case 2:
|
|
1141
|
+
if (!(_i < _c.length)) return [3, 5];
|
|
1142
|
+
name = _c[_i];
|
|
1143
|
+
return [5, _loop_2(name)];
|
|
1144
|
+
case 3:
|
|
1145
|
+
_e.sent();
|
|
1146
|
+
_e.label = 4;
|
|
1147
|
+
case 4:
|
|
1148
|
+
_i++;
|
|
1149
|
+
return [3, 2];
|
|
1150
|
+
case 5: return [2, displayObj];
|
|
1151
|
+
}
|
|
1152
|
+
});
|
|
1153
|
+
});
|
|
1154
|
+
}
|
|
1155
|
+
function _getUIType(typeName, fields) {
|
|
1156
|
+
var type = "type ".concat(typeName, " { _id: String ");
|
|
1157
|
+
if (_.has(fields, "_id")) {
|
|
1158
|
+
type = "type ".concat(typeName, " { ");
|
|
1159
|
+
}
|
|
1160
|
+
_.each(fields, function (field, name) {
|
|
1161
|
+
if (name.indexOf(".") > -1) {
|
|
1162
|
+
return;
|
|
1163
|
+
}
|
|
1164
|
+
type += "".concat(name, ": JSON ");
|
|
1165
|
+
});
|
|
1166
|
+
type += "}";
|
|
1167
|
+
return type;
|
|
1168
|
+
}
|
|
707
1169
|
function getLocalService(objectApiName) {
|
|
708
|
-
var steedosSchema = (0,
|
|
1170
|
+
var steedosSchema = (0, __3.getSteedosSchema)();
|
|
709
1171
|
return steedosSchema.broker.getLocalService((0, __1.getObjectServiceName)(objectApiName));
|
|
710
1172
|
}
|
|
711
1173
|
exports.getLocalService = getLocalService;
|
|
712
1174
|
tslib_1.__exportStar(require("./getQueryFields"), exports);
|
|
713
1175
|
tslib_1.__exportStar(require("./consts"), exports);
|
|
714
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
|
|
1176
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
|
|
715
1177
|
//# sourceMappingURL=index.js.map
|