@steedos/objectql 2.3.6 → 2.3.8

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.
Files changed (35) hide show
  1. package/lib/actions/workflow_notifications.js +1 -5
  2. package/lib/actions/workflow_notifications.js.map +1 -1
  3. package/lib/dynamic-load/client_script.js +1 -1
  4. package/lib/dynamic-load/client_script.js.map +1 -1
  5. package/lib/dynamic-load/package.js +0 -5
  6. package/lib/dynamic-load/package.js.map +1 -1
  7. package/lib/services/helpers/graphql/consts.d.ts +0 -2
  8. package/lib/services/helpers/graphql/consts.js +1 -3
  9. package/lib/services/helpers/graphql/consts.js.map +1 -1
  10. package/lib/services/helpers/graphql/index.d.ts +26 -6
  11. package/lib/services/helpers/graphql/index.js +1191 -16
  12. package/lib/services/helpers/graphql/index.js.map +1 -1
  13. package/lib/services/objectService.d.ts +0 -6
  14. package/lib/services/objectService.js +2 -29
  15. package/lib/services/objectService.js.map +1 -1
  16. package/lib/services/objectServiceDispatcher.js +0 -10
  17. package/lib/services/objectServiceDispatcher.js.map +1 -1
  18. package/lib/types/object.js +2 -2
  19. package/lib/types/object.js.map +1 -1
  20. package/package.json +13 -13
  21. package/lib/services/helpers/graphql/dealWithRelatedFields.d.ts +0 -16
  22. package/lib/services/helpers/graphql/dealWithRelatedFields.js +0 -73
  23. package/lib/services/helpers/graphql/dealWithRelatedFields.js.map +0 -1
  24. package/lib/services/helpers/graphql/generateActionGraphqlProp.d.ts +0 -2
  25. package/lib/services/helpers/graphql/generateActionGraphqlProp.js +0 -38
  26. package/lib/services/helpers/graphql/generateActionGraphqlProp.js.map +0 -1
  27. package/lib/services/helpers/graphql/generateSettingsGraphql.d.ts +0 -5
  28. package/lib/services/helpers/graphql/generateSettingsGraphql.js +0 -216
  29. package/lib/services/helpers/graphql/generateSettingsGraphql.js.map +0 -1
  30. package/lib/services/helpers/graphql/getGraphqlActions.d.ts +0 -2
  31. package/lib/services/helpers/graphql/getGraphqlActions.js +0 -894
  32. package/lib/services/helpers/graphql/getGraphqlActions.js.map +0 -1
  33. package/lib/services/helpers/graphql/utils.d.ts +0 -8
  34. package/lib/services/helpers/graphql/utils.js +0 -128
  35. package/lib/services/helpers/graphql/utils.js.map +0 -1
