@steedos/objectql 2.5.0-beta.8 → 2.5.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.
Files changed (77) hide show
  1. package/lib/driver/driver.d.ts +1 -0
  2. package/lib/driver/field-encrytion/mongosharedconst.js +2 -2
  3. package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
  4. package/lib/driver/meteorMongo.js +2 -2
  5. package/lib/driver/meteorMongo.js.map +1 -1
  6. package/lib/driver/mongo.d.ts +1 -0
  7. package/lib/driver/mongo.js +17 -0
  8. package/lib/driver/mongo.js.map +1 -1
  9. package/lib/dynamic-load/package.js +0 -1
  10. package/lib/dynamic-load/package.js.map +1 -1
  11. package/lib/index.d.ts +1 -1
  12. package/lib/index.js +2 -3
  13. package/lib/index.js.map +1 -1
  14. package/lib/services/datasourceServiceFactory.js +32 -2
  15. package/lib/services/datasourceServiceFactory.js.map +1 -1
  16. package/lib/services/index.d.ts +0 -3
  17. package/lib/services/index.js +0 -3
  18. package/lib/services/index.js.map +1 -1
  19. package/lib/triggers/trigger.d.ts +1 -0
  20. package/lib/triggers/trigger.js +51 -0
  21. package/lib/triggers/trigger.js.map +1 -0
  22. package/lib/ts-types/triggerActionParams.d.ts +2 -2
  23. package/lib/types/datasource.d.ts +2 -1
  24. package/lib/types/datasource.js +21 -29
  25. package/lib/types/datasource.js.map +1 -1
  26. package/lib/types/index.d.ts +1 -1
  27. package/lib/types/index.js.map +1 -1
  28. package/lib/types/object.d.ts +7 -0
  29. package/lib/types/object.js +257 -55
  30. package/lib/types/object.js.map +1 -1
  31. package/lib/types/object_dynamic_load.d.ts +1 -0
  32. package/lib/types/object_dynamic_load.js +4 -3
  33. package/lib/types/object_dynamic_load.js.map +1 -1
  34. package/lib/types/object_events.js +2 -1
  35. package/lib/types/object_events.js.map +1 -1
  36. package/lib/util/transform.js +3 -18
  37. package/lib/util/transform.js.map +1 -1
  38. package/package.json +16 -15
  39. package/lib/services/helpers/graphql/consts.d.ts +0 -21
  40. package/lib/services/helpers/graphql/consts.js +0 -25
  41. package/lib/services/helpers/graphql/consts.js.map +0 -1
  42. package/lib/services/helpers/graphql/dealWithRelatedFields.d.ts +0 -16
  43. package/lib/services/helpers/graphql/dealWithRelatedFields.js +0 -73
  44. package/lib/services/helpers/graphql/dealWithRelatedFields.js.map +0 -1
  45. package/lib/services/helpers/graphql/generateActionGraphqlProp.d.ts +0 -2
  46. package/lib/services/helpers/graphql/generateActionGraphqlProp.js +0 -38
  47. package/lib/services/helpers/graphql/generateActionGraphqlProp.js.map +0 -1
  48. package/lib/services/helpers/graphql/generateSettingsGraphql.d.ts +0 -5
  49. package/lib/services/helpers/graphql/generateSettingsGraphql.js +0 -216
  50. package/lib/services/helpers/graphql/generateSettingsGraphql.js.map +0 -1
  51. package/lib/services/helpers/graphql/getGraphqlActions.d.ts +0 -2
  52. package/lib/services/helpers/graphql/getGraphqlActions.js +0 -930
  53. package/lib/services/helpers/graphql/getGraphqlActions.js.map +0 -1
  54. package/lib/services/helpers/graphql/getPrimaryFieldType.d.ts +0 -2
  55. package/lib/services/helpers/graphql/getPrimaryFieldType.js +0 -39
  56. package/lib/services/helpers/graphql/getPrimaryFieldType.js.map +0 -1
  57. package/lib/services/helpers/graphql/getQueryFields.d.ts +0 -2
  58. package/lib/services/helpers/graphql/getQueryFields.js +0 -32
  59. package/lib/services/helpers/graphql/getQueryFields.js.map +0 -1
  60. package/lib/services/helpers/graphql/index.d.ts +0 -7
  61. package/lib/services/helpers/graphql/index.js +0 -21
  62. package/lib/services/helpers/graphql/index.js.map +0 -1
  63. package/lib/services/helpers/graphql/utils.d.ts +0 -8
  64. package/lib/services/helpers/graphql/utils.js +0 -128
  65. package/lib/services/helpers/graphql/utils.js.map +0 -1
  66. package/lib/services/helpers/rest.d.ts +0 -4
  67. package/lib/services/helpers/rest.js +0 -61
  68. package/lib/services/helpers/rest.js.map +0 -1
  69. package/lib/services/objectService.d.ts +0 -230
  70. package/lib/services/objectService.js +0 -1078
  71. package/lib/services/objectService.js.map +0 -1
  72. package/lib/services/objectServiceDispatcher.d.ts +0 -1
  73. package/lib/services/objectServiceDispatcher.js +0 -484
  74. package/lib/services/objectServiceDispatcher.js.map +0 -1
  75. package/lib/services/objectServiceFactory.d.ts +0 -1
  76. package/lib/services/objectServiceFactory.js +0 -29
  77. package/lib/services/objectServiceFactory.js.map +0 -1
@@ -1,930 +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] = doc[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, parentDoc) {
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, refFilters, refToObjectsField, refToObjectsField, 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, error_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, 43];
549
- field = fields[name];
550
- _h.label = 1;
551
- case 1:
552
- _h.trys.push([1, 42, , 43]);
553
- if (!_.has(doc, name)) return [3, 40];
554
- fType = field.type;
555
- if (!(fType == "select")) return [3, 2];
556
- label = "";
557
- map_2 = {};
558
- value = doc[name];
559
- translatedField = getTranslatedFieldConfig(objConfig, name);
560
- translatedFieldOptions = translatedField && translatedField.options;
561
- _.forEach(translatedFieldOptions, function (o) {
562
- map_2[o.value] = o.label;
563
- });
564
- if (field.multiple) {
565
- labels_2 = [];
566
- _.forEach(value, function (v) {
567
- labels_2.push(map_2[v]);
568
- });
569
- label = labels_2.join(",");
570
- }
571
- else {
572
- label = map_2[value];
573
- }
574
- displayObj[name] = label;
575
- return [3, 39];
576
- case 2:
577
- if (!(fType == "lookup" && _.isString(field.reference_to))) return [3, 8];
578
- refTo_1 = field.reference_to;
579
- refField = field.reference_to_field || '_id';
580
- if (refTo_1 === 'users') {
581
- refTo_1 = 'space_users';
582
- refField = 'user';
583
- }
584
- refValue = doc[name];
585
- if (!refValue) {
586
- return [2, "continue"];
587
- }
588
- refFilters = null;
589
- if (field.multiple) {
590
- refFilters = [refField, "in", refValue];
591
- }
592
- else {
593
- refFilters = [refField, "=", refValue];
594
- }
595
- if (refTo_1 === 'object_fields' && refField == 'name') {
596
- refToObjectsField = _.find(fields, function (_field) {
597
- return _field.reference_to === 'objects';
598
- });
599
- if (refToObjectsField) {
600
- refFilters = [['object', '=', parentDoc[refToObjectsField.name]], refFilters];
601
- }
602
- }
603
- if (refTo_1 === 'object_actions' && refField == 'name') {
604
- refToObjectsField = _.find(fields, function (_field) {
605
- return _field.reference_to === 'objects';
606
- });
607
- if (refToObjectsField) {
608
- refFilters = [['object', '=', parentDoc[refToObjectsField.name]], refFilters];
609
- }
610
- }
611
- refObj = steedosSchema.getObject(refTo_1);
612
- return [4, refObj.getNameFieldKey()];
613
- case 3:
614
- nameFieldKey_1 = _h.sent();
615
- if (!field.multiple) return [3, 5];
616
- return [4, refObj.find({
617
- filters: refFilters,
618
- fields: [nameFieldKey_1],
619
- })];
620
- case 4:
621
- refRecords = _h.sent();
622
- displayObj[name] = _.map(refRecords, function (item) {
623
- return {
624
- objectName: refTo_1,
625
- value: item._id,
626
- label: item[nameFieldKey_1]
627
- };
628
- });
629
- return [3, 7];
630
- case 5: return [4, refObj.find({
631
- filters: refFilters,
632
- fields: [nameFieldKey_1],
633
- })];
634
- case 6:
635
- refRecord = (_h.sent())[0];
636
- if (refRecord) {
637
- displayObj[name] = {
638
- objectName: refTo_1,
639
- value: refRecord._id,
640
- label: refRecord[nameFieldKey_1]
641
- };
642
- }
643
- _h.label = 7;
644
- case 7: return [3, 39];
645
- case 8:
646
- if (!(fType == "master_detail" && _.isString(field.reference_to))) return [3, 14];
647
- refTo_2 = field.reference_to;
648
- refField = field.reference_to_field || '_id';
649
- if (refTo_2 === 'users') {
650
- refTo_2 = 'space_users';
651
- refField = 'user';
652
- }
653
- refValue = doc[name];
654
- if (!refValue) {
655
- return [2, "continue"];
656
- }
657
- refObj = steedosSchema.getObject(refTo_2);
658
- return [4, refObj.getNameFieldKey()];
659
- case 9:
660
- nameFieldKey_2 = _h.sent();
661
- if (!field.multiple) return [3, 11];
662
- return [4, refObj.find({
663
- filters: [refField, "in", refValue],
664
- fields: [nameFieldKey_2],
665
- })];
666
- case 10:
667
- refRecords = _h.sent();
668
- displayObj[name] = _.map(refRecords, function (item) {
669
- return {
670
- objectName: refTo_2,
671
- value: item._id,
672
- label: item[nameFieldKey_2]
673
- };
674
- });
675
- return [3, 13];
676
- case 11: return [4, refObj.find({
677
- filters: [refField, "=", refValue],
678
- fields: [nameFieldKey_2],
679
- })];
680
- case 12:
681
- refRecord = (_h.sent())[0];
682
- if (refRecord) {
683
- displayObj[name] = {
684
- objectName: refTo_2,
685
- value: refRecord._id,
686
- label: refRecord[nameFieldKey_2]
687
- };
688
- }
689
- _h.label = 13;
690
- case 13: return [3, 39];
691
- case 14:
692
- if (!((fType == "master_detail" || fType == "lookup") && field.reference_to && !_.isString(field.reference_to))) return [3, 17];
693
- refValue = doc[name];
694
- if (!refValue) {
695
- return [2, "continue"];
696
- }
697
- refTo_3 = refValue.o;
698
- refValues = refValue.ids;
699
- if (!refTo_3) {
700
- return [2, "continue"];
701
- }
702
- refObj = steedosSchema.getObject(refTo_3);
703
- return [4, refObj.getNameFieldKey()];
704
- case 15:
705
- nameFieldKey_3 = _h.sent();
706
- return [4, refObj.find({
707
- filters: ["_id", "in", refValues],
708
- fields: [nameFieldKey_3]
709
- })];
710
- case 16:
711
- refRecords = _h.sent();
712
- displayObj[name] = _.map(refRecords, function (item) {
713
- return {
714
- objectName: refTo_3,
715
- value: item._id,
716
- label: item[nameFieldKey_3]
717
- };
718
- });
719
- return [3, 39];
720
- case 17:
721
- if (!(fType == "formula")) return [3, 18];
722
- displayObj[name] = (0, utils_1.formatBasicFieldValue)(field.data_type, field, doc[name], objConfig, userSession);
723
- return [3, 39];
724
- case 18:
725
- if (!(fType == "summary")) return [3, 19];
726
- displayObj[name] = (0, utils_1.formatBasicFieldValue)('number', field, doc[name], objConfig, userSession);
727
- return [3, 39];
728
- case 19:
729
- if (!(fType == "image" || fType == "file" || fType === 'avatar')) return [3, 24];
730
- fileValue = null;
731
- value = doc[name];
732
- if (!value) {
733
- return [2, "continue"];
734
- }
735
- storageName_1 = (0, utils_1.getFileStorageName)(fType);
736
- fileObjectName = "cfs_".concat(storageName_1, "_filerecord");
737
- fileObject = steedosSchema.getObject(fileObjectName);
738
- fileNameFieldKey = "original.name";
739
- if (!field.multiple) return [3, 21];
740
- return [4, fileObject.find({
741
- filters: ["_id", "in", value],
742
- fields: ['_id', fileNameFieldKey, 'original.size', 'original.type'],
743
- })];
744
- case 20:
745
- fileRecords = _h.sent();
746
- fileValue = _.map(fileRecords, function (fileRecord) {
747
- var _a, _b, _c;
748
- return {
749
- name: (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.name,
750
- url: (0, __1.absoluteUrl)("/api/files/".concat(storageName_1, "/").concat(fileRecord._id)),
751
- size: (_b = fileRecord.original) === null || _b === void 0 ? void 0 : _b.size,
752
- type: (_c = fileRecord.original) === null || _c === void 0 ? void 0 : _c.type,
753
- };
754
- });
755
- return [3, 23];
756
- case 21: return [4, fileObject.find({
757
- filters: ["_id", "=", value],
758
- fields: ['_id', fileNameFieldKey, 'original.size', 'original.type'],
759
- })];
760
- case 22:
761
- fileRecord = (_h.sent())[0];
762
- if (fileRecord) {
763
- fileValue = {
764
- name: fileRecord["original"]["name"],
765
- url: (0, __1.absoluteUrl)("/api/files/".concat(storageName_1, "/").concat(value)),
766
- size: (_a = fileRecord.original) === null || _a === void 0 ? void 0 : _a.size,
767
- type: (_b = fileRecord.original) === null || _b === void 0 ? void 0 : _b.type
768
- };
769
- }
770
- else {
771
- fileValue = {
772
- url: value
773
- };
774
- }
775
- _h.label = 23;
776
- case 23:
777
- displayObj[name] = fileValue;
778
- return [3, 39];
779
- case 24:
780
- if (!(fType == "filesize")) return [3, 25];
781
- displayObj[name] = (0, utils_1.formatFileSize)(doc[name]);
782
- return [3, 39];
783
- case 25:
784
- if (!(fType === 'object')) return [3, 28];
785
- if (!(doc[name] && _.isObject(doc[name]))) return [3, 27];
786
- _doc_1 = {};
787
- _.each(doc[name], function (v, k) {
788
- var newKey = "".concat(name, ".").concat(k);
789
- _doc_1[newKey] = v;
790
- });
791
- return [4, _translateToUI(_doc_1, Object.keys(_doc_1), doc)];
792
- case 26:
793
- objectFieldDoc = _h.sent();
794
- objectDoc_1 = {};
795
- _.each(objectFieldDoc, function (v, k) {
796
- var newKey = k.replace("".concat(name, "."), '');
797
- objectDoc_1[newKey] = v;
798
- });
799
- displayObj[name] = objectDoc_1;
800
- _h.label = 27;
801
- case 27: return [3, 39];
802
- case 28:
803
- if (!(fType === 'grid')) return [3, 38];
804
- if (!(doc[name] && _.isArray(doc[name]))) return [3, 37];
805
- gridDocs = [];
806
- _loop_3 = function (gridDoc) {
807
- var _doc, objectFieldDoc, objectDoc;
808
- return tslib_1.__generator(this, function (_j) {
809
- switch (_j.label) {
810
- case 0:
811
- _doc = {};
812
- _.each(gridDoc, function (v, k) {
813
- var newKey = "".concat(name, ".$.").concat(k);
814
- _doc[newKey] = v;
815
- });
816
- return [4, _translateToUI(_doc, Object.keys(_doc), doc)];
817
- case 1:
818
- objectFieldDoc = _j.sent();
819
- objectDoc = {};
820
- _.each(objectFieldDoc, function (v, k) {
821
- var newKey = k.replace("".concat(name, ".$."), '');
822
- objectDoc[newKey] = v;
823
- });
824
- gridDocs.push(objectDoc);
825
- return [2];
826
- }
827
- });
828
- };
829
- _h.label = 29;
830
- case 29:
831
- _h.trys.push([29, 34, 35, 36]);
832
- _e = (e_3 = void 0, tslib_1.__values(doc[name])), _f = _e.next();
833
- _h.label = 30;
834
- case 30:
835
- if (!!_f.done) return [3, 33];
836
- gridDoc = _f.value;
837
- return [5, _loop_3(gridDoc)];
838
- case 31:
839
- _h.sent();
840
- _h.label = 32;
841
- case 32:
842
- _f = _e.next();
843
- return [3, 30];
844
- case 33: return [3, 36];
845
- case 34:
846
- e_3_1 = _h.sent();
847
- e_3 = { error: e_3_1 };
848
- return [3, 36];
849
- case 35:
850
- try {
851
- if (_f && !_f.done && (_g = _e.return)) _g.call(_e);
852
- }
853
- finally { if (e_3) throw e_3.error; }
854
- return [7];
855
- case 36:
856
- displayObj[name] = gridDocs;
857
- _h.label = 37;
858
- case 37: return [3, 39];
859
- case 38:
860
- displayObj[name] = (0, utils_1.formatBasicFieldValue)(fType, field, doc[name], objConfig, userSession);
861
- _h.label = 39;
862
- case 39: return [3, 41];
863
- case 40:
864
- displayObj[name] = "";
865
- _h.label = 41;
866
- case 41: return [3, 43];
867
- case 42:
868
- error_1 = _h.sent();
869
- displayObj[name] = doc[name];
870
- return [3, 43];
871
- case 43: return [2];
872
- }
873
- });
874
- };
875
- _d.label = 1;
876
- case 1:
877
- _d.trys.push([1, 6, 7, 8]);
878
- selectorFieldNames_2 = tslib_1.__values(selectorFieldNames), selectorFieldNames_2_1 = selectorFieldNames_2.next();
879
- _d.label = 2;
880
- case 2:
881
- if (!!selectorFieldNames_2_1.done) return [3, 5];
882
- name = selectorFieldNames_2_1.value;
883
- return [5, _loop_2(name)];
884
- case 3:
885
- _d.sent();
886
- _d.label = 4;
887
- case 4:
888
- selectorFieldNames_2_1 = selectorFieldNames_2.next();
889
- return [3, 2];
890
- case 5: return [3, 8];
891
- case 6:
892
- e_2_1 = _d.sent();
893
- e_2 = { error: e_2_1 };
894
- return [3, 8];
895
- case 7:
896
- try {
897
- if (selectorFieldNames_2_1 && !selectorFieldNames_2_1.done && (_c = selectorFieldNames_2.return)) _c.call(selectorFieldNames_2);
898
- }
899
- finally { if (e_2) throw e_2.error; }
900
- return [7];
901
- case 8: return [2, displayObj];
902
- }
903
- });
904
- });
905
- }
906
- var lng, steedosSchema, object, objConfig, fields, uiDoc;
907
- return tslib_1.__generator(this, function (_a) {
908
- switch (_a.label) {
909
- case 0:
910
- lng = (0, __1.getUserLocale)(userSession);
911
- steedosSchema = (0, __1.getSteedosSchema)();
912
- object = steedosSchema.getObject(objectName);
913
- return [4, object.toConfig()];
914
- case 1:
915
- objConfig = _a.sent();
916
- fields = objConfig.fields;
917
- (0, i18n_1.translationObject)(lng, objConfig.name, objConfig, true);
918
- return [4, _translateToUI(doc, selectorFieldNames, doc)];
919
- case 2:
920
- uiDoc = _a.sent();
921
- uiDoc['_id'] = doc._id;
922
- return [2, uiDoc];
923
- }
924
- });
925
- });
926
- }
927
- function getTranslatedFieldConfig(translatedObject, name) {
928
- return translatedObject.fields[name.replace(/__label$/, "")];
929
- }
930
- //# sourceMappingURL=getGraphqlActions.js.map