@@ -1,894 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGraphqlActions = void 0;
4
- var tslib_1 = require("tslib");
5
- var _ = require("underscore");
6
- var i18n_1 = require("@steedos/i18n");
7
- var moment = require("moment");
8
- var __1 = require("../../..");
9
- var consts_1 = require("./consts");
10
- var getQueryFields_1 = require("./getQueryFields");
11
- var utils_1 = require("./utils");
12
- function getGraphqlActions(objectConfig) {
13
- var actions = {};
14
- var objName = objectConfig.name;
15
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.EXPAND_SUFFIX, "_multiple")] = {
16
- handler: function (ctx) {
17
- return tslib_1.__awaiter(this, void 0, void 0, function () {
18
- var _a, ids, objectName, referenceToField, filters, selector, steedosSchema, obj, resolveInfo, fieldNames;
19
- return tslib_1.__generator(this, function (_b) {
20
- _a = ctx.params, ids = _a.ids, objectName = _a.objectName, referenceToField = _a.referenceToField;
21
- if (_.isEmpty(ids)) {
22
- return [2, null];
23
- }
24
- filters = [[referenceToField || "_id", "in", ids]];
25
- selector = { filters: filters };
26
- steedosSchema = (0, __1.getSteedosSchema)();
27
- obj = steedosSchema.getObject(objectName);
28
- resolveInfo = ctx.meta.resolveInfo;
29
- fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
30
- if (!_.isEmpty(fieldNames)) {
31
- selector.fields = fieldNames;
32
- }
33
- return [2, obj.find(selector)];
34
- });
35
- });
36
- },
37
- };
38
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.EXPAND_SUFFIX)] = {
39
- handler: function (ctx) {
40
- return tslib_1.__awaiter(this, void 0, void 0, function () {
41
- var _a, id, objectName, referenceToField, steedosSchema, obj, selector, resolveInfo, fieldNames;
42
- return tslib_1.__generator(this, function (_b) {
43
- switch (_b.label) {
44
- case 0:
45
- _a = ctx.params, id = _a.id, objectName = _a.objectName, referenceToField = _a.referenceToField;
46
- if (!id) {
47
- return [2];
48
- }
49
- steedosSchema = (0, __1.getSteedosSchema)();
50
- obj = steedosSchema.getObject(objectName);
51
- selector = { filters: [[referenceToField || "_id", "=", id]] };
52
- resolveInfo = ctx.meta.resolveInfo;
53
- fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
54
- if (!_.isEmpty(fieldNames)) {
55
- selector.fields = fieldNames;
56
- }
57
- return [4, obj.find(selector)];
58
- case 1: return [2, (_b.sent())[0]];
59
- }
60
- });
61
- });
62
- },
63
- };
64
- if ([
65
- "cms_files",
66
- "tasks",
67
- "notes",
68
- "events",
69
- "audit_records",
70
- "instances",
71
- "approvals",
72
- ].includes(objName)) {
73
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.RELATED_PREFIX, "_enabled")] = {
74
- handler: function (ctx) {
75
- return tslib_1.__awaiter(this, void 0, void 0, function () {
76
- var params, _parentId, _related_params, objectName, parentObjectName, foreignKey, userSession, steedosSchema, object, filters;
77
- return tslib_1.__generator(this, function (_a) {
78
- switch (_a.label) {
79
- case 0:
80
- params = ctx.params;
81
- _parentId = params._parentId, _related_params = params._related_params;
82
- objectName = _related_params.objectName, parentObjectName = _related_params.parentObjectName, foreignKey = _related_params.foreignKey;
83
- userSession = ctx.meta.user;
84
- steedosSchema = (0, __1.getSteedosSchema)();
85
- object = steedosSchema.getObject(objectName);
86
- filters = [];
87
- filters = [
88
- ["".concat(foreignKey, ".o"), "=", parentObjectName],
89
- ["".concat(foreignKey, ".ids"), "=", _parentId],
90
- ];
91
- if (params.filters) {
92
- filters.push(params.filters);
93
- }
94
- params.filters = filters;
95
- return [4, object.find(params, userSession)];
96
- case 1: return [2, _a.sent()];
97
- }
98
- });
99
- });
100
- },
101
- };
102
- }
103
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.RELATED_PREFIX)] = {
104
- handler: function (ctx) {
105
- return tslib_1.__awaiter(this, void 0, void 0, function () {
106
- var params, _parentId, _related_params, objectName, parentObjectName, fieldName, referenceToParentFieldName, userSession, steedosSchema, object, parentObj, parent, filters, _idValue, resolveInfo, fieldNames;
107
- return tslib_1.__generator(this, function (_a) {
108
- switch (_a.label) {
109
- case 0:
110
- params = ctx.params;
111
- _parentId = params._parentId, _related_params = params._related_params;
112
- objectName = _related_params.objectName, parentObjectName = _related_params.parentObjectName, fieldName = _related_params.fieldName, referenceToParentFieldName = _related_params.referenceToParentFieldName;
113
- userSession = ctx.meta.user;
114
- steedosSchema = (0, __1.getSteedosSchema)();
115
- object = steedosSchema.getObject(objectName);
116
- parentObj = steedosSchema.getObject(parentObjectName);
117
- return [4, parentObj.findOne(_parentId)];
118
- case 1:
119
- parent = _a.sent();
120
- filters = [];
121
- _idValue = parent._id;
122
- if (referenceToParentFieldName) {
123
- _idValue = parent[referenceToParentFieldName];
124
- }
125
- filters = [[fieldName, "=", _idValue]];
126
- if (params.filters) {
127
- filters.push(params.filters);
128
- }
129
- params.filters = filters;
130
- resolveInfo = ctx.meta.resolveInfo;
131
- fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
132
- if (!_.isEmpty(fieldNames)) {
133
- params.fields = fieldNames;
134
- }
135
- return [4, object.find(params, userSession)];
136
- case 2: return [2, _a.sent()];
137
- }
138
- });
139
- });
140
- },
141
- };
142
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.DISPLAY_PREFIX)] = {
143
- handler: function (ctx) {
144
- return tslib_1.__awaiter(this, void 0, void 0, function () {
145
- var params, __objectName, userSession, selectFieldNames, resolveInfo, fieldNames, result;
146
- return tslib_1.__generator(this, function (_a) {
147
- switch (_a.label) {
148
- case 0:
149
- params = ctx.params;
150
- __objectName = params.__objectName;
151
- userSession = ctx.meta.user;
152
- selectFieldNames = [];
153
- resolveInfo = ctx.meta.resolveInfo;
154
- fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
155
- if (!_.isEmpty(fieldNames)) {
156
- selectFieldNames = fieldNames;
157
- }
158
- return [4, translateToDisplay(__objectName, params, userSession, selectFieldNames)];
159
- case 1:
160
- result = _a.sent();
161
- return [2, result];
162
- }
163
- });
164
- });
165
- },
166
- };
167
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.UI_PREFIX)] = {
168
- handler: function (ctx) {
169
- return tslib_1.__awaiter(this, void 0, void 0, function () {
170
- var params, __objectName, userSession, selectFieldNames, resolveInfo, fieldNames, result;
171
- return tslib_1.__generator(this, function (_a) {
172
- switch (_a.label) {
173
- case 0:
174
- params = ctx.params;
175
- __objectName = params.__objectName;
176
- userSession = ctx.meta.user;
177
- selectFieldNames = [];
178
- resolveInfo = ctx.meta.resolveInfo;
179
- fieldNames = (0, getQueryFields_1.getQueryFields)(resolveInfo);
180
- if (!_.isEmpty(fieldNames)) {
181
- selectFieldNames = fieldNames;
182
- }
183
- return [4, translateToUI(__objectName, params, userSession, selectFieldNames)];
184
- case 1:
185
- result = _a.sent();
186
- return [2, result];
187
- }
188
- });
189
- });
190
- },
191
- };
192
- actions["".concat(consts_1.GRAPHQL_ACTION_PREFIX).concat(consts_1.PERMISSIONS_PREFIX)] = {
193
- handler: function (ctx) {
194
- return tslib_1.__awaiter(this, void 0, void 0, function () {
195
- var params, __objectName, userSession;
196
- return tslib_1.__generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0:
199
- params = ctx.params;
200
- __objectName = params.__objectName;
201
- userSession = ctx.meta.user;
202
- return [4, (0, utils_1.callObjectServiceAction)("@".concat(__objectName, ".getRecordPermissionsById"), userSession, {
203
- recordId: params._id
204
- })];
205
- case 1: return [2, _a.sent()];
206
- }
207
- });
208
- });
209
- },
210
- };
211
- return actions;
212
- }
213
- exports.getGraphqlActions = getGraphqlActions;
214
- function translateToDisplay(objectName, doc, userSession, selectorFieldNames) {
215
- return tslib_1.__awaiter(this, void 0, void 0, function () {
216
- function _translateToDisplay(doc, selectorFieldNames) {
217
- return tslib_1.__awaiter(this, void 0, void 0, function () {
218
- var displayObj, _loop_1, selectorFieldNames_1, selectorFieldNames_1_1, name, e_1_1;
219
- var e_1, _a;
220
- return tslib_1.__generator(this, function (_b) {
221
- switch (_b.label) {
222
- case 0:
223
- displayObj = {};
224
- _loop_1 = function (name) {
225
- 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;
226
- return tslib_1.__generator(this, function (_c) {
227
- switch (_c.label) {
228
- case 0:
229
- if (!Object.prototype.hasOwnProperty.call(fields, name)) return [3, 41];
230
- field = fields[name];
231
- if (!_.has(doc, name)) return [3, 40];
232
- fType = field.type;
233
- if (!(fType == "text")) return [3, 1];
234
- displayObj[name] = doc[name] || "";
235
- return [3, 39];
236
- case 1:
237
- if (!(fType == "textarea")) return [3, 2];
238
- displayObj[name] = doc[name] || "";
239
- return [3, 39];
240
- case 2:
241
- if (!(fType == "html_text")) return [3, 3];
242
- displayObj[name] = doc[name] || "";
243
- return [3, 39];
244
- case 3:
245
- if (!(fType == "html")) return [3, 4];
246
- displayObj[name] = doc[name] || "";
247
- return [3, 39];
248
- case 4:
249
- if (!(fType == "select")) return [3, 5];
250
- label = "";
251
- map_1 = {};
252
- value = doc[name];
253
- translatedField = getTranslatedFieldConfig(objConfig, name);
254
- translatedFieldOptions = translatedField && translatedField.options;
255
- _.forEach(translatedFieldOptions, function (o) {
256
- map_1[o.value] = o.label;
257
- });
258
- if (field.multiple) {
259
- labels_1 = [];
260
- _.forEach(value, function (v) {
261
- labels_1.push(map_1[v]);
262
- });
263
- label = labels_1.join(",");
264
- }
265
- else {
266
- label = map_1[value];
267
- }
268
- displayObj[name] = label;
269
- return [3, 39];
270
- case 5:
271
- if (!(fType == "boolean")) return [3, 6];
272
- if (doc[name]) {
273
- displayObj[name] = "√";
274
- }
275
- else {
276
- displayObj[name] = "";
277
- }
278
- return [3, 39];
279
- case 6:
280
- if (!(fType == "date")) return [3, 7];
281
- displayObj[name] = doc[name] ? moment.utc(doc[name])
282
- .format("YYYY-MM-DD") : '';
283
- return [3, 39];
284
- case 7:
285
- if (!(fType == "datetime")) return [3, 8];
286
- displayObj[name] = doc[name] ? moment(doc[name])
287
- .utcOffset(utcOffset)
288
- .format("YYYY-MM-DD HH:mm") : '';
289
- return [3, 39];
290
- case 8:
291
- if (!(fType == "time")) return [3, 9];
292
- displayObj[name] = doc[name] ? moment.utc(doc[name])
293
- .format("HH:mm") : '';
294
- return [3, 39];
295
- case 9:
296
- if (!(fType == "number")) return [3, 10];
297
- displayObj[name] = doc[name] ? (0, utils_1.numberToString)(doc[name], field.scale) : "";
298
- return [3, 39];
299
- case 10:
300
- if (!(fType == "currency")) return [3, 11];
301
- displayObj[name] = doc[name] ? (0, utils_1.numberToString)(doc[name], field.scale) : "";
302
- return [3, 39];
303
- case 11:
304
- if (!(fType == "percent")) return [3, 12];
305
- displayObj[name] = "".concat(doc[name] * 100, "%");
306
- return [3, 39];
307
- case 12:
308
- if (!(fType == "password")) return [3, 13];
309
- displayObj[name] = "";
310
- if (_.isString(doc[name])) {
311
- for (i = 0; i < doc[name].length; i++) {
312
- displayObj[name] += "*";
313
- }
314
- }
315
- return [3, 39];
316
- case 13:
317
- if (!(fType == "lookup" && _.isString(field.reference_to))) return [3, 19];
318
- refTo = field.reference_to;
319
- refField = field.reference_to_field || '_id';
320
- if (refTo === 'users') {
321
- refTo = 'space_users';
322
- refField = 'user';
323
- }
324
- refValue = doc[name];
325
- if (!refValue) {
326
- return [2, "continue"];
327
- }
328
- refObj = steedosSchema.getObject(refTo);
329
- return [4, refObj.getNameFieldKey()];
330
- case 14:
331
- nameFieldKey = _c.sent();
332
- if (!field.multiple) return [3, 16];
333
- return [4, refObj.find({
334
- filters: [refField, "in", refValue],
335
- fields: [nameFieldKey],
336
- })];
337
- case 15:
338
- refRecords = _c.sent();
339
- displayObj[name] = _.pluck(refRecords, nameFieldKey).join(',');
340
- return [3, 18];
341
- case 16: return [4, refObj.find({
342
- filters: [refField, "=", refValue],
343
- fields: [nameFieldKey],
344
- })];
345
- case 17:
346
- refRecord = (_c.sent())[0];
347
- if (refRecord) {
348
- displayObj[name] = refRecord[nameFieldKey];
349
- }
350
- _c.label = 18;
351
- case 18: return [3, 39];
352
- case 19:
353
- if (!(fType == "master_detail" && _.isString(field.reference_to))) return [3, 25];
354
- refTo = field.reference_to;
355
- refField = field.reference_to_field || '_id';
356
- if (refTo === 'users') {
357
- refTo = 'space_users';
358
- refField = 'user';
359
- }
360
- refValue = doc[name];
361
- if (!refValue) {
362
- return [2, "continue"];
363
- }
364
- refObj = steedosSchema.getObject(refTo);
365
- return [4, refObj.getNameFieldKey()];
366
- case 20:
367
- nameFieldKey = _c.sent();
368
- if (!field.multiple) return [3, 22];
369
- return [4, refObj.find({
370
- filters: [refField, "in", refValue],
371
- fields: [nameFieldKey],
372
- })];
373
- case 21:
374
- refRecords = _c.sent();
375
- displayObj[name] = _.pluck(refRecords, nameFieldKey).join(',');
376
- return [3, 24];
377
- case 22: return [4, refObj.find({
378
- filters: [refField, "=", refValue],
379
- fields: [nameFieldKey],
380
- })];
381
- case 23:
382
- refRecord = (_c.sent())[0];
383
- if (refRecord) {
384
- displayObj[name] = refRecord[nameFieldKey];
385
- }
386
- _c.label = 24;
387
- case 24: return [3, 39];
388
- case 25:
389
- if (!((fType == "master_detail" || fType == "lookup") && field.reference_to && !_.isString(field.reference_to))) return [3, 28];
390
- refValue = doc[name];
391
- if (!refValue) {
392
- return [2, "continue"];
393
- }
394
- refTo = refValue.o;
395
- refValues = refValue.ids;
396
- if (!refTo) {
397
- return [2, "continue"];
398
- }
399
- refObj = steedosSchema.getObject(refTo);
400
- return [4, refObj.getNameFieldKey()];
401
- case 26:
402
- nameFieldKey = _c.sent();
403
- return [4, refObj.find({
404
- filters: ["_id", "in", refValues],
405
- fields: [nameFieldKey]
406
- })];
407
- case 27:
408
- refRecords = _c.sent();
409
- displayObj[name] = _.pluck(refRecords, nameFieldKey).join(',');
410
- return [3, 39];
411
- case 28:
412
- if (!(fType == "autonumber")) return [3, 29];
413
- displayObj[name] = doc[name] || "";
414
- return [3, 39];
415
- case 29:
416
- if (!(fType == "url")) return [3, 30];
417
- displayObj[name] = doc[name] || "";
418
- return [3, 39];
419
- case 30:
420
- if (!(fType == "email")) return [3, 31];
421
- displayObj[name] = doc[name] || "";
422
- return [3, 39];
423
- case 31:
424
- if (!(fType == "formula")) return [3, 32];
425
- displayObj[name] = doc[name] || "";
426
- return [3, 39];
427
- case 32:
428
- if (!(fType == "summary")) return [3, 33];
429
- displayObj[name] = doc[name] || "";
430
- return [3, 39];
431
- case 33:
432
- if (!(fType == "image" || fType == "file")) return [3, 38];
433
- fileLabel = "";
434
- value = doc[name];
435
- if (!value) {
436
- return [2, "continue"];
437
- }
438
- fileObjectName = fType == "image" ? "cfs_images_filerecord" : "cfs_files_filerecord";
439
- fileObject = steedosSchema.getObject(fileObjectName);
440
- fileNameFieldKey = "original.name";
441
- if (!field.multiple) return [3, 35];
442
- return [4, fileObject.find({
443
- filters: ["_id", "in", value],
444
- fields: [fileNameFieldKey],
445
- })];
446
- case 34:
447
- fileRecords = _c.sent();
448
- fileLabel = _.map(fileRecords, function (fileRecord) {
449
- var _a;
450
- return (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.name;
451
- }).join(",");
452
- return [3, 37];
453
- case 35: return [4, fileObject.find({
454
- filters: ["_id", "=", value],
455
- fields: [fileNameFieldKey],
456
- })];
457
- case 36:
458
- fileRecord = (_c.sent())[0];
459
- if (fileRecord) {
460
- fileLabel = fileRecord["original"]["name"];
461
- }
462
- _c.label = 37;
463
- case 37:
464
- displayObj[name] = fileLabel;
465
- return [3, 39];
466
- case 38:
467
- console.error("Graphql Display: need to handle new field type ".concat(field.type, " for ").concat(objectName, "."));
468
- displayObj[name] = doc[name] || "";
469
- _c.label = 39;
470
- case 39: return [3, 41];
471
- case 40:
472
- displayObj[name] = "";
473
- _c.label = 41;
474
- case 41: return [2];
475
- }
476
- });
477
- };
478
- _b.label = 1;
479
- case 1:
480
- _b.trys.push([1, 6, 7, 8]);
481
- selectorFieldNames_1 = tslib_1.__values(selectorFieldNames), selectorFieldNames_1_1 = selectorFieldNames_1.next();
482
- _b.label = 2;
483
- case 2:
484
- if (!!selectorFieldNames_1_1.done) return [3, 5];
485
- name = selectorFieldNames_1_1.value;
486
- return [5, _loop_1(name)];
487
- case 3:
488
- _b.sent();
489
- _b.label = 4;
490
- case 4:
491
- selectorFieldNames_1_1 = selectorFieldNames_1.next();
492
- return [3, 2];
493
- case 5: return [3, 8];
494
- case 6:
495
- e_1_1 = _b.sent();
496
- e_1 = { error: e_1_1 };
497
- return [3, 8];
498
- case 7:
499
- try {
500
- if (selectorFieldNames_1_1 && !selectorFieldNames_1_1.done && (_a = selectorFieldNames_1.return)) _a.call(selectorFieldNames_1);
501
- }
502
- finally { if (e_1) throw e_1.error; }
503
- return [7];
504
- case 8: return [2, displayObj];
505
- }
506
- });
507
- });
508
- }
509
- var lng, steedosSchema, object, objConfig, fields, utcOffset, displayDoc;
510
- return tslib_1.__generator(this, function (_a) {
511
- switch (_a.label) {
512
- case 0:
513
- lng = (0, __1.getUserLocale)(userSession);
514
- steedosSchema = (0, __1.getSteedosSchema)();
515
- object = steedosSchema.getObject(objectName);
516
- return [4, object.toConfig()];
517
- case 1:
518
- objConfig = _a.sent();
519
- fields = objConfig.fields;
520
- (0, i18n_1.translationObject)(lng, objConfig.name, objConfig, true);
521
- utcOffset = userSession.utcOffset || 8;
522
- return [4, _translateToDisplay(doc, selectorFieldNames)];
523
- case 2:
524
- displayDoc = _a.sent();
525
- displayDoc['_id'] = doc._id;
526
- return [2, displayDoc];
527
- }
528
- });
529
- });
530
- }
531
- function translateToUI(objectName, doc, userSession, selectorFieldNames) {
532
- return tslib_1.__awaiter(this, void 0, void 0, function () {
533
- function _translateToUI(doc, selectorFieldNames) {
534
- var _a, _b;
535
- return tslib_1.__awaiter(this, void 0, void 0, function () {
536
- var displayObj, _loop_2, selectorFieldNames_2, selectorFieldNames_2_1, name, e_2_1;
537
- var e_2, _c;
538
- return tslib_1.__generator(this, function (_d) {
539
- switch (_d.label) {
540
- case 0:
541
- displayObj = {};
542
- _loop_2 = function (name) {
543
- var field, fType, label, map_2, value, translatedField, translatedFieldOptions, labels_2, 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, _doc_1, objectFieldDoc, objectDoc_1, gridDocs, _loop_3, _e, _f, gridDoc, e_3_1;
544
- var e_3, _g;
545
- return tslib_1.__generator(this, function (_h) {
546
- switch (_h.label) {
547
- case 0:
548
- if (!Object.prototype.hasOwnProperty.call(fields, name)) return [3, 40];
549
- field = fields[name];
550
- if (!_.has(doc, name)) return [3, 39];
551
- fType = field.type;
552
- if (!(fType == "select")) return [3, 1];
553
- label = "";
554
- map_2 = {};
555
- value = doc[name];
556
- translatedField = getTranslatedFieldConfig(objConfig, name);
557
- translatedFieldOptions = translatedField && translatedField.options;
558
- _.forEach(translatedFieldOptions, function (o) {
559
- map_2[o.value] = o.label;
560
- });
561
- if (field.multiple) {
562
- labels_2 = [];
563
- _.forEach(value, function (v) {
564
- labels_2.push(map_2[v]);
565
- });
566
- label = labels_2.join(",");
567
- }
568
- else {
569
- label = map_2[value];
570
- }
571
- displayObj[name] = label;
572
- return [3, 38];
573
- case 1:
574
- if (!(fType == "lookup" && _.isString(field.reference_to))) return [3, 7];
575
- refTo_1 = field.reference_to;
576
- refField = field.reference_to_field || '_id';
577
- if (refTo_1 === 'users') {
578
- refTo_1 = 'space_users';
579
- refField = 'user';
580
- }
581
- refValue = doc[name];
582
- if (!refValue) {
583
- return [2, "continue"];
584
- }
585
- refObj = steedosSchema.getObject(refTo_1);
586
- return [4, refObj.getNameFieldKey()];
587
- case 2:
588
- nameFieldKey_1 = _h.sent();
589
- if (!field.multiple) return [3, 4];
590
- return [4, refObj.find({
591
- filters: [refField, "in", refValue],
592
- fields: [nameFieldKey_1],
593
- })];
594
- case 3:
595
- refRecords = _h.sent();
596
- displayObj[name] = _.map(refRecords, function (item) {
597
- return {
598
- objectName: refTo_1,
599
- value: item._id,
600
- label: item[nameFieldKey_1]
601
- };
602
- });
603
- return [3, 6];
604
- case 4: return [4, refObj.find({
605
- filters: [refField, "=", refValue],
606
- fields: [nameFieldKey_1],
607
- })];
608
- case 5:
609
- refRecord = (_h.sent())[0];
610
- if (refRecord) {
611
- displayObj[name] = {
612
- objectName: refTo_1,
613
- value: refRecord._id,
614
- label: refRecord[nameFieldKey_1]
615
- };
616
- }
617
- _h.label = 6;
618
- case 6: return [3, 38];
619
- case 7:
620
- if (!(fType == "master_detail" && _.isString(field.reference_to))) return [3, 13];
621
- refTo_2 = field.reference_to;
622
- refField = field.reference_to_field || '_id';
623
- if (refTo_2 === 'users') {
624
- refTo_2 = 'space_users';
625
- refField = 'user';
626
- }
627
- refValue = doc[name];
628
- if (!refValue) {
629
- return [2, "continue"];
630
- }
631
- refObj = steedosSchema.getObject(refTo_2);
632
- return [4, refObj.getNameFieldKey()];
633
- case 8:
634
- nameFieldKey_2 = _h.sent();
635
- if (!field.multiple) return [3, 10];
636
- return [4, refObj.find({
637
- filters: [refField, "in", refValue],
638
- fields: [nameFieldKey_2],
639
- })];
640
- case 9:
641
- refRecords = _h.sent();
642
- displayObj[name] = _.map(refRecords, function (item) {
643
- return {
644
- objectName: refTo_2,
645
- value: item._id,
646
- label: item[nameFieldKey_2]
647
- };
648
- });
649
- return [3, 12];
650
- case 10: return [4, refObj.find({
651
- filters: [refField, "=", refValue],
652
- fields: [nameFieldKey_2],
653
- })];
654
- case 11:
655
- refRecord = (_h.sent())[0];
656
- if (refRecord) {
657
- displayObj[name] = {
658
- objectName: refTo_2,
659
- value: refRecord._id,
660
- label: refRecord[nameFieldKey_2]
661
- };
662
- }
663
- _h.label = 12;
664
- case 12: return [3, 38];
665
- case 13:
666
- if (!((fType == "master_detail" || fType == "lookup") && field.reference_to && !_.isString(field.reference_to))) return [3, 16];
667
- refValue = doc[name];
668
- if (!refValue) {
669
- return [2, "continue"];
670
- }
671
- refTo_3 = refValue.o;
672
- refValues = refValue.ids;
673
- if (!refTo_3) {
674
- return [2, "continue"];
675
- }
676
- refObj = steedosSchema.getObject(refTo_3);
677
- return [4, refObj.getNameFieldKey()];
678
- case 14:
679
- nameFieldKey_3 = _h.sent();
680
- return [4, refObj.find({
681
- filters: ["_id", "in", refValues],
682
- fields: [nameFieldKey_3]
683
- })];
684
- case 15:
685
- refRecords = _h.sent();
686
- displayObj[name] = _.map(refRecords, function (item) {
687
- return {
688
- objectName: refTo_3,
689
- value: item._id,
690
- label: item[nameFieldKey_3]
691
- };
692
- });
693
- return [3, 38];
694
- case 16:
695
- if (!(fType == "formula")) return [3, 17];
696
- displayObj[name] = (0, utils_1.formatBasicFieldValue)(field.data_type, field, doc[name], objConfig, userSession);
697
- return [3, 38];
698
- case 17:
699
- if (!(fType == "summary")) return [3, 18];
700
- displayObj[name] = (0, utils_1.formatBasicFieldValue)('number', field, doc[name], objConfig, userSession);
701
- return [3, 38];
702
- case 18:
703
- if (!(fType == "image" || fType == "file" || fType === 'avatar')) return [3, 23];
704
- fileValue = null;
705
- value = doc[name];
706
- if (!value) {
707
- return [2, "continue"];
708
- }
709
- storageName_1 = (0, utils_1.getFileStorageName)(fType);
710
- fileObjectName = "cfs_".concat(storageName_1, "_filerecord");
711
- fileObject = steedosSchema.getObject(fileObjectName);
712
- fileNameFieldKey = "original.name";
713
- if (!field.multiple) return [3, 20];
714
- return [4, fileObject.find({
715
- filters: ["_id", "in", value],
716
- fields: ['_id', fileNameFieldKey, 'original.size', 'original.type'],
717
- })];
718
- case 19:
719
- fileRecords = _h.sent();
720
- fileValue = _.map(fileRecords, function (fileRecord) {
721
- var _a, _b, _c;
722
- return {
723
- name: (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.name,
724
- url: (0, __1.absoluteUrl)("/api/files/".concat(storageName_1, "/").concat(fileRecord._id)),
725
- size: (_b = fileRecord.original) === null || _b === void 0 ? void 0 : _b.size,
726
- type: (_c = fileRecord.original) === null || _c === void 0 ? void 0 : _c.type,
727
- };
728
- });
729
- return [3, 22];
730
- case 20: return [4, fileObject.find({
731
- filters: ["_id", "=", value],
732
- fields: ['_id', fileNameFieldKey, 'original.size', 'original.type'],
733
- })];
734
- case 21:
735
- fileRecord = (_h.sent())[0];
736
- if (fileRecord) {
737
- fileValue = {
738
- name: fileRecord["original"]["name"],
739
- url: (0, __1.absoluteUrl)("/api/files/".concat(storageName_1, "/").concat(value)),
740
- size: (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.size,
741
- type: (_b = fileRecord.original) === null || _b === void 0 ? void 0 : _b.type
742
- };
743
- }
744
- _h.label = 22;
745
- case 22:
746
- displayObj[name] = fileValue;
747
- return [3, 38];
748
- case 23:
749
- if (!(fType == "filesize")) return [3, 24];
750
- displayObj[name] = (0, utils_1.formatFileSize)(doc[name]);
751
- return [3, 38];
752
- case 24:
753
- if (!(fType === 'object')) return [3, 27];
754
- if (!(doc[name] && _.isObject(doc[name]))) return [3, 26];
755
- _doc_1 = {};
756
- _.each(doc[name], function (v, k) {
757
- var newKey = "".concat(name, ".").concat(k);
758
- _doc_1[newKey] = v;
759
- });
760
- return [4, _translateToUI(_doc_1, Object.keys(_doc_1))];
761
- case 25:
762
- objectFieldDoc = _h.sent();
763
- objectDoc_1 = {};
764
- _.each(objectFieldDoc, function (v, k) {
765
- var newKey = k.replace("".concat(name, "."), '');
766
- objectDoc_1[newKey] = v;
767
- });
768
- displayObj[name] = objectDoc_1;
769
- _h.label = 26;
770
- case 26: return [3, 38];
771
- case 27:
772
- if (!(fType === 'grid')) return [3, 37];
773
- if (!(doc[name] && _.isArray(doc[name]))) return [3, 36];
774
- gridDocs = [];
775
- _loop_3 = function (gridDoc) {
776
- var _doc, objectFieldDoc, objectDoc;
777
- return tslib_1.__generator(this, function (_j) {
778
- switch (_j.label) {
779
- case 0:
780
- _doc = {};
781
- _.each(gridDoc, function (v, k) {
782
- var newKey = "".concat(name, ".$.").concat(k);
783
- _doc[newKey] = v;
784
- });
785
- return [4, _translateToUI(_doc, Object.keys(_doc))];
786
- case 1:
787
- objectFieldDoc = _j.sent();
788
- objectDoc = {};
789
- _.each(objectFieldDoc, function (v, k) {
790
- var newKey = k.replace("".concat(name, ".$."), '');
791
- objectDoc[newKey] = v;
792
- });
793
- gridDocs.push(objectDoc);
794
- return [2];
795
- }
796
- });
797
- };
798
- _h.label = 28;
799
- case 28:
800
- _h.trys.push([28, 33, 34, 35]);
801
- _e = (e_3 = void 0, tslib_1.__values(doc[name])), _f = _e.next();
802
- _h.label = 29;
803
- case 29:
804
- if (!!_f.done) return [3, 32];
805
- gridDoc = _f.value;
806
- return [5, _loop_3(gridDoc)];
807
- case 30:
808
- _h.sent();
809
- _h.label = 31;
810
- case 31:
811
- _f = _e.next();
812
- return [3, 29];
813
- case 32: return [3, 35];
814
- case 33:
815
- e_3_1 = _h.sent();
816
- e_3 = { error: e_3_1 };
817
- return [3, 35];
818
- case 34:
819
- try {
820
- if (_f && !_f.done && (_g = _e.return)) _g.call(_e);
821
- }
822
- finally { if (e_3) throw e_3.error; }
823
- return [7];
824
- case 35:
825
- displayObj[name] = gridDocs;
826
- _h.label = 36;
827
- case 36: return [3, 38];
828
- case 37:
829
- displayObj[name] = (0, utils_1.formatBasicFieldValue)(fType, field, doc[name], objConfig, userSession);
830
- _h.label = 38;
831
- case 38: return [3, 40];
832
- case 39:
833
- displayObj[name] = "";
834
- _h.label = 40;
835
- case 40: return [2];
836
- }
837
- });
838
- };
839
- _d.label = 1;
840
- case 1:
841
- _d.trys.push([1, 6, 7, 8]);
842
- selectorFieldNames_2 = tslib_1.__values(selectorFieldNames), selectorFieldNames_2_1 = selectorFieldNames_2.next();
843
- _d.label = 2;
844
- case 2:
845
- if (!!selectorFieldNames_2_1.done) return [3, 5];
846
- name = selectorFieldNames_2_1.value;
847
- return [5, _loop_2(name)];
848
- case 3:
849
- _d.sent();
850
- _d.label = 4;
851
- case 4:
852
- selectorFieldNames_2_1 = selectorFieldNames_2.next();
853
- return [3, 2];
854
- case 5: return [3, 8];
855
- case 6:
856
- e_2_1 = _d.sent();
857
- e_2 = { error: e_2_1 };
858
- return [3, 8];
859
- case 7:
860
- try {
861
- if (selectorFieldNames_2_1 && !selectorFieldNames_2_1.done && (_c = selectorFieldNames_2.return)) _c.call(selectorFieldNames_2);
862
- }
863
- finally { if (e_2) throw e_2.error; }
864
- return [7];
865
- case 8: return [2, displayObj];
866
- }
867
- });
868
- });
869
- }
870
- var lng, steedosSchema, object, objConfig, fields, uiDoc;
871
- return tslib_1.__generator(this, function (_a) {
872
- switch (_a.label) {
873
- case 0:
874
- lng = (0, __1.getUserLocale)(userSession);
875
- steedosSchema = (0, __1.getSteedosSchema)();
876
- object = steedosSchema.getObject(objectName);
877
- return [4, object.toConfig()];
878
- case 1:
879
- objConfig = _a.sent();
880
- fields = objConfig.fields;
881
- (0, i18n_1.translationObject)(lng, objConfig.name, objConfig, true);
882
- return [4, _translateToUI(doc, selectorFieldNames)];
883
- case 2:
884
- uiDoc = _a.sent();
885
- uiDoc['_id'] = doc._id;
886
- return [2, uiDoc];
887
- }
888
- });
889
- });
890
- }
891
- function getTranslatedFieldConfig(translatedObject, name) {
892
- return translatedObject.fields[name.replace(/__label$/, "")];
893
- }
894
- //# sourceMappingURL=getGraphqlActions.js.map