@steedos/objectql 3.0.0-beta.2 → 3.0.0-beta.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.
- package/lib/actions/field_updates.js +3 -4
- package/lib/actions/field_updates.js.map +1 -1
- package/lib/actions/types/field_update_target.d.ts +1 -1
- package/lib/actions/types/workflow_notification.d.ts +1 -1
- package/lib/actions/types/workflow_outbound_message.d.ts +1 -1
- package/lib/actions/types/workflow_rule.d.ts +1 -1
- package/lib/actions/workflow_notifications.js +2 -3
- package/lib/actions/workflow_notifications.js.map +1 -1
- package/lib/actions/workflow_outbound_messages.js +2 -3
- package/lib/actions/workflow_outbound_messages.js.map +1 -1
- package/lib/actions/workflow_rule.d.ts +1 -1
- package/lib/actions/workflow_rule.js.map +1 -1
- package/lib/broker.js.map +1 -1
- package/lib/driver/driver.d.ts +2 -2
- package/lib/driver/field-encrytion/mongosharedconst.js +1 -2
- package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
- package/lib/driver/fieldDBType.js +1 -1
- package/lib/driver/fieldDBType.js.map +1 -1
- package/lib/driver/format.js +1 -2
- package/lib/driver/format.js.map +1 -1
- package/lib/driver/metadata.d.ts +14 -36
- package/lib/driver/metadata.js +196 -171
- package/lib/driver/metadata.js.map +1 -1
- package/lib/driver/metadataOld.d.ts +40 -0
- package/lib/driver/metadataOld.js +222 -0
- package/lib/driver/metadataOld.js.map +1 -0
- package/lib/driver/meteorMongo.d.ts +2 -39
- package/lib/driver/meteorMongo.js +5 -758
- package/lib/driver/meteorMongo.js.map +1 -1
- package/lib/driver/mongo.d.ts +0 -1
- package/lib/driver/mongo.js +34 -33
- package/lib/driver/mongo.js.map +1 -1
- package/lib/driver/mysql.js.map +1 -1
- package/lib/driver/oracle.js.map +1 -1
- package/lib/driver/postgres.js.map +1 -1
- package/lib/driver/sqlite3.js.map +1 -1
- package/lib/driver/sqlserver.js.map +1 -1
- package/lib/errors/index.d.ts +1 -1
- package/lib/errors/index.js +7 -6
- package/lib/errors/index.js.map +1 -1
- package/lib/formula/core.d.ts +3 -1
- package/lib/formula/core.js +187 -119
- package/lib/formula/core.js.map +1 -1
- package/lib/formula/field_formula.js.map +1 -1
- package/lib/formula/index.d.ts +6 -6
- package/lib/formula/index.js +13 -5
- package/lib/formula/index.js.map +1 -1
- package/lib/formula/params.js +1 -2
- package/lib/formula/params.js.map +1 -1
- package/lib/formula/recompute.js.map +1 -1
- package/lib/formula/simple_params.js +1 -2
- package/lib/formula/simple_params.js.map +1 -1
- package/lib/formula/type.d.ts +7 -7
- package/lib/formula/type.js +1 -1
- package/lib/formula/type.js.map +1 -1
- package/lib/formula/util.js.map +1 -1
- package/lib/functions/function.js.map +1 -1
- package/lib/services/datasourceServiceFactory.js +26 -15
- package/lib/services/datasourceServiceFactory.js.map +1 -1
- package/lib/services/index.js +2 -3
- package/lib/services/index.js.map +1 -1
- package/lib/summary/core.js +53 -44
- package/lib/summary/core.js.map +1 -1
- package/lib/summary/field_summary.js.map +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/recompute.js.map +1 -1
- package/lib/summary/type.d.ts +1 -1
- package/lib/summary/type.js +2 -2
- package/lib/summary/type.js.map +1 -1
- package/lib/triggers/trigger.js.map +1 -1
- package/lib/ts-types/permissionset.d.ts +1 -1
- package/lib/ts-types/profile.d.ts +1 -1
- package/lib/ts-types/triggerActionParams.d.ts +1 -1
- package/lib/typeorm/driver.js.map +1 -1
- package/lib/typeorm/util.d.ts +1 -1
- package/lib/typeorm/util.js +5 -6
- package/lib/typeorm/util.js.map +1 -1
- package/lib/types/action.d.ts +1 -1
- package/lib/types/action.js.map +1 -1
- package/lib/types/app.d.ts +1 -1
- package/lib/types/app.js +9 -5
- package/lib/types/app.js.map +1 -1
- package/lib/types/connection.d.ts +2 -2
- package/lib/types/connection.js +11 -7
- package/lib/types/connection.js.map +1 -1
- package/lib/types/dashboard.d.ts +1 -1
- package/lib/types/dashboard.js +2 -2
- package/lib/types/dashboard.js.map +1 -1
- package/lib/types/datasource.d.ts +12 -7
- package/lib/types/datasource.js +146 -100
- package/lib/types/datasource.js.map +1 -1
- package/lib/types/defaultValue.js +1 -2
- package/lib/types/defaultValue.js.map +1 -1
- package/lib/types/field.js.map +1 -1
- package/lib/types/field_permission.js.map +1 -1
- package/lib/types/field_types.d.ts +1 -1
- package/lib/types/list_view.js.map +1 -1
- package/lib/types/listeners.d.ts +1 -1
- package/lib/types/method_base.js +2 -3
- package/lib/types/method_base.js.map +1 -1
- package/lib/types/object.d.ts +2 -1
- package/lib/types/object.js +715 -421
- package/lib/types/object.js.map +1 -1
- package/lib/types/object_events.js +1 -2
- package/lib/types/object_events.js.map +1 -1
- package/lib/types/object_layouts.js +4 -5
- package/lib/types/object_layouts.js.map +1 -1
- package/lib/types/object_permission.js.map +1 -1
- package/lib/types/query.d.ts +2 -2
- package/lib/types/report.d.ts +1 -1
- package/lib/types/report.js +2 -2
- package/lib/types/report.js.map +1 -1
- package/lib/types/restrictionRule.d.ts +1 -1
- package/lib/types/restrictionRule.js +81 -32
- package/lib/types/restrictionRule.js.map +1 -1
- package/lib/types/schema.d.ts +4 -5
- package/lib/types/schema.js +37 -55
- package/lib/types/schema.js.map +1 -1
- package/lib/types/shareRule.d.ts +1 -1
- package/lib/types/shareRule.js +87 -38
- package/lib/types/shareRule.js.map +1 -1
- package/lib/types/trigger.d.ts +2 -2
- package/lib/types/userSession.d.ts +5 -5
- package/lib/types/validation_rules.js +1 -2
- package/lib/types/validation_rules.js.map +1 -1
- package/lib/util/convert.js +2 -3
- package/lib/util/convert.js.map +1 -1
- package/lib/util/field.js.map +1 -1
- package/lib/util/function_expression.js.map +1 -1
- package/lib/util/index.d.ts +8 -9
- package/lib/util/index.js +127 -101
- package/lib/util/index.js.map +1 -1
- package/lib/util/locale.js.map +1 -1
- package/lib/util/permission_shares.js +1 -2
- package/lib/util/permission_shares.js.map +1 -1
- package/lib/util/suffix.js +0 -38
- package/lib/util/suffix.js.map +1 -1
- package/lib/util/transform.d.ts +2 -4
- package/lib/util/transform.js +11 -152
- package/lib/util/transform.js.map +1 -1
- package/lib/validators/index.js.map +1 -1
- package/package.json +14 -18
package/lib/types/object.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SteedosObjectType = exports._TRIGGERKEYS = exports.getRepeatObjectNameFromPaths = exports.MAX_MASTER_DETAIL_LEAVE = void 0;
|
|
4
|
+
exports.getObject = getObject;
|
|
5
|
+
exports.getLocalObject = getLocalObject;
|
|
6
|
+
exports.getAllObject = getAllObject;
|
|
4
7
|
var tslib_1 = require("tslib");
|
|
5
8
|
var _1 = require(".");
|
|
6
9
|
var util_1 = require("../util");
|
|
7
|
-
var index_1 = require("../index");
|
|
8
10
|
var _ = require("underscore");
|
|
9
11
|
var datasource_1 = require("./datasource");
|
|
10
12
|
var fieldDBType_1 = require("../driver/fieldDBType");
|
|
@@ -27,12 +29,13 @@ var metadata_registrar_1 = require("@steedos/metadata-registrar");
|
|
|
27
29
|
var method_base_1 = require("./method_base");
|
|
28
30
|
var defaultValue_1 = require("./defaultValue");
|
|
29
31
|
var function_1 = require("../functions/function");
|
|
32
|
+
var i18n_2 = require("@steedos/i18n");
|
|
30
33
|
var auth = require("@steedos/auth");
|
|
31
|
-
var clone = require(
|
|
32
|
-
var PLATFORM_ENTERPRISE =
|
|
33
|
-
var PLATFORM_PROFESSIONAL =
|
|
34
|
-
var LICENSE_SERVICE =
|
|
35
|
-
var METADATA_CACHER_SERVICE_NAME =
|
|
34
|
+
var clone = require("clone");
|
|
35
|
+
var PLATFORM_ENTERPRISE = "platform-enterprise";
|
|
36
|
+
var PLATFORM_PROFESSIONAL = "platform-professional";
|
|
37
|
+
var LICENSE_SERVICE = "@steedos/service-license";
|
|
38
|
+
var METADATA_CACHER_SERVICE_NAME = "metadata-cachers-service";
|
|
36
39
|
exports.MAX_MASTER_DETAIL_LEAVE = 6;
|
|
37
40
|
var getRepeatObjectNameFromPaths = function (paths) {
|
|
38
41
|
var e_1, _a;
|
|
@@ -67,8 +70,64 @@ var SteedosObjectProperties = (function () {
|
|
|
67
70
|
}
|
|
68
71
|
return SteedosObjectProperties;
|
|
69
72
|
}());
|
|
70
|
-
exports._TRIGGERKEYS = [
|
|
71
|
-
|
|
73
|
+
exports._TRIGGERKEYS = [
|
|
74
|
+
"beforeFind",
|
|
75
|
+
"beforeInsert",
|
|
76
|
+
"beforeUpdate",
|
|
77
|
+
"beforeDelete",
|
|
78
|
+
"afterFind",
|
|
79
|
+
"afterCount",
|
|
80
|
+
"afterFindOne",
|
|
81
|
+
"afterInsert",
|
|
82
|
+
"afterUpdate",
|
|
83
|
+
"afterDelete",
|
|
84
|
+
"beforeAggregate",
|
|
85
|
+
"afterAggregate",
|
|
86
|
+
];
|
|
87
|
+
var properties = [
|
|
88
|
+
"originalFields",
|
|
89
|
+
"enable_dataloader",
|
|
90
|
+
"label",
|
|
91
|
+
"icon",
|
|
92
|
+
"enable_search",
|
|
93
|
+
"sidebar",
|
|
94
|
+
"is_enable",
|
|
95
|
+
"enable_files",
|
|
96
|
+
"enable_tasks",
|
|
97
|
+
"enable_notes",
|
|
98
|
+
"enable_events",
|
|
99
|
+
"enable_api",
|
|
100
|
+
"enable_share",
|
|
101
|
+
"enable_instances",
|
|
102
|
+
"enable_chatter",
|
|
103
|
+
"enable_audit",
|
|
104
|
+
"enable_web_forms",
|
|
105
|
+
"enable_inline_edit",
|
|
106
|
+
"enable_approvals",
|
|
107
|
+
"enable_trash",
|
|
108
|
+
"enable_space_global",
|
|
109
|
+
"enable_tree",
|
|
110
|
+
"parent_field",
|
|
111
|
+
"children_field",
|
|
112
|
+
"enable_enhanced_lookup",
|
|
113
|
+
"enable_workflow",
|
|
114
|
+
"is_view",
|
|
115
|
+
"hidden",
|
|
116
|
+
"description",
|
|
117
|
+
"custom",
|
|
118
|
+
"owner",
|
|
119
|
+
"methods",
|
|
120
|
+
"_id",
|
|
121
|
+
"relatedList",
|
|
122
|
+
"fields_serial_number",
|
|
123
|
+
"is_enable",
|
|
124
|
+
"in_development",
|
|
125
|
+
"version",
|
|
126
|
+
"paging",
|
|
127
|
+
"enable_split",
|
|
128
|
+
"compactLayouts",
|
|
129
|
+
"field_groups",
|
|
130
|
+
];
|
|
72
131
|
var SteedosObjectType = (function (_super) {
|
|
73
132
|
tslib_1.__extends(SteedosObjectType, _super);
|
|
74
133
|
function SteedosObjectType(object_name, datasource, config) {
|
|
@@ -89,7 +148,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
89
148
|
if (_this._datasource.driver != datasource_1.SteedosDatabaseDriverType.MeteorMongo)
|
|
90
149
|
_this._enable_share = false;
|
|
91
150
|
if (/^[_a-zA-Z][_a-zA-Z0-9]*$/.test(object_name) != true) {
|
|
92
|
-
throw new Error(
|
|
151
|
+
throw new Error("invalid character, object_name can only be start with _ or a-zA-Z and contain only _ or _a-zA-Z0-9. you can set table_name");
|
|
93
152
|
}
|
|
94
153
|
if (config.table_name) {
|
|
95
154
|
_this._table_name = config.table_name;
|
|
@@ -123,26 +182,18 @@ var SteedosObjectType = (function (_super) {
|
|
|
123
182
|
permission.name = name;
|
|
124
183
|
_this.setPermission(permission);
|
|
125
184
|
});
|
|
126
|
-
if (_this._datasource.driver == datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
127
|
-
_this.
|
|
185
|
+
if (_this._datasource.driver == datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
186
|
+
_this._datasource.driver == datasource_1.SteedosDatabaseDriverType.MeteorMongo) {
|
|
187
|
+
_this._idFieldName = "_id";
|
|
128
188
|
}
|
|
129
|
-
_this.schema.setObjectMap(_this.name, {
|
|
130
|
-
|
|
189
|
+
_this.schema.setObjectMap(_this.name, {
|
|
190
|
+
datasourceName: _this.datasource.name,
|
|
191
|
+
_id: config._id,
|
|
192
|
+
});
|
|
193
|
+
if (datasource.name === "default") {
|
|
131
194
|
var baseObjectConfig = (0, metadata_registrar_1.getObjectConfig)(metadata_registrar_1.MONGO_BASE_OBJECT);
|
|
132
195
|
var _baseObjectConfig = clone(baseObjectConfig);
|
|
133
196
|
delete _baseObjectConfig.hidden;
|
|
134
|
-
if (datasource.name === 'meteor') {
|
|
135
|
-
var _baseTriggers = {};
|
|
136
|
-
var listeners = _baseObjectConfig.listeners;
|
|
137
|
-
for (var key in listeners) {
|
|
138
|
-
if (Object.prototype.hasOwnProperty.call(listeners, key)) {
|
|
139
|
-
var listener = listeners[key];
|
|
140
|
-
var triggers = (0, util_1.transformListenersToTriggers)(config, listener);
|
|
141
|
-
(0, index_1.extend)(_baseTriggers, triggers);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
_this._baseTriggers = _baseTriggers;
|
|
145
|
-
}
|
|
146
197
|
for (var name in _baseObjectConfig.listeners) {
|
|
147
198
|
if (Object.prototype.hasOwnProperty.call(_baseObjectConfig.listeners, name)) {
|
|
148
199
|
var listener = _baseObjectConfig.listeners[name];
|
|
@@ -278,14 +329,16 @@ var SteedosObjectType = (function (_super) {
|
|
|
278
329
|
var _this = this;
|
|
279
330
|
var driverSupportedColumnTypes = this._datasource.adapter.getSupportedColumnTypes();
|
|
280
331
|
_.each(this.fields, function (field, key) {
|
|
281
|
-
if (fieldDBType_1.SteedosFieldDBType[field.fieldDBType] &&
|
|
332
|
+
if (fieldDBType_1.SteedosFieldDBType[field.fieldDBType] &&
|
|
333
|
+
!driverSupportedColumnTypes.includes(field.fieldDBType)) {
|
|
282
334
|
throw new Error("driver ".concat(_this._datasource.driver, " can not support field ").concat(key, " config"));
|
|
283
335
|
}
|
|
284
336
|
});
|
|
285
337
|
};
|
|
286
338
|
SteedosObjectType.prototype.getConfig = function () {
|
|
287
339
|
var _a;
|
|
288
|
-
return ((_a = this.datasource.getCacheObject(this.name)) === null || _a === void 0 ? void 0 : _a.metadata) ||
|
|
340
|
+
return (((_a = this.datasource.getCacheObject(this.name)) === null || _a === void 0 ? void 0 : _a.metadata) ||
|
|
341
|
+
this.datasource.getObjectConfig(this.name));
|
|
289
342
|
};
|
|
290
343
|
SteedosObjectType.prototype.setPermission = function (config) {
|
|
291
344
|
this._datasource.setObjectPermission(this._name, config);
|
|
@@ -308,12 +361,11 @@ var SteedosObjectType = (function (_super) {
|
|
|
308
361
|
var event = config[key];
|
|
309
362
|
delete _this._triggersQueue[key]["".concat(listener_name, "_").concat(event.name)];
|
|
310
363
|
}
|
|
311
|
-
catch (error) {
|
|
312
|
-
}
|
|
364
|
+
catch (error) { }
|
|
313
365
|
});
|
|
314
366
|
};
|
|
315
367
|
SteedosObjectType.prototype.setTrigger = function (name, when, todo, on) {
|
|
316
|
-
if (on === void 0) { on =
|
|
368
|
+
if (on === void 0) { on = "server"; }
|
|
317
369
|
var triggerConfig = {
|
|
318
370
|
name: name,
|
|
319
371
|
on: on,
|
|
@@ -325,7 +377,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
325
377
|
this.registerTrigger(trigger);
|
|
326
378
|
};
|
|
327
379
|
SteedosObjectType.prototype.registerTrigger = function (trigger) {
|
|
328
|
-
if (!_.isString(this._datasource.driver) ||
|
|
380
|
+
if (!_.isString(this._datasource.driver) ||
|
|
381
|
+
this._datasource.driver != datasource_1.SteedosDatabaseDriverType.MeteorMongo ||
|
|
382
|
+
trigger.when === "beforeFind" ||
|
|
383
|
+
trigger.when === "afterFind" ||
|
|
384
|
+
trigger.when === "afterFindOne" ||
|
|
385
|
+
trigger.when === "afterCount" ||
|
|
386
|
+
trigger.when === "beforeAggregate" ||
|
|
387
|
+
trigger.when === "afterAggregate") {
|
|
329
388
|
if (!trigger.todo) {
|
|
330
389
|
return;
|
|
331
390
|
}
|
|
@@ -349,7 +408,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
349
408
|
});
|
|
350
409
|
};
|
|
351
410
|
SteedosObjectType.prototype.setBaseTrigger = function (name, when, todo, on) {
|
|
352
|
-
if (on === void 0) { on =
|
|
411
|
+
if (on === void 0) { on = "server"; }
|
|
353
412
|
var triggerConfig = {
|
|
354
413
|
name: name,
|
|
355
414
|
on: on,
|
|
@@ -360,7 +419,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
360
419
|
this.registerBaseTrigger(trigger);
|
|
361
420
|
};
|
|
362
421
|
SteedosObjectType.prototype.registerBaseTrigger = function (trigger) {
|
|
363
|
-
if (!_.isString(this._datasource.driver) ||
|
|
422
|
+
if (!_.isString(this._datasource.driver) ||
|
|
423
|
+
this._datasource.driver != datasource_1.SteedosDatabaseDriverType.MeteorMongo ||
|
|
424
|
+
trigger.when === "beforeFind" ||
|
|
425
|
+
trigger.when === "afterFind" ||
|
|
426
|
+
trigger.when === "afterFindOne" ||
|
|
427
|
+
trigger.when === "afterCount" ||
|
|
428
|
+
trigger.when === "beforeAggregate" ||
|
|
429
|
+
trigger.when === "afterAggregate") {
|
|
364
430
|
if (!trigger.todo) {
|
|
365
431
|
return;
|
|
366
432
|
}
|
|
@@ -404,53 +470,57 @@ var SteedosObjectType = (function (_super) {
|
|
|
404
470
|
};
|
|
405
471
|
SteedosObjectType.prototype.runTriggers = function (when, context) {
|
|
406
472
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
407
|
-
var triggers, triggerKeys, index, trigger, wildcardListeners, _a, _b, _i, key, listener, triggerConfig, trigger;
|
|
408
|
-
return tslib_1.__generator(this, function (
|
|
409
|
-
switch (
|
|
473
|
+
var triggers, triggerKeys, index, trigger, wildcardListeners, _a, _b, _c, _i, key, listener, triggerConfig, trigger;
|
|
474
|
+
return tslib_1.__generator(this, function (_d) {
|
|
475
|
+
switch (_d.label) {
|
|
410
476
|
case 0:
|
|
411
477
|
triggers = this._triggersQueue[when];
|
|
412
478
|
if (!triggers) return [3, 4];
|
|
413
479
|
triggerKeys = _.keys(triggers);
|
|
414
480
|
index = 0;
|
|
415
|
-
|
|
481
|
+
_d.label = 1;
|
|
416
482
|
case 1:
|
|
417
483
|
if (!(index < triggerKeys.length)) return [3, 4];
|
|
418
|
-
if (this._baseTriggersQueue[when] &&
|
|
484
|
+
if (this._baseTriggersQueue[when] &&
|
|
485
|
+
this._baseTriggersQueue[when][triggerKeys[index]]) {
|
|
419
486
|
return [3, 3];
|
|
420
487
|
}
|
|
421
488
|
trigger = triggers[triggerKeys[index]];
|
|
422
489
|
return [4, this.runTirgger(trigger, context)];
|
|
423
490
|
case 2:
|
|
424
|
-
|
|
425
|
-
|
|
491
|
+
_d.sent();
|
|
492
|
+
_d.label = 3;
|
|
426
493
|
case 3:
|
|
427
494
|
index++;
|
|
428
495
|
return [3, 1];
|
|
429
496
|
case 4:
|
|
430
497
|
wildcardListeners = (0, metadata_registrar_1.getPatternListeners)(this.name);
|
|
431
498
|
if (!wildcardListeners) return [3, 8];
|
|
432
|
-
_a =
|
|
433
|
-
|
|
434
|
-
|
|
499
|
+
_a = wildcardListeners;
|
|
500
|
+
_b = [];
|
|
501
|
+
for (_c in _a)
|
|
502
|
+
_b.push(_c);
|
|
435
503
|
_i = 0;
|
|
436
|
-
|
|
504
|
+
_d.label = 5;
|
|
437
505
|
case 5:
|
|
438
|
-
if (!(_i <
|
|
439
|
-
|
|
506
|
+
if (!(_i < _b.length)) return [3, 8];
|
|
507
|
+
_c = _b[_i];
|
|
508
|
+
if (!(_c in _a)) return [3, 7];
|
|
509
|
+
key = _c;
|
|
440
510
|
if (!Object.prototype.hasOwnProperty.call(wildcardListeners, key)) return [3, 7];
|
|
441
511
|
listener = wildcardListeners[key];
|
|
442
512
|
if (!(listener && listener[when])) return [3, 7];
|
|
443
513
|
triggerConfig = {
|
|
444
514
|
name: "".concat(key, "_").concat(when),
|
|
445
|
-
on:
|
|
515
|
+
on: "server",
|
|
446
516
|
when: when,
|
|
447
517
|
todo: listener[when],
|
|
448
518
|
};
|
|
449
519
|
trigger = new _1.SteedosTriggerType(triggerConfig);
|
|
450
520
|
return [4, this.runTirgger(trigger, context)];
|
|
451
521
|
case 6:
|
|
452
|
-
|
|
453
|
-
|
|
522
|
+
_d.sent();
|
|
523
|
+
_d.label = 7;
|
|
454
524
|
case 7:
|
|
455
525
|
_i++;
|
|
456
526
|
return [3, 5];
|
|
@@ -488,32 +558,37 @@ var SteedosObjectType = (function (_super) {
|
|
|
488
558
|
SteedosObjectType.prototype.getFunctionTriggers = function (when) {
|
|
489
559
|
var _this = this;
|
|
490
560
|
var triggers = [];
|
|
491
|
-
var cache = (0, cachers_1.getCacher)(
|
|
492
|
-
var _triggers = cache.get(
|
|
561
|
+
var cache = (0, cachers_1.getCacher)("triggers");
|
|
562
|
+
var _triggers = cache.get("triggers");
|
|
493
563
|
if (!_.isEmpty(_triggers)) {
|
|
494
564
|
_.map(_triggers, function (item) {
|
|
495
565
|
if (item && item.metadata) {
|
|
496
566
|
var metadata = item.metadata;
|
|
497
|
-
if (metadata.isEnabled &&
|
|
567
|
+
if (metadata.isEnabled &&
|
|
568
|
+
(metadata.when === when ||
|
|
569
|
+
((0, lodash_2.isArray)(metadata.when) && (0, lodash_2.includes)(metadata.when, when)))) {
|
|
498
570
|
if (metadata.isPattern) {
|
|
499
571
|
try {
|
|
500
|
-
if (metadata.listenTo ===
|
|
572
|
+
if (metadata.listenTo === "*") {
|
|
501
573
|
triggers.push(item);
|
|
502
574
|
}
|
|
503
|
-
else if (_.isArray(metadata.listenTo) &&
|
|
575
|
+
else if (_.isArray(metadata.listenTo) &&
|
|
576
|
+
_.include(metadata.listenTo, _this.name)) {
|
|
504
577
|
triggers.push(item);
|
|
505
578
|
}
|
|
506
|
-
else if (_.isRegExp(metadata.listenTo) &&
|
|
579
|
+
else if (_.isRegExp(metadata.listenTo) &&
|
|
580
|
+
metadata.listenTo.test(_this.name)) {
|
|
507
581
|
triggers.push(item);
|
|
508
582
|
}
|
|
509
|
-
else if (_.isString(metadata.listenTo) &&
|
|
583
|
+
else if (_.isString(metadata.listenTo) &&
|
|
584
|
+
metadata.listenTo.startsWith("/")) {
|
|
510
585
|
try {
|
|
511
|
-
if (_.isRegExp(eval(metadata.listenTo)) &&
|
|
586
|
+
if (_.isRegExp(eval(metadata.listenTo)) &&
|
|
587
|
+
eval(metadata.listenTo).test(_this.name)) {
|
|
512
588
|
triggers.push(item);
|
|
513
589
|
}
|
|
514
590
|
}
|
|
515
|
-
catch (error) {
|
|
516
|
-
}
|
|
591
|
+
catch (error) { }
|
|
517
592
|
}
|
|
518
593
|
}
|
|
519
594
|
catch (error) {
|
|
@@ -554,26 +629,26 @@ var SteedosObjectType = (function (_super) {
|
|
|
554
629
|
params = (0, util_1.generateActionParams)(when, context);
|
|
555
630
|
return [4, (0, trigger_1.runTriggerFunction)(trigger.metadata, {
|
|
556
631
|
getObject: getObject,
|
|
557
|
-
getUser: auth.getSessionByUserId
|
|
632
|
+
getUser: auth.getSessionByUserId,
|
|
558
633
|
}, {
|
|
559
634
|
params: params,
|
|
560
635
|
broker: broker,
|
|
561
636
|
getObject: getObject,
|
|
562
|
-
getUser: auth.getSessionByUserId
|
|
637
|
+
getUser: auth.getSessionByUserId,
|
|
563
638
|
})];
|
|
564
639
|
case 3:
|
|
565
640
|
result = _b.sent();
|
|
566
|
-
if (when ==
|
|
641
|
+
if (when == "beforeInsert" || when == "beforeUpdate") {
|
|
567
642
|
if (result && result.doc && _.isObject(result.doc)) {
|
|
568
643
|
Object.assign(context.doc, result.doc);
|
|
569
644
|
}
|
|
570
645
|
}
|
|
571
|
-
if (when ==
|
|
646
|
+
if (when == "beforeFind") {
|
|
572
647
|
if (result && result.query && _.isObject(result.query)) {
|
|
573
648
|
Object.assign(context.query, result.query);
|
|
574
649
|
}
|
|
575
650
|
}
|
|
576
|
-
if (when ==
|
|
651
|
+
if (when == "afterFind") {
|
|
577
652
|
if (result && result.data && _.isObject(result.data)) {
|
|
578
653
|
Object.assign(context.data, result.data);
|
|
579
654
|
}
|
|
@@ -601,32 +676,36 @@ var SteedosObjectType = (function (_super) {
|
|
|
601
676
|
SteedosObjectType.prototype.getTriggerActions = function (when) {
|
|
602
677
|
var _this = this;
|
|
603
678
|
var triggers = [];
|
|
604
|
-
var cache = (0, cachers_1.getCacher)(
|
|
605
|
-
var triggerActions = cache.get(
|
|
679
|
+
var cache = (0, cachers_1.getCacher)("action-triggers");
|
|
680
|
+
var triggerActions = cache.get("triggerActions");
|
|
606
681
|
if (!_.isEmpty(triggerActions)) {
|
|
607
682
|
_.map(triggerActions, function (item) {
|
|
608
683
|
if (item && item.metadata) {
|
|
609
684
|
var metadata = item.metadata;
|
|
610
|
-
if (metadata.when === when ||
|
|
685
|
+
if (metadata.when === when ||
|
|
686
|
+
((0, lodash_2.isArray)(metadata.when) && (0, lodash_2.includes)(metadata.when, when))) {
|
|
611
687
|
if (metadata.isPattern) {
|
|
612
688
|
try {
|
|
613
|
-
if (metadata.listenTo ===
|
|
689
|
+
if (metadata.listenTo === "*") {
|
|
614
690
|
triggers.push(item);
|
|
615
691
|
}
|
|
616
|
-
else if (_.isArray(metadata.listenTo) &&
|
|
692
|
+
else if (_.isArray(metadata.listenTo) &&
|
|
693
|
+
_.include(metadata.listenTo, _this.name)) {
|
|
617
694
|
triggers.push(item);
|
|
618
695
|
}
|
|
619
|
-
else if (_.isRegExp(metadata.listenTo) &&
|
|
696
|
+
else if (_.isRegExp(metadata.listenTo) &&
|
|
697
|
+
metadata.listenTo.test(_this.name)) {
|
|
620
698
|
triggers.push(item);
|
|
621
699
|
}
|
|
622
|
-
else if (_.isString(metadata.listenTo) &&
|
|
700
|
+
else if (_.isString(metadata.listenTo) &&
|
|
701
|
+
metadata.listenTo.startsWith("/")) {
|
|
623
702
|
try {
|
|
624
|
-
if (_.isRegExp(eval(metadata.listenTo)) &&
|
|
703
|
+
if (_.isRegExp(eval(metadata.listenTo)) &&
|
|
704
|
+
eval(metadata.listenTo).test(_this.name)) {
|
|
625
705
|
triggers.push(item);
|
|
626
706
|
}
|
|
627
707
|
}
|
|
628
|
-
catch (error) {
|
|
629
|
-
}
|
|
708
|
+
catch (error) { }
|
|
630
709
|
}
|
|
631
710
|
}
|
|
632
711
|
catch (error) {
|
|
@@ -664,8 +743,12 @@ var SteedosObjectType = (function (_super) {
|
|
|
664
743
|
if (!!triggers_2_1.done) return [3, 5];
|
|
665
744
|
trigger = triggers_2_1.value;
|
|
666
745
|
params = (0, util_1.generateActionParams)(when, context);
|
|
667
|
-
return [4, this._schema.metadataBroker
|
|
668
|
-
|
|
746
|
+
return [4, this._schema.metadataBroker
|
|
747
|
+
.call("".concat(trigger.service.name, ".").concat(trigger.metadata.action), params)
|
|
748
|
+
.catch(function (error) {
|
|
749
|
+
if (error &&
|
|
750
|
+
_.isObject(error) &&
|
|
751
|
+
error.type === "SERVICE_NOT_AVAILABLE") {
|
|
669
752
|
console.error("runTriggerActions error", error);
|
|
670
753
|
}
|
|
671
754
|
else {
|
|
@@ -674,17 +757,19 @@ var SteedosObjectType = (function (_super) {
|
|
|
674
757
|
})];
|
|
675
758
|
case 3:
|
|
676
759
|
result = _b.sent();
|
|
677
|
-
if (when ==
|
|
760
|
+
if (when == "beforeInsert" || when == "beforeUpdate") {
|
|
678
761
|
if (result && result.doc && _.isObject(result.doc)) {
|
|
679
762
|
Object.assign(context.doc, result.doc);
|
|
680
763
|
}
|
|
681
764
|
}
|
|
682
|
-
if (when ==
|
|
765
|
+
if (when == "beforeFind") {
|
|
683
766
|
if (result && result.query && _.isObject(result.query)) {
|
|
684
767
|
Object.assign(context.query, result.query);
|
|
685
768
|
}
|
|
686
769
|
}
|
|
687
|
-
if (when ==
|
|
770
|
+
if (when == "afterFind" ||
|
|
771
|
+
when == "afterFindOne" ||
|
|
772
|
+
when == "afterCount") {
|
|
688
773
|
if (result && result.data && _.isObject(result.data)) {
|
|
689
774
|
Object.assign(context.data, result.data);
|
|
690
775
|
}
|
|
@@ -716,10 +801,13 @@ var SteedosObjectType = (function (_super) {
|
|
|
716
801
|
switch (_a.label) {
|
|
717
802
|
case 0:
|
|
718
803
|
objectName = this.name;
|
|
719
|
-
return [4, broker.call("".concat(METADATA_CACHER_SERVICE_NAME, ".find"), {
|
|
804
|
+
return [4, broker.call("".concat(METADATA_CACHER_SERVICE_NAME, ".find"), {
|
|
805
|
+
metadataName: "object_functions",
|
|
806
|
+
filters: [
|
|
720
807
|
["objectApiName", "=", objectName],
|
|
721
|
-
["_name", "=", functionName]
|
|
722
|
-
]
|
|
808
|
+
["_name", "=", functionName],
|
|
809
|
+
],
|
|
810
|
+
})];
|
|
723
811
|
case 1:
|
|
724
812
|
fDocs = _a.sent();
|
|
725
813
|
len = fDocs.length;
|
|
@@ -741,7 +829,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
741
829
|
params: params,
|
|
742
830
|
broker: broker,
|
|
743
831
|
getObject: getObject,
|
|
744
|
-
getUser: auth.getSessionByUserId
|
|
832
|
+
getUser: auth.getSessionByUserId,
|
|
745
833
|
})];
|
|
746
834
|
case 2:
|
|
747
835
|
result = _a.sent();
|
|
@@ -756,7 +844,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
756
844
|
var config = {
|
|
757
845
|
idFieldName: this.idFieldName,
|
|
758
846
|
name: this.name,
|
|
759
|
-
fields: {}
|
|
847
|
+
fields: {},
|
|
760
848
|
};
|
|
761
849
|
_.each(properties, function (property) {
|
|
762
850
|
if (_this[property] != null && _this[property] != undefined) {
|
|
@@ -800,7 +888,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
800
888
|
SteedosObjectType.prototype.setField = function (field_name, fieldConfig) {
|
|
801
889
|
var field = new _1.SteedosFieldType(field_name, this, fieldConfig);
|
|
802
890
|
this.fields[field_name] = field;
|
|
803
|
-
if (field.primary &&
|
|
891
|
+
if (field.primary &&
|
|
892
|
+
this._datasource.driver != datasource_1.SteedosDatabaseDriverType.Mongo &&
|
|
893
|
+
this._datasource.driver != datasource_1.SteedosDatabaseDriverType.MeteorMongo) {
|
|
804
894
|
this._idFieldName = field.name;
|
|
805
895
|
if (this._idFieldNames.indexOf(field.name) < 0) {
|
|
806
896
|
this._idFieldNames.push(field.name);
|
|
@@ -809,7 +899,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
809
899
|
if (field.is_name) {
|
|
810
900
|
this._NAME_FIELD_KEY = field_name;
|
|
811
901
|
}
|
|
812
|
-
else if (field_name ==
|
|
902
|
+
else if (field_name == "name" && !this._NAME_FIELD_KEY) {
|
|
813
903
|
this._NAME_FIELD_KEY = field_name;
|
|
814
904
|
}
|
|
815
905
|
};
|
|
@@ -826,7 +916,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
826
916
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
827
917
|
return tslib_1.__generator(this, function (_a) {
|
|
828
918
|
switch (_a.label) {
|
|
829
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getDetailPaths", {
|
|
919
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getDetailPaths", {
|
|
920
|
+
objectApiName: this.name,
|
|
921
|
+
})];
|
|
830
922
|
case 1: return [2, _a.sent()];
|
|
831
923
|
}
|
|
832
924
|
});
|
|
@@ -836,7 +928,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
836
928
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
837
929
|
return tslib_1.__generator(this, function (_a) {
|
|
838
930
|
switch (_a.label) {
|
|
839
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getMasterPaths", {
|
|
931
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getMasterPaths", {
|
|
932
|
+
objectApiName: this.name,
|
|
933
|
+
})];
|
|
840
934
|
case 1: return [2, _a.sent()];
|
|
841
935
|
}
|
|
842
936
|
});
|
|
@@ -846,7 +940,10 @@ var SteedosObjectType = (function (_super) {
|
|
|
846
940
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
847
941
|
return tslib_1.__generator(this, function (_a) {
|
|
848
942
|
switch (_a.label) {
|
|
849
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getMaxDetailsLeave", {
|
|
943
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getMaxDetailsLeave", {
|
|
944
|
+
objectApiName: this.name,
|
|
945
|
+
paths: paths,
|
|
946
|
+
})];
|
|
850
947
|
case 1: return [2, _a.sent()];
|
|
851
948
|
}
|
|
852
949
|
});
|
|
@@ -856,7 +953,10 @@ var SteedosObjectType = (function (_super) {
|
|
|
856
953
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
857
954
|
return tslib_1.__generator(this, function (_a) {
|
|
858
955
|
switch (_a.label) {
|
|
859
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getMaxMastersLeave", {
|
|
956
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getMaxMastersLeave", {
|
|
957
|
+
objectApiName: this.name,
|
|
958
|
+
paths: paths,
|
|
959
|
+
})];
|
|
860
960
|
case 1: return [2, _a.sent()];
|
|
861
961
|
}
|
|
862
962
|
});
|
|
@@ -900,25 +1000,26 @@ var SteedosObjectType = (function (_super) {
|
|
|
900
1000
|
return this._actions[action_name];
|
|
901
1001
|
};
|
|
902
1002
|
SteedosObjectType.prototype.refreshIndexes = function () {
|
|
903
|
-
var e_4, _a;
|
|
904
1003
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
905
|
-
var adapter, collection, defaultAdapter, indexesInfo, dropIndexNames, key, field, info, indexesInfo_1, indexesInfo_1_1, indexInfo, key, error_1, e_4_1, error_2;
|
|
906
|
-
|
|
907
|
-
|
|
1004
|
+
var adapter, collection, defaultAdapter, indexesInfo, dropIndexNames, key, field, info, _a, indexesInfo_1, indexesInfo_1_1, indexInfo, key, error_1, e_4_1, error_2;
|
|
1005
|
+
var _b, e_4, _c, _d;
|
|
1006
|
+
return tslib_1.__generator(this, function (_e) {
|
|
1007
|
+
switch (_e.label) {
|
|
908
1008
|
case 0:
|
|
909
|
-
if (!(this.datasource.driver === datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
1009
|
+
if (!(this.datasource.driver === datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
1010
|
+
this.datasource.driver === datasource_1.SteedosDatabaseDriverType.MeteorMongo)) return [3, 21];
|
|
910
1011
|
adapter = this.datasource.adapter;
|
|
911
1012
|
return [4, adapter.connect()];
|
|
912
1013
|
case 1:
|
|
913
|
-
|
|
1014
|
+
_e.sent();
|
|
914
1015
|
collection = adapter.collection(this.name);
|
|
915
1016
|
if (!(this.datasource.driver === datasource_1.SteedosDatabaseDriverType.MeteorMongo)) return [3, 3];
|
|
916
|
-
defaultAdapter = (0, datasource_1.getDataSource)(
|
|
1017
|
+
defaultAdapter = (0, datasource_1.getDataSource)("default").adapter;
|
|
917
1018
|
return [4, defaultAdapter.connect()];
|
|
918
1019
|
case 2:
|
|
919
|
-
|
|
1020
|
+
_e.sent();
|
|
920
1021
|
collection = defaultAdapter.collection(this.name);
|
|
921
|
-
|
|
1022
|
+
_e.label = 3;
|
|
922
1023
|
case 3:
|
|
923
1024
|
indexesInfo = [];
|
|
924
1025
|
dropIndexNames = [];
|
|
@@ -933,43 +1034,47 @@ var SteedosObjectType = (function (_super) {
|
|
|
933
1034
|
}
|
|
934
1035
|
}
|
|
935
1036
|
if (!(indexesInfo && indexesInfo.length > 0)) return [3, 21];
|
|
936
|
-
|
|
1037
|
+
_e.label = 4;
|
|
937
1038
|
case 4:
|
|
938
|
-
|
|
939
|
-
|
|
1039
|
+
_e.trys.push([4, 20, , 21]);
|
|
1040
|
+
_e.label = 5;
|
|
940
1041
|
case 5:
|
|
941
|
-
|
|
942
|
-
indexesInfo_1 = tslib_1.__asyncValues(indexesInfo);
|
|
943
|
-
|
|
1042
|
+
_e.trys.push([5, 13, 14, 19]);
|
|
1043
|
+
_a = true, indexesInfo_1 = tslib_1.__asyncValues(indexesInfo);
|
|
1044
|
+
_e.label = 6;
|
|
944
1045
|
case 6: return [4, indexesInfo_1.next()];
|
|
945
1046
|
case 7:
|
|
946
|
-
if (!(indexesInfo_1_1 =
|
|
947
|
-
|
|
1047
|
+
if (!(indexesInfo_1_1 = _e.sent(), _b = indexesInfo_1_1.done, !_b)) return [3, 12];
|
|
1048
|
+
_d = indexesInfo_1_1.value;
|
|
1049
|
+
_a = false;
|
|
1050
|
+
indexInfo = _d;
|
|
948
1051
|
key = indexInfo.key;
|
|
949
1052
|
delete indexInfo.key;
|
|
950
|
-
|
|
1053
|
+
_e.label = 8;
|
|
951
1054
|
case 8:
|
|
952
|
-
|
|
1055
|
+
_e.trys.push([8, 10, , 11]);
|
|
953
1056
|
return [4, collection.createIndex(key, indexInfo)];
|
|
954
1057
|
case 9:
|
|
955
|
-
|
|
1058
|
+
_e.sent();
|
|
956
1059
|
return [3, 11];
|
|
957
1060
|
case 10:
|
|
958
|
-
error_1 =
|
|
1061
|
+
error_1 = _e.sent();
|
|
959
1062
|
return [3, 11];
|
|
960
|
-
case 11:
|
|
1063
|
+
case 11:
|
|
1064
|
+
_a = true;
|
|
1065
|
+
return [3, 6];
|
|
961
1066
|
case 12: return [3, 19];
|
|
962
1067
|
case 13:
|
|
963
|
-
e_4_1 =
|
|
1068
|
+
e_4_1 = _e.sent();
|
|
964
1069
|
e_4 = { error: e_4_1 };
|
|
965
1070
|
return [3, 19];
|
|
966
1071
|
case 14:
|
|
967
|
-
|
|
968
|
-
if (!(
|
|
969
|
-
return [4,
|
|
1072
|
+
_e.trys.push([14, , 17, 18]);
|
|
1073
|
+
if (!(!_a && !_b && (_c = indexesInfo_1.return))) return [3, 16];
|
|
1074
|
+
return [4, _c.call(indexesInfo_1)];
|
|
970
1075
|
case 15:
|
|
971
|
-
|
|
972
|
-
|
|
1076
|
+
_e.sent();
|
|
1077
|
+
_e.label = 16;
|
|
973
1078
|
case 16: return [3, 18];
|
|
974
1079
|
case 17:
|
|
975
1080
|
if (e_4) throw e_4.error;
|
|
@@ -977,7 +1082,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
977
1082
|
case 18: return [7];
|
|
978
1083
|
case 19: return [3, 21];
|
|
979
1084
|
case 20:
|
|
980
|
-
error_2 =
|
|
1085
|
+
error_2 = _e.sent();
|
|
981
1086
|
console.error(error_2);
|
|
982
1087
|
return [3, 21];
|
|
983
1088
|
case 21: return [2];
|
|
@@ -987,14 +1092,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
987
1092
|
};
|
|
988
1093
|
SteedosObjectType.prototype.handlerDuplicateKeyError = function (error, userSession) {
|
|
989
1094
|
var errMsg = error.message;
|
|
990
|
-
if (errMsg.includes(
|
|
1095
|
+
if (errMsg.includes("E11000")) {
|
|
991
1096
|
var match = errMsg.match(/index: c2_(\w+) dup key/);
|
|
992
1097
|
if (match && match.length > 1) {
|
|
993
1098
|
var fieldName = match[1];
|
|
994
1099
|
var field = this.fields[fieldName];
|
|
995
1100
|
if (field) {
|
|
996
1101
|
var locale = userSession === null || userSession === void 0 ? void 0 : userSession.locale;
|
|
997
|
-
var errorMessage =
|
|
1102
|
+
var errorMessage = (0, i18n_2.t)("duplicate_key_error", { fieldLabel: field.label }, locale);
|
|
998
1103
|
throw new Error(errorMessage);
|
|
999
1104
|
}
|
|
1000
1105
|
}
|
|
@@ -1002,25 +1107,18 @@ var SteedosObjectType = (function (_super) {
|
|
|
1002
1107
|
};
|
|
1003
1108
|
SteedosObjectType.prototype.getCollection = function () {
|
|
1004
1109
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1005
|
-
var adapter, collection
|
|
1110
|
+
var adapter, collection;
|
|
1006
1111
|
return tslib_1.__generator(this, function (_a) {
|
|
1007
1112
|
switch (_a.label) {
|
|
1008
1113
|
case 0:
|
|
1009
|
-
if (!(this.datasource.driver === datasource_1.SteedosDatabaseDriverType.Mongo
|
|
1114
|
+
if (!(this.datasource.driver === datasource_1.SteedosDatabaseDriverType.Mongo)) return [3, 2];
|
|
1010
1115
|
adapter = this.datasource.adapter;
|
|
1011
1116
|
return [4, adapter.connect()];
|
|
1012
1117
|
case 1:
|
|
1013
1118
|
_a.sent();
|
|
1014
1119
|
collection = adapter.collection(this.name);
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
return [4, defaultAdapter.connect()];
|
|
1018
|
-
case 2:
|
|
1019
|
-
_a.sent();
|
|
1020
|
-
collection = defaultAdapter.collection(this.name);
|
|
1021
|
-
_a.label = 3;
|
|
1022
|
-
case 3: return [2, collection];
|
|
1023
|
-
case 4: return [2];
|
|
1120
|
+
return [2, collection];
|
|
1121
|
+
case 2: return [2];
|
|
1024
1122
|
}
|
|
1025
1123
|
});
|
|
1026
1124
|
});
|
|
@@ -1106,7 +1204,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1106
1204
|
switch (_a.label) {
|
|
1107
1205
|
case 0:
|
|
1108
1206
|
if (!userSession) {
|
|
1109
|
-
throw new Error(
|
|
1207
|
+
throw new Error("userSession is required");
|
|
1110
1208
|
}
|
|
1111
1209
|
roles = userSession.roles;
|
|
1112
1210
|
objectRolesPermission = this.getObjectRolesPermission(userSession.spaceId);
|
|
@@ -1137,7 +1235,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1137
1235
|
modifyAssignCompanysRecords: [],
|
|
1138
1236
|
};
|
|
1139
1237
|
if (_.isEmpty(roles)) {
|
|
1140
|
-
throw new Error(
|
|
1238
|
+
throw new Error("not find user permission");
|
|
1141
1239
|
}
|
|
1142
1240
|
if (!(rolesFieldsPermission === false)) return [3, 1];
|
|
1143
1241
|
rolesFieldsPermission = {};
|
|
@@ -1146,7 +1244,8 @@ var SteedosObjectType = (function (_super) {
|
|
|
1146
1244
|
if (!!rolesFieldsPermission) return [3, 3];
|
|
1147
1245
|
return [4, field_permission_1.FieldPermission.getObjectFieldsPermissionGroupRole(this.name)];
|
|
1148
1246
|
case 2:
|
|
1149
|
-
rolesFieldsPermission =
|
|
1247
|
+
rolesFieldsPermission =
|
|
1248
|
+
_a.sent();
|
|
1150
1249
|
_a.label = 3;
|
|
1151
1250
|
case 3:
|
|
1152
1251
|
roles.forEach(function (role) {
|
|
@@ -1156,10 +1255,10 @@ var SteedosObjectType = (function (_super) {
|
|
|
1156
1255
|
_.each(userObjectPermission, function (v, k) {
|
|
1157
1256
|
var _a, _b;
|
|
1158
1257
|
var _v = rolePermission[k];
|
|
1159
|
-
if (k ===
|
|
1258
|
+
if (k === "field_permissions") {
|
|
1160
1259
|
_v = roleFieldsPermission_1;
|
|
1161
1260
|
}
|
|
1162
|
-
if (k ===
|
|
1261
|
+
if (k === "allowCreateListViews") {
|
|
1163
1262
|
_v = _v == false ? false : true;
|
|
1164
1263
|
}
|
|
1165
1264
|
if (_.isBoolean(v)) {
|
|
@@ -1167,33 +1266,43 @@ var SteedosObjectType = (function (_super) {
|
|
|
1167
1266
|
userObjectPermission[k] = _v;
|
|
1168
1267
|
}
|
|
1169
1268
|
}
|
|
1170
|
-
else if ([
|
|
1269
|
+
else if ([
|
|
1270
|
+
"allowReadFiles",
|
|
1271
|
+
"viewAllFiles",
|
|
1272
|
+
"allowCreateFiles",
|
|
1273
|
+
"allowEditFiles",
|
|
1274
|
+
"allowDeleteFiles",
|
|
1275
|
+
"modifyAllFiles",
|
|
1276
|
+
].indexOf(k) > -1) {
|
|
1171
1277
|
if (_.isBoolean(_v)) {
|
|
1172
1278
|
userObjectPermission[k] = _v;
|
|
1173
1279
|
}
|
|
1174
1280
|
}
|
|
1175
|
-
else if ([
|
|
1176
|
-
if (
|
|
1281
|
+
else if (["read_filters", "edit_filters"].indexOf(k) > -1) {
|
|
1282
|
+
if ("edit_filters" === k) {
|
|
1177
1283
|
if (!_.isEmpty(_v)) {
|
|
1178
|
-
userObjectPermission[
|
|
1284
|
+
userObjectPermission["read_filters"].push(_v);
|
|
1179
1285
|
}
|
|
1180
1286
|
}
|
|
1181
1287
|
if (!_.isEmpty(_v)) {
|
|
1182
1288
|
userObjectPermission[k].push(_v);
|
|
1183
1289
|
}
|
|
1184
1290
|
}
|
|
1185
|
-
else if ([
|
|
1186
|
-
|
|
1291
|
+
else if ([
|
|
1292
|
+
"viewAssignCompanysRecords",
|
|
1293
|
+
"modifyAssignCompanysRecords",
|
|
1294
|
+
].indexOf(k) > -1) {
|
|
1295
|
+
if ("modifyAssignCompanysRecords" === k) {
|
|
1187
1296
|
if (!_.isEmpty(_v) && _.isArray(_v)) {
|
|
1188
|
-
(_a = userObjectPermission[
|
|
1189
|
-
userObjectPermission[
|
|
1297
|
+
(_a = userObjectPermission["viewAssignCompanysRecords"]).push.apply(_a, tslib_1.__spreadArray([], tslib_1.__read(_v), false));
|
|
1298
|
+
userObjectPermission["viewAssignCompanysRecords"] = _.uniq(userObjectPermission["viewAssignCompanysRecords"]);
|
|
1190
1299
|
}
|
|
1191
1300
|
}
|
|
1192
1301
|
if (!_.isEmpty(_v) && _.isArray(_v)) {
|
|
1193
1302
|
(_b = userObjectPermission[k]).push.apply(_b, tslib_1.__spreadArray([], tslib_1.__read(_v), false));
|
|
1194
1303
|
}
|
|
1195
1304
|
}
|
|
1196
|
-
else if (
|
|
1305
|
+
else if (_.isArray(v) || _.isNull(v)) {
|
|
1197
1306
|
if (!_.isArray(_v)) {
|
|
1198
1307
|
_v = [];
|
|
1199
1308
|
}
|
|
@@ -1201,7 +1310,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1201
1310
|
userObjectPermission[k] = _v;
|
|
1202
1311
|
}
|
|
1203
1312
|
else {
|
|
1204
|
-
if (k ===
|
|
1313
|
+
if (k === "field_permissions") {
|
|
1205
1314
|
userObjectPermission[k] = _.union(v, _v);
|
|
1206
1315
|
}
|
|
1207
1316
|
else {
|
|
@@ -1222,27 +1331,37 @@ var SteedosObjectType = (function (_super) {
|
|
|
1222
1331
|
field_permissions[field].read = true;
|
|
1223
1332
|
}
|
|
1224
1333
|
else {
|
|
1225
|
-
field_permissions[field].read =
|
|
1334
|
+
field_permissions[field].read =
|
|
1335
|
+
field_permissions[field].read || read;
|
|
1226
1336
|
}
|
|
1227
1337
|
}
|
|
1228
1338
|
else {
|
|
1229
1339
|
field_permissions[field] = {
|
|
1230
1340
|
field: field,
|
|
1231
1341
|
read: edit || read,
|
|
1232
|
-
edit: edit
|
|
1342
|
+
edit: edit,
|
|
1233
1343
|
};
|
|
1234
1344
|
}
|
|
1235
1345
|
});
|
|
1236
1346
|
}
|
|
1237
1347
|
userObjectPermission.field_permissions = field_permissions;
|
|
1238
|
-
userObjectPermission.disabled_list_views =
|
|
1239
|
-
|
|
1240
|
-
userObjectPermission.
|
|
1241
|
-
|
|
1242
|
-
userObjectPermission.
|
|
1348
|
+
userObjectPermission.disabled_list_views =
|
|
1349
|
+
userObjectPermission.disabled_list_views || [];
|
|
1350
|
+
userObjectPermission.disabled_actions =
|
|
1351
|
+
userObjectPermission.disabled_actions || [];
|
|
1352
|
+
userObjectPermission.unreadable_fields =
|
|
1353
|
+
userObjectPermission.unreadable_fields || [];
|
|
1354
|
+
userObjectPermission.uneditable_fields =
|
|
1355
|
+
userObjectPermission.uneditable_fields || [];
|
|
1356
|
+
userObjectPermission.unrelated_objects =
|
|
1357
|
+
userObjectPermission.unrelated_objects || [];
|
|
1243
1358
|
spaceId = userSession.spaceId;
|
|
1244
1359
|
if ((0, util_1.isTemplateSpace)(spaceId)) {
|
|
1245
|
-
return [2, Object.assign({}, userObjectPermission, {
|
|
1360
|
+
return [2, Object.assign({}, userObjectPermission, {
|
|
1361
|
+
allowRead: true,
|
|
1362
|
+
viewAllRecords: true,
|
|
1363
|
+
viewCompanyRecords: true,
|
|
1364
|
+
})];
|
|
1246
1365
|
}
|
|
1247
1366
|
return [2, userObjectPermission];
|
|
1248
1367
|
}
|
|
@@ -1349,7 +1468,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1349
1468
|
case 1:
|
|
1350
1469
|
_a.sent();
|
|
1351
1470
|
_a.label = 2;
|
|
1352
|
-
case 2: return [4, this.callAdapter(
|
|
1471
|
+
case 2: return [4, this.callAdapter("find", this.table_name, clonedQuery, userSession)];
|
|
1353
1472
|
case 3: return [2, _a.sent()];
|
|
1354
1473
|
}
|
|
1355
1474
|
});
|
|
@@ -1367,7 +1486,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1367
1486
|
case 1:
|
|
1368
1487
|
_a.sent();
|
|
1369
1488
|
_a.label = 2;
|
|
1370
|
-
case 2: return [4, this.callAdapter(
|
|
1489
|
+
case 2: return [4, this.callAdapter("aggregate", this.table_name, clonedQuery, externalPipeline, userSession)];
|
|
1371
1490
|
case 3: return [2, _a.sent()];
|
|
1372
1491
|
}
|
|
1373
1492
|
});
|
|
@@ -1385,7 +1504,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1385
1504
|
case 1:
|
|
1386
1505
|
_a.sent();
|
|
1387
1506
|
_a.label = 2;
|
|
1388
|
-
case 2: return [4, this.callAdapter(
|
|
1507
|
+
case 2: return [4, this.callAdapter("directAggregate", this.table_name, clonedQuery, externalPipeline, userSession)];
|
|
1389
1508
|
case 3: return [2, _a.sent()];
|
|
1390
1509
|
}
|
|
1391
1510
|
});
|
|
@@ -1403,7 +1522,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1403
1522
|
case 1:
|
|
1404
1523
|
_a.sent();
|
|
1405
1524
|
_a.label = 2;
|
|
1406
|
-
case 2: return [4, this.callAdapter(
|
|
1525
|
+
case 2: return [4, this.callAdapter("directAggregatePrefixalPipeline", this.table_name, clonedQuery, prefixalPipeline, userSession)];
|
|
1407
1526
|
case 3: return [2, _a.sent()];
|
|
1408
1527
|
}
|
|
1409
1528
|
});
|
|
@@ -1421,7 +1540,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1421
1540
|
case 1:
|
|
1422
1541
|
_a.sent();
|
|
1423
1542
|
_a.label = 2;
|
|
1424
|
-
case 2: return [4, this.callAdapter(
|
|
1543
|
+
case 2: return [4, this.callAdapter("findOne", this.table_name, id, clonedQuery, userSession)];
|
|
1425
1544
|
case 3:
|
|
1426
1545
|
result = _a.sent();
|
|
1427
1546
|
return [2, result];
|
|
@@ -1441,7 +1560,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1441
1560
|
case 1:
|
|
1442
1561
|
doc = _a.sent();
|
|
1443
1562
|
doc = this.getDefaultValuesDoc(doc, userSession);
|
|
1444
|
-
return [4, this.callAdapter(
|
|
1563
|
+
return [4, this.callAdapter("insert", this.table_name, doc, userSession)];
|
|
1445
1564
|
case 2: return [2, _a.sent()];
|
|
1446
1565
|
case 3:
|
|
1447
1566
|
error_5 = _a.sent();
|
|
@@ -1464,7 +1583,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1464
1583
|
case 1:
|
|
1465
1584
|
doc = _a.sent();
|
|
1466
1585
|
clonedId = id;
|
|
1467
|
-
return [4, this.callAdapter(
|
|
1586
|
+
return [4, this.callAdapter("update", this.table_name, clonedId, doc, userSession)];
|
|
1468
1587
|
case 2: return [2, _a.sent()];
|
|
1469
1588
|
case 3:
|
|
1470
1589
|
error_6 = _a.sent();
|
|
@@ -1486,7 +1605,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1486
1605
|
case 1:
|
|
1487
1606
|
doc = _a.sent();
|
|
1488
1607
|
clonedId = id;
|
|
1489
|
-
return [4, this.callAdapter(
|
|
1608
|
+
return [4, this.callAdapter("updateOne", this.table_name, clonedId, doc, userSession)];
|
|
1490
1609
|
case 2: return [2, _a.sent()];
|
|
1491
1610
|
}
|
|
1492
1611
|
});
|
|
@@ -1503,7 +1622,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1503
1622
|
case 1:
|
|
1504
1623
|
doc = _a.sent();
|
|
1505
1624
|
clonedQueryFilters = queryFilters;
|
|
1506
|
-
return [4, this.callAdapter(
|
|
1625
|
+
return [4, this.callAdapter("updateMany", this.table_name, clonedQueryFilters, doc, userSession)];
|
|
1507
1626
|
case 2: return [2, _a.sent()];
|
|
1508
1627
|
}
|
|
1509
1628
|
});
|
|
@@ -1516,7 +1635,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1516
1635
|
switch (_a.label) {
|
|
1517
1636
|
case 0:
|
|
1518
1637
|
clonedId = id;
|
|
1519
|
-
return [4, this.callAdapter(
|
|
1638
|
+
return [4, this.callAdapter("delete", this.table_name, clonedId, userSession)];
|
|
1520
1639
|
case 1: return [2, _a.sent()];
|
|
1521
1640
|
}
|
|
1522
1641
|
});
|
|
@@ -1532,7 +1651,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1532
1651
|
return [4, this.processUnreadableField(userSession, clonedQuery)];
|
|
1533
1652
|
case 1:
|
|
1534
1653
|
_a.sent();
|
|
1535
|
-
return [4, this.callAdapter(
|
|
1654
|
+
return [4, this.callAdapter("directFind", this.table_name, clonedQuery, userSession)];
|
|
1536
1655
|
case 2: return [2, _a.sent()];
|
|
1537
1656
|
}
|
|
1538
1657
|
});
|
|
@@ -1544,7 +1663,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1544
1663
|
switch (_a.label) {
|
|
1545
1664
|
case 0:
|
|
1546
1665
|
doc = this.formatRecord(doc);
|
|
1547
|
-
return [4, this.callAdapter(
|
|
1666
|
+
return [4, this.callAdapter("directInsert", this.table_name, doc, userSession)];
|
|
1548
1667
|
case 1: return [2, _a.sent()];
|
|
1549
1668
|
}
|
|
1550
1669
|
});
|
|
@@ -1558,7 +1677,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1558
1677
|
case 0:
|
|
1559
1678
|
doc = this.formatRecord(doc);
|
|
1560
1679
|
clonedId = id;
|
|
1561
|
-
return [4, this.callAdapter(
|
|
1680
|
+
return [4, this.callAdapter("directUpdate", this.table_name, clonedId, doc, userSession)];
|
|
1562
1681
|
case 1: return [2, _a.sent()];
|
|
1563
1682
|
}
|
|
1564
1683
|
});
|
|
@@ -1571,7 +1690,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1571
1690
|
switch (_a.label) {
|
|
1572
1691
|
case 0:
|
|
1573
1692
|
clonedId = id;
|
|
1574
|
-
return [4, this.callAdapter(
|
|
1693
|
+
return [4, this.callAdapter("directDelete", this.table_name, clonedId, userSession)];
|
|
1575
1694
|
case 1: return [2, _a.sent()];
|
|
1576
1695
|
}
|
|
1577
1696
|
});
|
|
@@ -1585,7 +1704,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1585
1704
|
case 0:
|
|
1586
1705
|
doc = this.formatRecord(doc);
|
|
1587
1706
|
clonedQueryFilters = queryFilters;
|
|
1588
|
-
return [4, this.callAdapter(
|
|
1707
|
+
return [4, this.callAdapter("directUpdateMany", this.table_name, clonedQueryFilters, doc, userSession)];
|
|
1589
1708
|
case 1: return [2, _a.sent()];
|
|
1590
1709
|
}
|
|
1591
1710
|
});
|
|
@@ -1618,7 +1737,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1618
1737
|
return [4, this.getFirstListView()];
|
|
1619
1738
|
case 1:
|
|
1620
1739
|
list_view = _a.sent();
|
|
1621
|
-
list_view_id = list_view ? list_view._id || list_view.name :
|
|
1740
|
+
list_view_id = list_view ? list_view._id || list_view.name : "all";
|
|
1622
1741
|
if (record_id)
|
|
1623
1742
|
return [2, (0, util_1.absoluteUrl)("/app/" + app_id + "/" + object_name + "/view/" + record_id)];
|
|
1624
1743
|
else {
|
|
@@ -1660,7 +1779,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1660
1779
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1661
1780
|
return tslib_1.__generator(this, function (_a) {
|
|
1662
1781
|
switch (_a.label) {
|
|
1663
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getDetails", {
|
|
1782
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getDetails", {
|
|
1783
|
+
objectApiName: this.name,
|
|
1784
|
+
})];
|
|
1664
1785
|
case 1: return [2, _a.sent()];
|
|
1665
1786
|
}
|
|
1666
1787
|
});
|
|
@@ -1670,7 +1791,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1670
1791
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1671
1792
|
return tslib_1.__generator(this, function (_a) {
|
|
1672
1793
|
switch (_a.label) {
|
|
1673
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getMasters", {
|
|
1794
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getMasters", {
|
|
1795
|
+
objectApiName: this.name,
|
|
1796
|
+
})];
|
|
1674
1797
|
case 1: return [2, _a.sent()];
|
|
1675
1798
|
}
|
|
1676
1799
|
});
|
|
@@ -1680,7 +1803,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1680
1803
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1681
1804
|
return tslib_1.__generator(this, function (_a) {
|
|
1682
1805
|
switch (_a.label) {
|
|
1683
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getLookupDetails", {
|
|
1806
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getLookupDetails", {
|
|
1807
|
+
objectApiName: this.name,
|
|
1808
|
+
})];
|
|
1684
1809
|
case 1: return [2, _a.sent()];
|
|
1685
1810
|
}
|
|
1686
1811
|
});
|
|
@@ -1690,7 +1815,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1690
1815
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1691
1816
|
return tslib_1.__generator(this, function (_a) {
|
|
1692
1817
|
switch (_a.label) {
|
|
1693
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getDetailsInfo", {
|
|
1818
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getDetailsInfo", {
|
|
1819
|
+
objectApiName: this.name,
|
|
1820
|
+
})];
|
|
1694
1821
|
case 1: return [2, _a.sent()];
|
|
1695
1822
|
}
|
|
1696
1823
|
});
|
|
@@ -1700,7 +1827,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1700
1827
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1701
1828
|
return tslib_1.__generator(this, function (_a) {
|
|
1702
1829
|
switch (_a.label) {
|
|
1703
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getMastersInfo", {
|
|
1830
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getMastersInfo", {
|
|
1831
|
+
objectApiName: this.name,
|
|
1832
|
+
})];
|
|
1704
1833
|
case 1: return [2, _a.sent()];
|
|
1705
1834
|
}
|
|
1706
1835
|
});
|
|
@@ -1710,7 +1839,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1710
1839
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1711
1840
|
return tslib_1.__generator(this, function (_a) {
|
|
1712
1841
|
switch (_a.label) {
|
|
1713
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getLookupDetailsInfo", {
|
|
1842
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getLookupDetailsInfo", {
|
|
1843
|
+
objectApiName: this.name,
|
|
1844
|
+
})];
|
|
1714
1845
|
case 1: return [2, _a.sent()];
|
|
1715
1846
|
}
|
|
1716
1847
|
});
|
|
@@ -1720,7 +1851,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1720
1851
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
1721
1852
|
return tslib_1.__generator(this, function (_a) {
|
|
1722
1853
|
switch (_a.label) {
|
|
1723
|
-
case 0: return [4, this.callMetadataObjectServiceAction("getRelationsInfo", {
|
|
1854
|
+
case 0: return [4, this.callMetadataObjectServiceAction("getRelationsInfo", {
|
|
1855
|
+
objectApiName: this.name,
|
|
1856
|
+
})];
|
|
1724
1857
|
case 1: return [2, _a.sent()];
|
|
1725
1858
|
}
|
|
1726
1859
|
});
|
|
@@ -1745,20 +1878,27 @@ var SteedosObjectType = (function (_super) {
|
|
|
1745
1878
|
}
|
|
1746
1879
|
isOwner = recordOwnerId == userId;
|
|
1747
1880
|
record_company_id = record.company_id;
|
|
1748
|
-
if (record_company_id &&
|
|
1881
|
+
if (record_company_id &&
|
|
1882
|
+
_.isObject(record_company_id) &&
|
|
1883
|
+
record_company_id._id) {
|
|
1749
1884
|
record_company_id = record_company_id._id;
|
|
1750
1885
|
}
|
|
1751
1886
|
record_company_ids = record.company_ids;
|
|
1752
|
-
if (record_company_ids &&
|
|
1887
|
+
if (record_company_ids &&
|
|
1888
|
+
record_company_ids.length &&
|
|
1889
|
+
_.isObject(record_company_ids[0])) {
|
|
1753
1890
|
record_company_ids = record_company_ids.map(function (n) { return n._id; });
|
|
1754
1891
|
}
|
|
1755
1892
|
record_company_ids = _.union(record_company_ids, [record_company_id]);
|
|
1756
1893
|
record_company_ids = _.compact(record_company_ids);
|
|
1757
|
-
if (!permissions.modifyAllRecords &&
|
|
1894
|
+
if (!permissions.modifyAllRecords &&
|
|
1895
|
+
!isOwner &&
|
|
1896
|
+
!permissions.modifyCompanyRecords) {
|
|
1758
1897
|
permissions.allowEdit = false;
|
|
1759
1898
|
permissions.allowDelete = false;
|
|
1760
1899
|
}
|
|
1761
|
-
else if (!permissions.modifyAllRecords &&
|
|
1900
|
+
else if (!permissions.modifyAllRecords &&
|
|
1901
|
+
permissions.modifyCompanyRecords) {
|
|
1762
1902
|
if (record_company_ids && record_company_ids.length) {
|
|
1763
1903
|
if (user_company_ids && user_company_ids.length) {
|
|
1764
1904
|
if (!_.intersection(user_company_ids, record_company_ids).length) {
|
|
@@ -1776,10 +1916,13 @@ var SteedosObjectType = (function (_super) {
|
|
|
1776
1916
|
permissions.allowEdit = false;
|
|
1777
1917
|
permissions.allowDelete = false;
|
|
1778
1918
|
}
|
|
1779
|
-
if (!permissions.viewAllRecords &&
|
|
1919
|
+
if (!permissions.viewAllRecords &&
|
|
1920
|
+
!isOwner &&
|
|
1921
|
+
!permissions.viewCompanyRecords) {
|
|
1780
1922
|
permissions.allowRead = false;
|
|
1781
1923
|
}
|
|
1782
|
-
else if (!permissions.viewAllRecords &&
|
|
1924
|
+
else if (!permissions.viewAllRecords &&
|
|
1925
|
+
permissions.viewCompanyRecords) {
|
|
1783
1926
|
if (record_company_ids && record_company_ids.length) {
|
|
1784
1927
|
if (user_company_ids && user_company_ids.length) {
|
|
1785
1928
|
if (!_.intersection(user_company_ids, record_company_ids).length) {
|
|
@@ -1802,11 +1945,15 @@ var SteedosObjectType = (function (_super) {
|
|
|
1802
1945
|
var universallyRequiredFields = _.filter(objectFields, function (objectFile) {
|
|
1803
1946
|
return _.isBoolean(objectFile.required) && objectFile.required;
|
|
1804
1947
|
});
|
|
1805
|
-
var universallyRequiredFieldsName = _.pluck(universallyRequiredFields,
|
|
1948
|
+
var universallyRequiredFieldsName = _.pluck(universallyRequiredFields, "name");
|
|
1806
1949
|
_.each(objectFields, function (field) {
|
|
1807
1950
|
if (field) {
|
|
1808
1951
|
var fieldPermission = objectPermission.field_permissions[field.name];
|
|
1809
|
-
var fieldLayout = objectLayout && objectLayout.fields
|
|
1952
|
+
var fieldLayout = objectLayout && objectLayout.fields
|
|
1953
|
+
? _.find(objectLayout.fields, function (item) {
|
|
1954
|
+
return item.field_name == field.name;
|
|
1955
|
+
})
|
|
1956
|
+
: null;
|
|
1810
1957
|
var isUniversallyRequiredField = _.contains(universallyRequiredFieldsName, field.name);
|
|
1811
1958
|
if (isUniversallyRequiredField) {
|
|
1812
1959
|
fieldLayout = Object.assign({}, fieldLayout, {
|
|
@@ -1825,7 +1972,10 @@ var SteedosObjectType = (function (_super) {
|
|
|
1825
1972
|
field.visible_on = "{{false}}";
|
|
1826
1973
|
}
|
|
1827
1974
|
}
|
|
1828
|
-
var _a = fieldPermission || {
|
|
1975
|
+
var _a = fieldPermission || {
|
|
1976
|
+
read: !field.hidden,
|
|
1977
|
+
edit: !field.hidden && !field.readonly,
|
|
1978
|
+
}, read = _a.read, edit = _a.edit;
|
|
1829
1979
|
if (isUniversallyRequiredField) {
|
|
1830
1980
|
read = true;
|
|
1831
1981
|
edit = true;
|
|
@@ -1841,7 +1991,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
1841
1991
|
hidden: false,
|
|
1842
1992
|
required: false,
|
|
1843
1993
|
readonly: true,
|
|
1844
|
-
disabled: true
|
|
1994
|
+
disabled: true,
|
|
1845
1995
|
});
|
|
1846
1996
|
return;
|
|
1847
1997
|
}
|
|
@@ -1850,18 +2000,22 @@ var SteedosObjectType = (function (_super) {
|
|
|
1850
2000
|
hidden: false,
|
|
1851
2001
|
readonly: false,
|
|
1852
2002
|
disabled: false,
|
|
1853
|
-
required: _.isString(field.required)
|
|
2003
|
+
required: _.isString(field.required)
|
|
2004
|
+
? field.required
|
|
2005
|
+
: fieldLayout
|
|
2006
|
+
? fieldLayout.is_required
|
|
2007
|
+
: false,
|
|
1854
2008
|
});
|
|
1855
2009
|
return;
|
|
1856
2010
|
}
|
|
1857
|
-
console.error(
|
|
2011
|
+
console.error("字段权限处理异常", field, read, edit);
|
|
1858
2012
|
}
|
|
1859
2013
|
});
|
|
1860
2014
|
if (objectLayout) {
|
|
1861
2015
|
var sort_no_1 = 1;
|
|
1862
2016
|
_.each(objectLayout.fields, function (_item) {
|
|
1863
2017
|
if (accessFields[_item.field_name]) {
|
|
1864
|
-
if (_.has(_item,
|
|
2018
|
+
if (_.has(_item, "group")) {
|
|
1865
2019
|
accessFields[_item.field_name].group = _item.group;
|
|
1866
2020
|
}
|
|
1867
2021
|
if (_item.visible_on) {
|
|
@@ -1872,7 +2026,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
1872
2026
|
}
|
|
1873
2027
|
});
|
|
1874
2028
|
_.each(universallyRequiredFieldsName, function (fieldName) {
|
|
1875
|
-
var fieldLayout = _.find(objectLayout.fields, function (item) {
|
|
2029
|
+
var fieldLayout = _.find(objectLayout.fields, function (item) {
|
|
2030
|
+
return item.field_name == fieldName;
|
|
2031
|
+
});
|
|
1876
2032
|
if (!fieldLayout) {
|
|
1877
2033
|
accessFields[fieldName].sort_no = sort_no_1;
|
|
1878
2034
|
sort_no_1++;
|
|
@@ -1890,20 +2046,38 @@ var SteedosObjectType = (function (_super) {
|
|
|
1890
2046
|
objectConfig = defContext.objectConfig;
|
|
1891
2047
|
if (!!objectConfig) return [3, 2];
|
|
1892
2048
|
pAll = [];
|
|
1893
|
-
pAll.push(this.callMetadataObjectServiceAction(
|
|
2049
|
+
pAll.push(this.callMetadataObjectServiceAction("get", {
|
|
2050
|
+
objectApiName: this.name,
|
|
2051
|
+
}));
|
|
1894
2052
|
pAll.push((0, object_layouts_1.getObjectLayouts)(userSession.profile, userSession.spaceId, this.name));
|
|
1895
|
-
pAll.push(getObject("process_definition").find({
|
|
2053
|
+
pAll.push(getObject("process_definition").find({
|
|
2054
|
+
filters: [
|
|
2055
|
+
["space", "=", userSession.spaceId],
|
|
2056
|
+
["object_name", "=", this.name],
|
|
2057
|
+
["active", "=", true],
|
|
2058
|
+
],
|
|
2059
|
+
}));
|
|
1896
2060
|
pAll.push(getObject("object_listviews").directFind({
|
|
1897
2061
|
filters: [
|
|
1898
|
-
[
|
|
1899
|
-
[
|
|
2062
|
+
["space", "=", userSession.spaceId],
|
|
2063
|
+
["object_name", "=", this.name],
|
|
1900
2064
|
[
|
|
1901
|
-
[
|
|
1902
|
-
|
|
1903
|
-
[
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
2065
|
+
["owner", "=", userSession.userId],
|
|
2066
|
+
"or",
|
|
2067
|
+
["shared", "=", true],
|
|
2068
|
+
"or",
|
|
2069
|
+
["shared_to", "=", "space"],
|
|
2070
|
+
"or",
|
|
2071
|
+
[
|
|
2072
|
+
["shared_to", "=", "organizations"],
|
|
2073
|
+
[
|
|
2074
|
+
"shared_to_organizations",
|
|
2075
|
+
"=",
|
|
2076
|
+
userSession.organizations_parents,
|
|
2077
|
+
],
|
|
2078
|
+
],
|
|
2079
|
+
],
|
|
2080
|
+
],
|
|
1907
2081
|
}));
|
|
1908
2082
|
pAll.push(field_permission_1.FieldPermission.getObjectFieldsPermissionGroupRole(this.name));
|
|
1909
2083
|
pAll.push(this.getRelationsInfo());
|
|
@@ -1916,23 +2090,24 @@ var SteedosObjectType = (function (_super) {
|
|
|
1916
2090
|
spaceProcessDefinition: spaceProcessDefinition,
|
|
1917
2091
|
dbListViews: dbListViews,
|
|
1918
2092
|
rolesFieldsPermission: rolesFieldsPermission,
|
|
1919
|
-
relationsInfo: relationsInfo
|
|
2093
|
+
relationsInfo: relationsInfo,
|
|
1920
2094
|
}];
|
|
1921
2095
|
case 2: return [2, defContext];
|
|
1922
2096
|
}
|
|
1923
2097
|
});
|
|
1924
2098
|
});
|
|
1925
2099
|
};
|
|
1926
|
-
SteedosObjectType.prototype.getRecordView = function (
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
var versionsMap, _a, _b, _c, objectConfig, layouts, spaceProcessDefinition, dbListViews, rolesFieldsPermission, relationsInfo, lng, profile, profileDoc, defaultStandardButtons, _d, objectLayout, layoutButtonsName_1, listViews, result, i, objAndKey, relatedObject, relatedObjectPermissions, result, i, objAndKey, relatedObject, relatedObjectPermissions;
|
|
2100
|
+
SteedosObjectType.prototype.getRecordView = function (userSession_1) {
|
|
2101
|
+
return tslib_1.__awaiter(this, arguments, void 0, function (userSession, context) {
|
|
2102
|
+
var versionsMap_1, _a, _b, _c, objectConfig_1, layouts, spaceProcessDefinition, dbListViews, rolesFieldsPermission, relationsInfo, lng, profile, profileDoc, defaultStandardButtons_1, _d, objectLayout, layoutButtonsName_1, listViews_1, result, i, objAndKey, relatedObject, relatedObjectPermissions, result, i, objAndKey, relatedObject, relatedObjectPermissions, error_7;
|
|
1930
2103
|
var _e;
|
|
2104
|
+
if (context === void 0) { context = {}; }
|
|
1931
2105
|
return tslib_1.__generator(this, function (_f) {
|
|
1932
2106
|
switch (_f.label) {
|
|
1933
2107
|
case 0:
|
|
1934
|
-
|
|
1935
|
-
|
|
2108
|
+
_f.trys.push([0, 17, , 18]);
|
|
2109
|
+
versionsMap_1 = {};
|
|
2110
|
+
if (!global["HAS_LICENSE_SERVICE"]) return [3, 3];
|
|
1936
2111
|
_e = {};
|
|
1937
2112
|
_a = PLATFORM_ENTERPRISE;
|
|
1938
2113
|
return [4, broker.call("".concat(LICENSE_SERVICE, ".isPlatformEnterprise"), { spaceId: userSession.spaceId })];
|
|
@@ -1941,66 +2116,76 @@ var SteedosObjectType = (function (_super) {
|
|
|
1941
2116
|
_b = PLATFORM_PROFESSIONAL;
|
|
1942
2117
|
return [4, broker.call("".concat(LICENSE_SERVICE, ".isPlatformProfessional"), { spaceId: userSession.spaceId })];
|
|
1943
2118
|
case 2:
|
|
1944
|
-
|
|
2119
|
+
versionsMap_1 = (_e[_b] = _f.sent(),
|
|
1945
2120
|
_e);
|
|
1946
2121
|
_f.label = 3;
|
|
1947
2122
|
case 3: return [4, this.getContext(userSession, context)];
|
|
1948
2123
|
case 4:
|
|
1949
|
-
_c = _f.sent(),
|
|
2124
|
+
_c = _f.sent(), objectConfig_1 = _c.objectConfig, layouts = _c.layouts, spaceProcessDefinition = _c.spaceProcessDefinition, dbListViews = _c.dbListViews, rolesFieldsPermission = _c.rolesFieldsPermission, relationsInfo = _c.relationsInfo;
|
|
1950
2125
|
lng = userSession.language;
|
|
1951
2126
|
profile = userSession.profile;
|
|
1952
|
-
return [4, broker.call(
|
|
2127
|
+
return [4, broker.call("@steedos/service-cachers-manager.getProfile", { name: profile, spaceId: userSession.spaceId })];
|
|
1953
2128
|
case 5:
|
|
1954
2129
|
profileDoc = _f.sent();
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
_d =
|
|
2130
|
+
defaultStandardButtons_1 = (profileDoc === null || profileDoc === void 0 ? void 0 : profileDoc.default_standard_buttons) || [];
|
|
2131
|
+
objectConfig_1.name = this.name;
|
|
2132
|
+
objectConfig_1.datasource = this.datasource.name;
|
|
2133
|
+
_d = objectConfig_1;
|
|
1959
2134
|
return [4, this.getUserObjectPermission(userSession, rolesFieldsPermission)];
|
|
1960
2135
|
case 6:
|
|
1961
2136
|
_d.permissions = _f.sent();
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
delete
|
|
1966
|
-
(0, i18n_1.translationObject)(lng,
|
|
2137
|
+
objectConfig_1.details = relationsInfo.details;
|
|
2138
|
+
objectConfig_1.masters = relationsInfo.masters;
|
|
2139
|
+
objectConfig_1.lookup_details = relationsInfo.lookup_details;
|
|
2140
|
+
delete objectConfig_1.db;
|
|
2141
|
+
(0, i18n_1.translationObject)(lng, objectConfig_1.name, objectConfig_1, true);
|
|
1967
2142
|
objectLayout = null;
|
|
1968
2143
|
if (layouts && layouts.length > 0) {
|
|
1969
2144
|
objectLayout = layouts[0];
|
|
1970
2145
|
_.each(objectLayout.buttons, function (button) {
|
|
1971
|
-
var action =
|
|
2146
|
+
var action = objectConfig_1.actions[button.button_name];
|
|
1972
2147
|
if (action) {
|
|
1973
2148
|
if (button.visible_on) {
|
|
1974
2149
|
action._visible = button.visible_on;
|
|
1975
2150
|
}
|
|
1976
2151
|
}
|
|
1977
2152
|
});
|
|
1978
|
-
layoutButtonsName_1 = _.uniq(_.pluck(objectLayout.buttons,
|
|
1979
|
-
_.each(
|
|
2153
|
+
layoutButtonsName_1 = _.uniq(_.pluck(objectLayout.buttons, "button_name").concat(defaultStandardButtons_1));
|
|
2154
|
+
_.each(objectConfig_1.actions, function (action) {
|
|
1980
2155
|
if (!_.include(layoutButtonsName_1, action.name)) {
|
|
1981
2156
|
action.visible = false;
|
|
1982
|
-
action._visible = function () {
|
|
2157
|
+
action._visible = function () {
|
|
2158
|
+
return false;
|
|
2159
|
+
}.toString();
|
|
1983
2160
|
}
|
|
1984
2161
|
});
|
|
1985
|
-
|
|
1986
|
-
_.each(
|
|
1987
|
-
if (related_list.sort_field_name &&
|
|
2162
|
+
objectConfig_1.related_lists = objectLayout.related_lists || [];
|
|
2163
|
+
_.each(objectConfig_1.related_lists, function (related_list) {
|
|
2164
|
+
if (related_list.sort_field_name &&
|
|
2165
|
+
_.isArray(related_list.sort_field_name) &&
|
|
2166
|
+
related_list.sort_field_name.length > 0) {
|
|
1988
2167
|
related_list.sort = [];
|
|
1989
2168
|
_.each(related_list.sort_field_name, function (fName) {
|
|
1990
|
-
related_list.sort.push({
|
|
2169
|
+
related_list.sort.push({
|
|
2170
|
+
field_name: fName,
|
|
2171
|
+
order: related_list.sort_order || "asc",
|
|
2172
|
+
});
|
|
1991
2173
|
});
|
|
1992
2174
|
}
|
|
1993
2175
|
});
|
|
1994
2176
|
}
|
|
1995
|
-
else if (!_.isEmpty(
|
|
1996
|
-
_.each(
|
|
1997
|
-
if (action.name.startsWith(
|
|
2177
|
+
else if (!_.isEmpty(defaultStandardButtons_1)) {
|
|
2178
|
+
_.each(objectConfig_1.actions, function (action) {
|
|
2179
|
+
if (action.name.startsWith("standard_") &&
|
|
2180
|
+
!_.include(defaultStandardButtons_1, action.name)) {
|
|
1998
2181
|
action.visible = false;
|
|
1999
|
-
action._visible = function () {
|
|
2182
|
+
action._visible = function () {
|
|
2183
|
+
return false;
|
|
2184
|
+
}.toString();
|
|
2000
2185
|
}
|
|
2001
2186
|
});
|
|
2002
2187
|
}
|
|
2003
|
-
_.each(
|
|
2188
|
+
_.each(objectConfig_1.actions, function (action) {
|
|
2004
2189
|
var e_5, _a;
|
|
2005
2190
|
var license = action.license;
|
|
2006
2191
|
if (license && _.isArray(license) && license.length > 0) {
|
|
@@ -2008,7 +2193,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2008
2193
|
try {
|
|
2009
2194
|
for (var license_1 = tslib_1.__values(license), license_1_1 = license_1.next(); !license_1_1.done; license_1_1 = license_1.next()) {
|
|
2010
2195
|
var version = license_1_1.value;
|
|
2011
|
-
if (
|
|
2196
|
+
if (versionsMap_1[version]) {
|
|
2012
2197
|
visible = true;
|
|
2013
2198
|
break;
|
|
2014
2199
|
}
|
|
@@ -2023,12 +2208,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
2023
2208
|
}
|
|
2024
2209
|
if (!visible) {
|
|
2025
2210
|
action.visible = false;
|
|
2026
|
-
action._visible = function () {
|
|
2211
|
+
action._visible = function () {
|
|
2212
|
+
return false;
|
|
2213
|
+
}.toString();
|
|
2027
2214
|
}
|
|
2028
2215
|
}
|
|
2029
2216
|
});
|
|
2030
|
-
|
|
2031
|
-
_.each(
|
|
2217
|
+
objectConfig_1.fields = this.getAccessFields(objectConfig_1.fields, objectLayout, objectConfig_1.permissions);
|
|
2218
|
+
_.each(objectConfig_1.fields, function (field) {
|
|
2032
2219
|
if (field.override) {
|
|
2033
2220
|
field = Object.assign(field, field.override);
|
|
2034
2221
|
}
|
|
@@ -2037,27 +2224,27 @@ var SteedosObjectType = (function (_super) {
|
|
|
2037
2224
|
var fieldAmis = field.amis || {};
|
|
2038
2225
|
fieldAmis.static = true;
|
|
2039
2226
|
Object.assign(field, {
|
|
2040
|
-
amis: fieldAmis
|
|
2227
|
+
amis: fieldAmis,
|
|
2041
2228
|
});
|
|
2042
2229
|
}
|
|
2043
|
-
if (field.type ==
|
|
2230
|
+
if (field.type == "formula" || field.type == "summary") {
|
|
2044
2231
|
field.readonly = true;
|
|
2045
2232
|
}
|
|
2046
2233
|
}
|
|
2047
2234
|
});
|
|
2048
2235
|
if (objectLayout && objectLayout.field_groups) {
|
|
2049
|
-
|
|
2236
|
+
objectConfig_1.field_groups = objectLayout.field_groups;
|
|
2050
2237
|
}
|
|
2051
2238
|
if (spaceProcessDefinition.length > 0) {
|
|
2052
|
-
|
|
2239
|
+
objectConfig_1.enable_process = true;
|
|
2053
2240
|
this.enable_process = true;
|
|
2054
2241
|
}
|
|
2055
|
-
_.each(
|
|
2056
|
-
if ((trigger === null || trigger === void 0 ? void 0 : trigger.on) !=
|
|
2057
|
-
delete
|
|
2242
|
+
_.each(objectConfig_1.triggers, function (trigger, key) {
|
|
2243
|
+
if ((trigger === null || trigger === void 0 ? void 0 : trigger.on) != "client") {
|
|
2244
|
+
delete objectConfig_1.triggers[key];
|
|
2058
2245
|
}
|
|
2059
2246
|
});
|
|
2060
|
-
|
|
2247
|
+
objectConfig_1.list_views = Object.assign({}, objectConfig_1.list_views);
|
|
2061
2248
|
_.each(dbListViews, function (dbListView) {
|
|
2062
2249
|
delete dbListView.created;
|
|
2063
2250
|
delete dbListView.created_by;
|
|
@@ -2071,9 +2258,9 @@ var SteedosObjectType = (function (_super) {
|
|
|
2071
2258
|
dbListView.shared_to = "mine";
|
|
2072
2259
|
}
|
|
2073
2260
|
}
|
|
2074
|
-
|
|
2261
|
+
objectConfig_1.list_views[dbListView.name] = dbListView;
|
|
2075
2262
|
});
|
|
2076
|
-
_.each(
|
|
2263
|
+
_.each(objectConfig_1.list_views, function (value, key) {
|
|
2077
2264
|
if (!value.name) {
|
|
2078
2265
|
value.name = key;
|
|
2079
2266
|
}
|
|
@@ -2081,62 +2268,63 @@ var SteedosObjectType = (function (_super) {
|
|
|
2081
2268
|
value._id = "".concat(value.object_name, ".").concat(value.name);
|
|
2082
2269
|
}
|
|
2083
2270
|
});
|
|
2084
|
-
|
|
2085
|
-
_.map(_.sortBy(_.values(
|
|
2271
|
+
listViews_1 = {};
|
|
2272
|
+
_.map(_.sortBy(_.values(objectConfig_1.list_views), "sort_no"), function (listView) {
|
|
2086
2273
|
if (listView.is_enable != false) {
|
|
2087
|
-
|
|
2274
|
+
listViews_1[listView.name] = listView;
|
|
2088
2275
|
}
|
|
2089
2276
|
});
|
|
2090
|
-
|
|
2091
|
-
delete
|
|
2092
|
-
delete
|
|
2093
|
-
delete
|
|
2094
|
-
if (!
|
|
2095
|
-
|
|
2277
|
+
objectConfig_1.list_views = listViews_1;
|
|
2278
|
+
delete objectConfig_1.listeners;
|
|
2279
|
+
delete objectConfig_1.__filename;
|
|
2280
|
+
delete objectConfig_1.extend;
|
|
2281
|
+
if (!objectConfig_1.details) {
|
|
2282
|
+
objectConfig_1.details = [];
|
|
2096
2283
|
}
|
|
2097
2284
|
if (this.enable_files) {
|
|
2098
|
-
|
|
2285
|
+
objectConfig_1.details.push("cms_files.parent");
|
|
2099
2286
|
}
|
|
2100
2287
|
if (this.enable_tasks) {
|
|
2101
|
-
|
|
2288
|
+
objectConfig_1.details.push("tasks.related_to");
|
|
2102
2289
|
}
|
|
2103
2290
|
if (this.enable_notes) {
|
|
2104
|
-
|
|
2291
|
+
objectConfig_1.details.push("notes.related_to");
|
|
2105
2292
|
}
|
|
2106
2293
|
if (this.enable_events) {
|
|
2107
|
-
|
|
2294
|
+
objectConfig_1.details.push("events.related_to");
|
|
2108
2295
|
}
|
|
2109
2296
|
if (this.enable_instances) {
|
|
2110
|
-
|
|
2297
|
+
objectConfig_1.details.push("instances.record_ids");
|
|
2111
2298
|
}
|
|
2112
2299
|
if (this.enable_approvals) {
|
|
2113
|
-
|
|
2300
|
+
objectConfig_1.details.push("approvals.related_to");
|
|
2114
2301
|
}
|
|
2115
2302
|
if (this.enable_process) {
|
|
2116
|
-
|
|
2303
|
+
objectConfig_1.details.push("process_instance_history.target_object");
|
|
2117
2304
|
}
|
|
2118
2305
|
if (this.enable_audit) {
|
|
2119
|
-
|
|
2306
|
+
objectConfig_1.details.push("audit_records.related_to");
|
|
2120
2307
|
}
|
|
2121
|
-
|
|
2122
|
-
if (!(
|
|
2123
|
-
result = (0, lodash_1.cloneDeep)(
|
|
2308
|
+
objectConfig_1.details = (0, lodash_2.uniq)(objectConfig_1.details);
|
|
2309
|
+
if (!(objectConfig_1 && objectConfig_1.details && objectConfig_1.details.length)) return [3, 11];
|
|
2310
|
+
result = (0, lodash_1.cloneDeep)(objectConfig_1.details);
|
|
2124
2311
|
i = 0;
|
|
2125
2312
|
_f.label = 7;
|
|
2126
2313
|
case 7:
|
|
2127
2314
|
if (!(i < result.length)) return [3, 10];
|
|
2128
2315
|
objAndKey = result[i].split(".");
|
|
2129
2316
|
relatedObject = objAndKey[0];
|
|
2130
|
-
return [4, broker.call(
|
|
2131
|
-
objectName: relatedObject
|
|
2317
|
+
return [4, broker.call("objectql.getUserObjectPermission", {
|
|
2318
|
+
objectName: relatedObject,
|
|
2132
2319
|
}, {
|
|
2133
2320
|
meta: {
|
|
2134
|
-
user: userSession
|
|
2135
|
-
}
|
|
2321
|
+
user: userSession,
|
|
2322
|
+
},
|
|
2136
2323
|
})];
|
|
2137
2324
|
case 8:
|
|
2138
2325
|
relatedObjectPermissions = _f.sent();
|
|
2139
|
-
if (relatedObjectPermissions &&
|
|
2326
|
+
if (relatedObjectPermissions &&
|
|
2327
|
+
relatedObjectPermissions.allowRead === false) {
|
|
2140
2328
|
result.splice(i, 1);
|
|
2141
2329
|
--i;
|
|
2142
2330
|
}
|
|
@@ -2145,27 +2333,30 @@ var SteedosObjectType = (function (_super) {
|
|
|
2145
2333
|
i++;
|
|
2146
2334
|
return [3, 7];
|
|
2147
2335
|
case 10:
|
|
2148
|
-
|
|
2336
|
+
objectConfig_1.details = result;
|
|
2149
2337
|
_f.label = 11;
|
|
2150
2338
|
case 11:
|
|
2151
|
-
if (!(
|
|
2152
|
-
|
|
2339
|
+
if (!(objectConfig_1 &&
|
|
2340
|
+
objectConfig_1.related_list &&
|
|
2341
|
+
objectConfig_1.related_list.length)) return [3, 16];
|
|
2342
|
+
result = (0, lodash_1.cloneDeep)(objectConfig_1.related_list);
|
|
2153
2343
|
i = 0;
|
|
2154
2344
|
_f.label = 12;
|
|
2155
2345
|
case 12:
|
|
2156
2346
|
if (!(i < result.length)) return [3, 15];
|
|
2157
2347
|
objAndKey = result[i].split(".");
|
|
2158
2348
|
relatedObject = objAndKey[0];
|
|
2159
|
-
return [4, broker.call(
|
|
2160
|
-
objectName: relatedObject
|
|
2349
|
+
return [4, broker.call("objectql.getUserObjectPermission", {
|
|
2350
|
+
objectName: relatedObject,
|
|
2161
2351
|
}, {
|
|
2162
2352
|
meta: {
|
|
2163
|
-
user: userSession
|
|
2164
|
-
}
|
|
2353
|
+
user: userSession,
|
|
2354
|
+
},
|
|
2165
2355
|
})];
|
|
2166
2356
|
case 13:
|
|
2167
2357
|
relatedObjectPermissions = _f.sent();
|
|
2168
|
-
if (relatedObjectPermissions &&
|
|
2358
|
+
if (relatedObjectPermissions &&
|
|
2359
|
+
relatedObjectPermissions.allowRead === false) {
|
|
2169
2360
|
result.splice(i, 1);
|
|
2170
2361
|
--i;
|
|
2171
2362
|
}
|
|
@@ -2174,33 +2365,40 @@ var SteedosObjectType = (function (_super) {
|
|
|
2174
2365
|
i++;
|
|
2175
2366
|
return [3, 12];
|
|
2176
2367
|
case 15:
|
|
2177
|
-
|
|
2368
|
+
objectConfig_1.related_list = result;
|
|
2178
2369
|
_f.label = 16;
|
|
2179
|
-
case 16: return [2,
|
|
2370
|
+
case 16: return [2, objectConfig_1];
|
|
2371
|
+
case 17:
|
|
2372
|
+
error_7 = _f.sent();
|
|
2373
|
+
console.log(error_7);
|
|
2374
|
+
return [3, 18];
|
|
2375
|
+
case 18: return [2];
|
|
2180
2376
|
}
|
|
2181
2377
|
});
|
|
2182
2378
|
});
|
|
2183
2379
|
};
|
|
2184
2380
|
SteedosObjectType.prototype.getDefaultRecordView = function (userSession) {
|
|
2185
|
-
var e_6, _a;
|
|
2186
2381
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
2187
|
-
var object_name, type, buttons, fields, related_lists, objectConfig, sortedFields, relatedLists, details, lookup_details, _loop_1, relatedLists_1, relatedLists_1_1, e_6_1;
|
|
2188
|
-
|
|
2189
|
-
|
|
2382
|
+
var object_name, type, buttons, fields, related_lists, objectConfig, sortedFields, relatedLists, details, lookup_details, _loop_1, _a, relatedLists_1, relatedLists_1_1, e_6_1;
|
|
2383
|
+
var _b, e_6, _c, _d;
|
|
2384
|
+
return tslib_1.__generator(this, function (_e) {
|
|
2385
|
+
switch (_e.label) {
|
|
2190
2386
|
case 0:
|
|
2191
2387
|
object_name = this.name;
|
|
2192
|
-
type =
|
|
2388
|
+
type = "record";
|
|
2193
2389
|
buttons = [];
|
|
2194
2390
|
fields = [];
|
|
2195
2391
|
related_lists = [];
|
|
2196
|
-
return [4, this.callMetadataObjectServiceAction(
|
|
2392
|
+
return [4, this.callMetadataObjectServiceAction("getOriginalObject", { objectApiName: this.name })];
|
|
2197
2393
|
case 1:
|
|
2198
|
-
objectConfig =
|
|
2394
|
+
objectConfig = _e.sent();
|
|
2199
2395
|
sortedFields = [];
|
|
2200
2396
|
(0, lodash_1.forEach)(objectConfig.fields, function (fieldItem, key) {
|
|
2201
2397
|
sortedFields.push(Object.assign({}, { name: key }, fieldItem));
|
|
2202
2398
|
});
|
|
2203
|
-
sortedFields = (0, lodash_1.sortBy)(sortedFields, function (o) {
|
|
2399
|
+
sortedFields = (0, lodash_1.sortBy)(sortedFields, function (o) {
|
|
2400
|
+
return o.sort_no;
|
|
2401
|
+
});
|
|
2204
2402
|
_.each(sortedFields, function (field, key) {
|
|
2205
2403
|
var layoutField = {};
|
|
2206
2404
|
layoutField.field_name = field.name;
|
|
@@ -2215,10 +2413,10 @@ var SteedosObjectType = (function (_super) {
|
|
|
2215
2413
|
}
|
|
2216
2414
|
return [4, this.getDetailsInfo()];
|
|
2217
2415
|
case 2:
|
|
2218
|
-
details =
|
|
2416
|
+
details = _e.sent();
|
|
2219
2417
|
return [4, this.getLookupDetailsInfo()];
|
|
2220
2418
|
case 3:
|
|
2221
|
-
lookup_details =
|
|
2419
|
+
lookup_details = _e.sent();
|
|
2222
2420
|
relatedLists = relatedLists.concat(_.union(details, lookup_details));
|
|
2223
2421
|
if (this.enable_tasks) {
|
|
2224
2422
|
relatedLists.push("tasks.related_to");
|
|
@@ -2238,25 +2436,27 @@ var SteedosObjectType = (function (_super) {
|
|
|
2238
2436
|
if (this.enable_process) {
|
|
2239
2437
|
relatedLists.push("process_instance_history.target_object");
|
|
2240
2438
|
}
|
|
2241
|
-
|
|
2439
|
+
_e.label = 4;
|
|
2242
2440
|
case 4:
|
|
2243
|
-
|
|
2441
|
+
_e.trys.push([4, 10, 11, 16]);
|
|
2244
2442
|
_loop_1 = function () {
|
|
2245
2443
|
var related, relatedItem, foo, rObjectName, relatedObject, relatedObjectAllListView, fieldNames_1;
|
|
2246
|
-
return tslib_1.__generator(this, function (
|
|
2247
|
-
switch (
|
|
2444
|
+
return tslib_1.__generator(this, function (_f) {
|
|
2445
|
+
switch (_f.label) {
|
|
2248
2446
|
case 0:
|
|
2249
|
-
|
|
2447
|
+
_d = relatedLists_1_1.value;
|
|
2448
|
+
_a = false;
|
|
2449
|
+
related = _d;
|
|
2250
2450
|
if (!related) return [3, 2];
|
|
2251
2451
|
relatedItem = {};
|
|
2252
2452
|
relatedItem.related_field_fullname = related;
|
|
2253
|
-
foo = related.split(
|
|
2453
|
+
foo = related.split(".");
|
|
2254
2454
|
rObjectName = foo[0];
|
|
2255
2455
|
return [4, getObject(rObjectName).toConfig()];
|
|
2256
2456
|
case 1:
|
|
2257
|
-
relatedObject =
|
|
2457
|
+
relatedObject = _f.sent();
|
|
2258
2458
|
relatedObjectAllListView = _.find(relatedObject.list_views, function (listview) {
|
|
2259
|
-
return listview.name ===
|
|
2459
|
+
return listview.name === "all";
|
|
2260
2460
|
});
|
|
2261
2461
|
if (relatedObjectAllListView && relatedObjectAllListView.columns) {
|
|
2262
2462
|
fieldNames_1 = [];
|
|
@@ -2271,33 +2471,35 @@ var SteedosObjectType = (function (_super) {
|
|
|
2271
2471
|
relatedItem.field_names = fieldNames_1;
|
|
2272
2472
|
}
|
|
2273
2473
|
related_lists.push(relatedItem);
|
|
2274
|
-
|
|
2474
|
+
_f.label = 2;
|
|
2275
2475
|
case 2: return [2];
|
|
2276
2476
|
}
|
|
2277
2477
|
});
|
|
2278
2478
|
};
|
|
2279
|
-
relatedLists_1 = tslib_1.__asyncValues(relatedLists);
|
|
2280
|
-
|
|
2479
|
+
_a = true, relatedLists_1 = tslib_1.__asyncValues(relatedLists);
|
|
2480
|
+
_e.label = 5;
|
|
2281
2481
|
case 5: return [4, relatedLists_1.next()];
|
|
2282
2482
|
case 6:
|
|
2283
|
-
if (!(relatedLists_1_1 =
|
|
2483
|
+
if (!(relatedLists_1_1 = _e.sent(), _b = relatedLists_1_1.done, !_b)) return [3, 9];
|
|
2284
2484
|
return [5, _loop_1()];
|
|
2285
2485
|
case 7:
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
case 8:
|
|
2486
|
+
_e.sent();
|
|
2487
|
+
_e.label = 8;
|
|
2488
|
+
case 8:
|
|
2489
|
+
_a = true;
|
|
2490
|
+
return [3, 5];
|
|
2289
2491
|
case 9: return [3, 16];
|
|
2290
2492
|
case 10:
|
|
2291
|
-
e_6_1 =
|
|
2493
|
+
e_6_1 = _e.sent();
|
|
2292
2494
|
e_6 = { error: e_6_1 };
|
|
2293
2495
|
return [3, 16];
|
|
2294
2496
|
case 11:
|
|
2295
|
-
|
|
2296
|
-
if (!(
|
|
2297
|
-
return [4,
|
|
2497
|
+
_e.trys.push([11, , 14, 15]);
|
|
2498
|
+
if (!(!_a && !_b && (_c = relatedLists_1.return))) return [3, 13];
|
|
2499
|
+
return [4, _c.call(relatedLists_1)];
|
|
2298
2500
|
case 12:
|
|
2299
|
-
|
|
2300
|
-
|
|
2501
|
+
_e.sent();
|
|
2502
|
+
_e.label = 13;
|
|
2301
2503
|
case 13: return [3, 15];
|
|
2302
2504
|
case 14:
|
|
2303
2505
|
if (e_6) throw e_6.error;
|
|
@@ -2305,18 +2507,18 @@ var SteedosObjectType = (function (_super) {
|
|
|
2305
2507
|
case 15: return [7];
|
|
2306
2508
|
case 16:
|
|
2307
2509
|
buttons.push({
|
|
2308
|
-
button_name:
|
|
2510
|
+
button_name: "standard_new",
|
|
2309
2511
|
});
|
|
2310
2512
|
buttons.push({
|
|
2311
|
-
button_name:
|
|
2513
|
+
button_name: "standard_edit",
|
|
2312
2514
|
});
|
|
2313
2515
|
buttons.push({
|
|
2314
|
-
button_name:
|
|
2516
|
+
button_name: "standard_delete",
|
|
2315
2517
|
});
|
|
2316
2518
|
_.each(objectConfig.actions, function (action, key) {
|
|
2317
2519
|
if (action.is_enable) {
|
|
2318
2520
|
buttons.push({
|
|
2319
|
-
button_name: action.name
|
|
2521
|
+
button_name: action.name,
|
|
2320
2522
|
});
|
|
2321
2523
|
}
|
|
2322
2524
|
});
|
|
@@ -2326,7 +2528,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2326
2528
|
buttons: buttons,
|
|
2327
2529
|
fields: fields,
|
|
2328
2530
|
related_lists: related_lists,
|
|
2329
|
-
space: userSession.spaceId
|
|
2531
|
+
space: userSession.spaceId,
|
|
2330
2532
|
}];
|
|
2331
2533
|
}
|
|
2332
2534
|
});
|
|
@@ -2334,24 +2536,24 @@ var SteedosObjectType = (function (_super) {
|
|
|
2334
2536
|
};
|
|
2335
2537
|
SteedosObjectType.prototype.createDefaultRecordView = function (userSession) {
|
|
2336
2538
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
2337
|
-
var name, label, profiles, defaultRecordView,
|
|
2539
|
+
var name, label, profiles, defaultRecordView, error_8;
|
|
2338
2540
|
return tslib_1.__generator(this, function (_a) {
|
|
2339
2541
|
switch (_a.label) {
|
|
2340
2542
|
case 0:
|
|
2341
|
-
name =
|
|
2342
|
-
label =
|
|
2343
|
-
profiles = [
|
|
2543
|
+
name = "default";
|
|
2544
|
+
label = "Default";
|
|
2545
|
+
profiles = ["user"];
|
|
2344
2546
|
_a.label = 1;
|
|
2345
2547
|
case 1:
|
|
2346
2548
|
_a.trys.push([1, 4, , 5]);
|
|
2347
2549
|
return [4, this.getDefaultRecordView(userSession)];
|
|
2348
2550
|
case 2:
|
|
2349
2551
|
defaultRecordView = _a.sent();
|
|
2350
|
-
return [4, getObject(
|
|
2552
|
+
return [4, getObject("object_layouts").insert(Object.assign({}, defaultRecordView, { name: name, label: label, profiles: profiles }), userSession)];
|
|
2351
2553
|
case 3: return [2, _a.sent()];
|
|
2352
2554
|
case 4:
|
|
2353
|
-
|
|
2354
|
-
return [2, { error:
|
|
2555
|
+
error_8 = _a.sent();
|
|
2556
|
+
return [2, { error: error_8.message }];
|
|
2355
2557
|
case 5: return [2];
|
|
2356
2558
|
}
|
|
2357
2559
|
});
|
|
@@ -2383,20 +2585,30 @@ var SteedosObjectType = (function (_super) {
|
|
|
2383
2585
|
case 4:
|
|
2384
2586
|
if (!!relatedInfos_1_1.done) return [3, 7];
|
|
2385
2587
|
info = relatedInfos_1_1.value;
|
|
2386
|
-
if (!!info.startsWith(
|
|
2387
|
-
infos = info.split(
|
|
2588
|
+
if (!!info.startsWith("__")) return [3, 6];
|
|
2589
|
+
infos = info.split(".");
|
|
2388
2590
|
detailObjectApiName = infos[0];
|
|
2389
2591
|
detailFieldName = infos[1];
|
|
2390
2592
|
return [4, getObject(detailObjectApiName).getField(detailFieldName)];
|
|
2391
2593
|
case 5:
|
|
2392
2594
|
related_field = _b.sent();
|
|
2393
2595
|
if (related_field) {
|
|
2394
|
-
if ((related_field.type == "master_detail" ||
|
|
2596
|
+
if ((related_field.type == "master_detail" ||
|
|
2597
|
+
related_field.type == "lookup") &&
|
|
2598
|
+
related_field.reference_to &&
|
|
2599
|
+
related_field.reference_to == this.name) {
|
|
2395
2600
|
if (detailObjectApiName == "object_fields") {
|
|
2396
|
-
related_objects.splice(0, 0, {
|
|
2601
|
+
related_objects.splice(0, 0, {
|
|
2602
|
+
object_name: detailObjectApiName,
|
|
2603
|
+
foreign_key: detailFieldName,
|
|
2604
|
+
});
|
|
2397
2605
|
}
|
|
2398
2606
|
else {
|
|
2399
|
-
related_objects.push({
|
|
2607
|
+
related_objects.push({
|
|
2608
|
+
object_name: detailObjectApiName,
|
|
2609
|
+
foreign_key: detailFieldName,
|
|
2610
|
+
write_requires_master_read: related_field.write_requires_master_read,
|
|
2611
|
+
});
|
|
2400
2612
|
}
|
|
2401
2613
|
}
|
|
2402
2614
|
}
|
|
@@ -2423,16 +2635,28 @@ var SteedosObjectType = (function (_super) {
|
|
|
2423
2635
|
related_objects.push({ object_name: "notes", foreign_key: "related_to" });
|
|
2424
2636
|
}
|
|
2425
2637
|
if (this.enable_events) {
|
|
2426
|
-
related_objects.push({
|
|
2638
|
+
related_objects.push({
|
|
2639
|
+
object_name: "events",
|
|
2640
|
+
foreign_key: "related_to",
|
|
2641
|
+
});
|
|
2427
2642
|
}
|
|
2428
2643
|
if (this.enable_instances) {
|
|
2429
|
-
related_objects.push({
|
|
2644
|
+
related_objects.push({
|
|
2645
|
+
object_name: "instances",
|
|
2646
|
+
foreign_key: "record_ids",
|
|
2647
|
+
});
|
|
2430
2648
|
}
|
|
2431
2649
|
if (this.enable_approvals) {
|
|
2432
|
-
related_objects.push({
|
|
2650
|
+
related_objects.push({
|
|
2651
|
+
object_name: "approvals",
|
|
2652
|
+
foreign_key: "related_to",
|
|
2653
|
+
});
|
|
2433
2654
|
}
|
|
2434
2655
|
if (this.enable_process) {
|
|
2435
|
-
related_objects.push({
|
|
2656
|
+
related_objects.push({
|
|
2657
|
+
object_name: "process_instance_history",
|
|
2658
|
+
foreign_key: "target_object",
|
|
2659
|
+
});
|
|
2436
2660
|
}
|
|
2437
2661
|
return [2, related_objects];
|
|
2438
2662
|
}
|
|
@@ -2449,7 +2673,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2449
2673
|
switch (_a.label) {
|
|
2450
2674
|
case 0:
|
|
2451
2675
|
clonedQuery = Object.assign({}, query);
|
|
2452
|
-
return [4, this.callAdapter(
|
|
2676
|
+
return [4, this.callAdapter("count", this.table_name, clonedQuery, userSession)];
|
|
2453
2677
|
case 1: return [2, _a.sent()];
|
|
2454
2678
|
}
|
|
2455
2679
|
});
|
|
@@ -2463,19 +2687,25 @@ var SteedosObjectType = (function (_super) {
|
|
|
2463
2687
|
if (_.isNull(userSession) || _.isUndefined(userSession)) {
|
|
2464
2688
|
return [2, true];
|
|
2465
2689
|
}
|
|
2466
|
-
if (!(method ===
|
|
2690
|
+
if (!(method === "find" ||
|
|
2691
|
+
method === "findOne" ||
|
|
2692
|
+
method === "count" ||
|
|
2693
|
+
method === "aggregate" ||
|
|
2694
|
+
method === "aggregatePrefixalPipeline")) return [3, 2];
|
|
2467
2695
|
return [4, this.allowRead(userSession)];
|
|
2468
2696
|
case 1: return [2, _a.sent()];
|
|
2469
2697
|
case 2:
|
|
2470
|
-
if (!(method ===
|
|
2698
|
+
if (!(method === "insert")) return [3, 4];
|
|
2471
2699
|
return [4, this.allowInsert(userSession)];
|
|
2472
2700
|
case 3: return [2, _a.sent()];
|
|
2473
2701
|
case 4:
|
|
2474
|
-
if (!(method ===
|
|
2702
|
+
if (!(method === "update" ||
|
|
2703
|
+
method === "updateOne" ||
|
|
2704
|
+
method === "updateMany")) return [3, 6];
|
|
2475
2705
|
return [4, this.allowUpdate(userSession)];
|
|
2476
2706
|
case 5: return [2, _a.sent()];
|
|
2477
2707
|
case 6:
|
|
2478
|
-
if (!(method ===
|
|
2708
|
+
if (!(method === "delete")) return [3, 8];
|
|
2479
2709
|
return [4, this.allowDelete(userSession)];
|
|
2480
2710
|
case 7: return [2, _a.sent()];
|
|
2481
2711
|
case 8: return [2];
|
|
@@ -2489,10 +2719,10 @@ var SteedosObjectType = (function (_super) {
|
|
|
2489
2719
|
return tslib_1.__generator(this, function (_a) {
|
|
2490
2720
|
switch (_a.label) {
|
|
2491
2721
|
case 0:
|
|
2492
|
-
if (method ===
|
|
2493
|
-
method =
|
|
2722
|
+
if (method === "count" || method === "findOne") {
|
|
2723
|
+
method = "find";
|
|
2494
2724
|
}
|
|
2495
|
-
meteorWhen = "before".concat(method.charAt(0).toLocaleUpperCase()).concat(_.rest(tslib_1.__spreadArray([], tslib_1.__read(method), false)).join(
|
|
2725
|
+
meteorWhen = "before".concat(method.charAt(0).toLocaleUpperCase()).concat(_.rest(tslib_1.__spreadArray([], tslib_1.__read(method), false)).join(""));
|
|
2496
2726
|
return [4, this.runBaseTriggers(meteorWhen, context)];
|
|
2497
2727
|
case 1:
|
|
2498
2728
|
_a.sent();
|
|
@@ -2514,7 +2744,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2514
2744
|
return tslib_1.__generator(this, function (_a) {
|
|
2515
2745
|
switch (_a.label) {
|
|
2516
2746
|
case 0:
|
|
2517
|
-
meteorWhen = "after".concat(method.charAt(0).toLocaleUpperCase()).concat(_.rest(tslib_1.__spreadArray([], tslib_1.__read(method), false)).join(
|
|
2747
|
+
meteorWhen = "after".concat(method.charAt(0).toLocaleUpperCase()).concat(_.rest(tslib_1.__spreadArray([], tslib_1.__read(method), false)).join(""));
|
|
2518
2748
|
return [4, this.runBaseTriggers(meteorWhen, context)];
|
|
2519
2749
|
case 1:
|
|
2520
2750
|
_a.sent();
|
|
@@ -2536,7 +2766,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2536
2766
|
return tslib_1.__generator(this, function (_a) {
|
|
2537
2767
|
switch (_a.label) {
|
|
2538
2768
|
case 0:
|
|
2539
|
-
_ids = _.pluck(records,
|
|
2769
|
+
_ids = _.pluck(records, "_id");
|
|
2540
2770
|
return [4, this.getUserObjectPermission(userSession, false)];
|
|
2541
2771
|
case 1:
|
|
2542
2772
|
objPm = _a.sent();
|
|
@@ -2544,14 +2774,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
2544
2774
|
if (_.isEmpty(permissionFilters)) {
|
|
2545
2775
|
return [2];
|
|
2546
2776
|
}
|
|
2547
|
-
filters = (0, filters_1.formatFiltersToODataQuery)([
|
|
2777
|
+
filters = (0, filters_1.formatFiltersToODataQuery)(["_id", "in", _ids]);
|
|
2548
2778
|
return [4, this.directFind({
|
|
2549
|
-
fields: [
|
|
2550
|
-
filters: "(".concat(filters, ") and (").concat(permissionFilters.join(
|
|
2779
|
+
fields: ["_id"],
|
|
2780
|
+
filters: "(".concat(filters, ") and (").concat(permissionFilters.join(" or "), ")"),
|
|
2551
2781
|
})];
|
|
2552
2782
|
case 2:
|
|
2553
2783
|
results = _a.sent();
|
|
2554
|
-
allowEditIds = _.pluck(results,
|
|
2784
|
+
allowEditIds = _.pluck(results, "_id");
|
|
2555
2785
|
_.each(records, function (record) {
|
|
2556
2786
|
if (_.include(allowEditIds, record._id)) {
|
|
2557
2787
|
record.record_permissions = {
|
|
@@ -2571,17 +2801,21 @@ var SteedosObjectType = (function (_super) {
|
|
|
2571
2801
|
var userSession, context;
|
|
2572
2802
|
return tslib_1.__generator(this, function (_a) {
|
|
2573
2803
|
userSession = args[args.length - 1];
|
|
2574
|
-
context = {
|
|
2575
|
-
|
|
2804
|
+
context = {
|
|
2805
|
+
objectName: this.name,
|
|
2806
|
+
userId: userSession ? userSession.userId : undefined,
|
|
2807
|
+
spaceId: userSession ? userSession.spaceId : undefined,
|
|
2808
|
+
};
|
|
2809
|
+
if (method === "find" || method === "findOne" || method === "count") {
|
|
2576
2810
|
context.query = args[args.length - 2];
|
|
2577
2811
|
}
|
|
2578
|
-
if (method ===
|
|
2812
|
+
if (method === "aggregate" || method === "aggregatePrefixalPipeline") {
|
|
2579
2813
|
context.query = args[args.length - 3];
|
|
2580
2814
|
}
|
|
2581
|
-
if (method ===
|
|
2815
|
+
if (method === "findOne" || method === "update" || method === "delete") {
|
|
2582
2816
|
context.id = args[1];
|
|
2583
2817
|
}
|
|
2584
|
-
if (method ===
|
|
2818
|
+
if (method === "insert" || method === "update") {
|
|
2585
2819
|
context.doc = args[args.length - 2];
|
|
2586
2820
|
}
|
|
2587
2821
|
return [2, context];
|
|
@@ -2607,7 +2841,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2607
2841
|
queryFields_1 = query.fields;
|
|
2608
2842
|
}
|
|
2609
2843
|
else if (_.isString(query.fields)) {
|
|
2610
|
-
queryFields_1 = query.fields.split(
|
|
2844
|
+
queryFields_1 = query.fields.split(",");
|
|
2611
2845
|
}
|
|
2612
2846
|
if (!(query.fields && query.fields.length)) {
|
|
2613
2847
|
queryFields_1 = _.keys(this.toConfig().fields);
|
|
@@ -2626,7 +2860,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2626
2860
|
queryFields_1.unshift(this.idFieldName);
|
|
2627
2861
|
queryFields_1 = _.compact(_.uniq(queryFields_1));
|
|
2628
2862
|
}
|
|
2629
|
-
query.fields = queryFields_1.join(
|
|
2863
|
+
query.fields = queryFields_1.join(",");
|
|
2630
2864
|
}
|
|
2631
2865
|
return [2];
|
|
2632
2866
|
}
|
|
@@ -2640,7 +2874,8 @@ var SteedosObjectType = (function (_super) {
|
|
|
2640
2874
|
switch (_a.label) {
|
|
2641
2875
|
case 0:
|
|
2642
2876
|
driver = this._datasource && this._datasource.driver;
|
|
2643
|
-
if (!(driver == datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
2877
|
+
if (!(driver == datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
2878
|
+
driver == datasource_1.SteedosDatabaseDriverType.MeteorMongo)) return [3, 2];
|
|
2644
2879
|
return [4, (0, method_base_1.getMongoInsertBaseDoc)(this, doc, userSession)];
|
|
2645
2880
|
case 1: return [2, _a.sent()];
|
|
2646
2881
|
case 2: return [2, doc];
|
|
@@ -2655,7 +2890,8 @@ var SteedosObjectType = (function (_super) {
|
|
|
2655
2890
|
switch (_a.label) {
|
|
2656
2891
|
case 0:
|
|
2657
2892
|
driver = this._datasource && this._datasource.driver;
|
|
2658
|
-
if (!(driver == datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
2893
|
+
if (!(driver == datasource_1.SteedosDatabaseDriverType.Mongo ||
|
|
2894
|
+
driver == datasource_1.SteedosDatabaseDriverType.MeteorMongo)) return [3, 2];
|
|
2659
2895
|
return [4, (0, method_base_1.getMongoUpdateBaseDoc)(this, doc, userSession)];
|
|
2660
2896
|
case 1: return [2, _a.sent()];
|
|
2661
2897
|
case 2: return [2, doc];
|
|
@@ -2668,7 +2904,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2668
2904
|
};
|
|
2669
2905
|
SteedosObjectType.prototype.formatRecord = function (doc) {
|
|
2670
2906
|
var adapterFormat = this._datasource["formatRecord"];
|
|
2671
|
-
if (typeof adapterFormat ==
|
|
2907
|
+
if (typeof adapterFormat == "function") {
|
|
2672
2908
|
doc = adapterFormat.apply(this._datasource, [doc, this.toConfig()]);
|
|
2673
2909
|
}
|
|
2674
2910
|
return doc;
|
|
@@ -2684,7 +2920,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2684
2920
|
switch (_b.label) {
|
|
2685
2921
|
case 0:
|
|
2686
2922
|
adapterMethod = this._datasource[method];
|
|
2687
|
-
if (typeof adapterMethod !==
|
|
2923
|
+
if (typeof adapterMethod !== "function") {
|
|
2688
2924
|
throw new Error('Adapted does not support "' + method + '" method');
|
|
2689
2925
|
}
|
|
2690
2926
|
userSession = args[args.length - 1];
|
|
@@ -2710,13 +2946,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
2710
2946
|
}
|
|
2711
2947
|
}
|
|
2712
2948
|
}
|
|
2713
|
-
if (method ===
|
|
2949
|
+
if (method === "findOne" || method === "update" || method === "delete") {
|
|
2714
2950
|
paramRecordId = args[1];
|
|
2715
2951
|
}
|
|
2716
2952
|
return [4, shareRule_1.ShareRules.getUserObjectFilters(this.name, userSession)];
|
|
2717
2953
|
case 3:
|
|
2718
2954
|
_a = _b.sent(), shareRuleFilters = _a.rulesFilters, allowEditShareRulesFilters = _a.allowEditRulesFilters;
|
|
2719
|
-
if (!!(this.enable_space_global === true &&
|
|
2955
|
+
if (!!(this.enable_space_global === true &&
|
|
2956
|
+
_.include(["find", "findOne"], method))) return [3, 5];
|
|
2720
2957
|
if (!(!_.isEmpty(userSession) && this._datasource.enable_space)) return [3, 5];
|
|
2721
2958
|
this.dealWithFilters(method, args);
|
|
2722
2959
|
return [4, this.dealWithMethodPermission(method, args, shareRuleFilters, allowEditShareRulesFilters)];
|
|
@@ -2730,17 +2967,19 @@ var SteedosObjectType = (function (_super) {
|
|
|
2730
2967
|
case 6:
|
|
2731
2968
|
returnValue = _b.sent();
|
|
2732
2969
|
return [3, 30];
|
|
2733
|
-
case 7: return [4, this.getTriggerContext(
|
|
2970
|
+
case 7: return [4, this.getTriggerContext("before", method, args)];
|
|
2734
2971
|
case 8:
|
|
2735
2972
|
beforeTriggerContext = _b.sent();
|
|
2736
2973
|
if (paramRecordId) {
|
|
2737
|
-
beforeTriggerContext = Object.assign({}, beforeTriggerContext, {
|
|
2974
|
+
beforeTriggerContext = Object.assign({}, beforeTriggerContext, {
|
|
2975
|
+
id: paramRecordId,
|
|
2976
|
+
});
|
|
2738
2977
|
}
|
|
2739
2978
|
return [4, this.runBeforeTriggers(method, beforeTriggerContext)];
|
|
2740
2979
|
case 9:
|
|
2741
2980
|
_b.sent();
|
|
2742
2981
|
previousDoc = void 0;
|
|
2743
|
-
if (!(method ===
|
|
2982
|
+
if (!(method === "update" || method === "delete")) return [3, 11];
|
|
2744
2983
|
return [4, this.findOne(recordId, {}, userSession)];
|
|
2745
2984
|
case 10:
|
|
2746
2985
|
previousDoc = _b.sent();
|
|
@@ -2754,28 +2993,34 @@ var SteedosObjectType = (function (_super) {
|
|
|
2754
2993
|
return [4, (0, validation_rules_1.runValidationRules)(method, beforeTriggerContext, args[0], userSession)];
|
|
2755
2994
|
case 13:
|
|
2756
2995
|
_b.sent();
|
|
2757
|
-
return [4, this.getTriggerContext(
|
|
2996
|
+
return [4, this.getTriggerContext("after", method, args)];
|
|
2758
2997
|
case 14:
|
|
2759
2998
|
afterTriggerContext = _b.sent();
|
|
2760
|
-
if (method ===
|
|
2999
|
+
if (method === "update" || method === "delete") {
|
|
2761
3000
|
afterTriggerContext.previousDoc = previousDoc;
|
|
2762
3001
|
}
|
|
2763
3002
|
if (paramRecordId) {
|
|
2764
|
-
afterTriggerContext = Object.assign({}, afterTriggerContext, {
|
|
3003
|
+
afterTriggerContext = Object.assign({}, afterTriggerContext, {
|
|
3004
|
+
id: paramRecordId,
|
|
3005
|
+
});
|
|
2765
3006
|
}
|
|
2766
3007
|
args.splice(args.length - 1, 1, userSession ? userSession.userId : undefined);
|
|
2767
3008
|
return [4, adapterMethod.apply(this._datasource, args)];
|
|
2768
3009
|
case 15:
|
|
2769
3010
|
returnValue = _b.sent();
|
|
2770
|
-
if (!(method ===
|
|
3011
|
+
if (!(method === "find" ||
|
|
3012
|
+
method == "findOne" ||
|
|
3013
|
+
method == "count" ||
|
|
3014
|
+
method == "aggregate" ||
|
|
3015
|
+
method == "aggregatePrefixalPipeline")) return [3, 19];
|
|
2771
3016
|
values = returnValue || {};
|
|
2772
|
-
if (!(method ===
|
|
3017
|
+
if (!(method === "count")) return [3, 16];
|
|
2773
3018
|
values = returnValue || 0;
|
|
2774
3019
|
return [3, 18];
|
|
2775
3020
|
case 16:
|
|
2776
3021
|
if (!userSession) return [3, 18];
|
|
2777
3022
|
_records = values;
|
|
2778
|
-
if (method ==
|
|
3023
|
+
if (method == "findOne" && values) {
|
|
2779
3024
|
_records = [_records];
|
|
2780
3025
|
}
|
|
2781
3026
|
return [4, this.appendRecordPermission(_records, allowEditShareRulesFilters, userSession)];
|
|
@@ -2786,9 +3031,11 @@ var SteedosObjectType = (function (_super) {
|
|
|
2786
3031
|
Object.assign(afterTriggerContext, { data: { values: values } });
|
|
2787
3032
|
_b.label = 19;
|
|
2788
3033
|
case 19:
|
|
2789
|
-
if (method ==
|
|
3034
|
+
if (method == "insert" && _.has(returnValue, "_id")) {
|
|
2790
3035
|
afterTriggerContext.doc = returnValue;
|
|
2791
|
-
afterTriggerContext = Object.assign({}, afterTriggerContext, {
|
|
3036
|
+
afterTriggerContext = Object.assign({}, afterTriggerContext, {
|
|
3037
|
+
id: returnValue._id,
|
|
3038
|
+
});
|
|
2792
3039
|
}
|
|
2793
3040
|
if (!(method == "update")) return [3, 22];
|
|
2794
3041
|
if (!returnValue) return [3, 21];
|
|
@@ -2803,8 +3050,14 @@ var SteedosObjectType = (function (_super) {
|
|
|
2803
3050
|
_b.sent();
|
|
2804
3051
|
_b.label = 24;
|
|
2805
3052
|
case 24:
|
|
2806
|
-
if (method ===
|
|
2807
|
-
|
|
3053
|
+
if (method === "find" ||
|
|
3054
|
+
method == "findOne" ||
|
|
3055
|
+
method == "count" ||
|
|
3056
|
+
method == "aggregate" ||
|
|
3057
|
+
method == "aggregatePrefixalPipeline") {
|
|
3058
|
+
if (_.isEmpty(afterTriggerContext.data) ||
|
|
3059
|
+
(_.isEmpty(afterTriggerContext.data.values) &&
|
|
3060
|
+
!_.isNumber(afterTriggerContext.data.values))) {
|
|
2808
3061
|
return [2, returnValue];
|
|
2809
3062
|
}
|
|
2810
3063
|
else {
|
|
@@ -2816,7 +3069,7 @@ var SteedosObjectType = (function (_super) {
|
|
|
2816
3069
|
event: method,
|
|
2817
3070
|
record: returnValue,
|
|
2818
3071
|
user_session: userSession,
|
|
2819
|
-
previous_record: afterTriggerContext.previousDoc
|
|
3072
|
+
previous_record: afterTriggerContext.previousDoc,
|
|
2820
3073
|
}).run()];
|
|
2821
3074
|
case 25:
|
|
2822
3075
|
_b.sent();
|
|
@@ -2841,7 +3094,6 @@ var SteedosObjectType = (function (_super) {
|
|
|
2841
3094
|
});
|
|
2842
3095
|
});
|
|
2843
3096
|
};
|
|
2844
|
-
;
|
|
2845
3097
|
SteedosObjectType.prototype.getRecordFormulaDoc = function (method, objectName, doc, previousDoc, userSession) {
|
|
2846
3098
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
2847
3099
|
var setDoc, fieldNames, quotedByConfigs, formulaDoc;
|
|
@@ -2878,12 +3130,17 @@ var SteedosObjectType = (function (_super) {
|
|
|
2878
3130
|
withoutCurrent = true;
|
|
2879
3131
|
if (method === "update") {
|
|
2880
3132
|
updatedDocFieldNames = _.keys(doc);
|
|
2881
|
-
if (_.intersection([
|
|
3133
|
+
if (_.intersection(["$inc", "$min", "$max", "$mul"], updatedDocFieldNames)
|
|
3134
|
+
.length) {
|
|
2882
3135
|
withoutCurrent = false;
|
|
2883
3136
|
}
|
|
2884
3137
|
}
|
|
2885
3138
|
fieldNames = method === "update" ? (0, util_1.getFieldNamesFromDoc)(doc, this.fields) : null;
|
|
2886
|
-
return [4, (0, formula_1.runQuotedByObjectFieldFormulas)(objectName, recordId, userSession, {
|
|
3139
|
+
return [4, (0, formula_1.runQuotedByObjectFieldFormulas)(objectName, recordId, userSession, {
|
|
3140
|
+
onlyForOwn: onlyForOwn,
|
|
3141
|
+
withoutCurrent: withoutCurrent,
|
|
3142
|
+
fieldNames: fieldNames,
|
|
3143
|
+
})];
|
|
2887
3144
|
case 1:
|
|
2888
3145
|
_a.sent();
|
|
2889
3146
|
_a.label = 2;
|
|
@@ -2928,19 +3185,22 @@ var SteedosObjectType = (function (_super) {
|
|
|
2928
3185
|
SteedosObjectType.prototype.getObjectEditPermissionFilters = function (objectPermission, allowEditShareRulesFilters, userSession) {
|
|
2929
3186
|
var objectPermissionFilters = [];
|
|
2930
3187
|
if (!_.isEmpty(objectPermission.modifyAssignCompanysRecords)) {
|
|
2931
|
-
objectPermissionFilters.push("(".concat((0, filters_1.formatFiltersToODataQuery)([[
|
|
3188
|
+
objectPermissionFilters.push("(".concat((0, filters_1.formatFiltersToODataQuery)([["company_id", "in", objectPermission.modifyAssignCompanysRecords], "or", ["company_ids", "in", objectPermission.modifyAssignCompanysRecords]], userSession), ")"));
|
|
2932
3189
|
}
|
|
2933
3190
|
if (allowEditShareRulesFilters && allowEditShareRulesFilters.length > 0) {
|
|
2934
|
-
objectPermissionFilters.push("(".concat(allowEditShareRulesFilters.join(
|
|
3191
|
+
objectPermissionFilters.push("(".concat(allowEditShareRulesFilters.join(" or "), ")"));
|
|
2935
3192
|
}
|
|
2936
3193
|
return objectPermissionFilters;
|
|
2937
3194
|
};
|
|
2938
3195
|
SteedosObjectType.prototype.dealWithFilters = function (method, args) {
|
|
2939
3196
|
var userSession = args[args.length - 1];
|
|
2940
3197
|
if (userSession) {
|
|
2941
|
-
if (method ===
|
|
3198
|
+
if (method === "find" ||
|
|
3199
|
+
method === "count" ||
|
|
3200
|
+
method === "aggregate" ||
|
|
3201
|
+
method === "aggregatePrefixalPipeline") {
|
|
2942
3202
|
var query = args[args.length - 2];
|
|
2943
|
-
if (method ===
|
|
3203
|
+
if (method === "aggregate" || method === "aggregatePrefixalPipeline") {
|
|
2944
3204
|
query = args[args.length - 3];
|
|
2945
3205
|
}
|
|
2946
3206
|
if (query.filters && !_.isString(query.filters)) {
|
|
@@ -2962,15 +3222,20 @@ var SteedosObjectType = (function (_super) {
|
|
|
2962
3222
|
return [4, this.getUserObjectPermission(userSession, false)];
|
|
2963
3223
|
case 1:
|
|
2964
3224
|
objPm = _a.sent();
|
|
2965
|
-
if (!(method ===
|
|
3225
|
+
if (!(method === "find" ||
|
|
3226
|
+
method === "count" ||
|
|
3227
|
+
method === "findOne" ||
|
|
3228
|
+
method === "aggregate" ||
|
|
3229
|
+
method === "aggregatePrefixalPipeline")) return [3, 3];
|
|
2966
3230
|
query = args[args.length - 2];
|
|
2967
|
-
if (method ===
|
|
3231
|
+
if (method === "aggregate" || method === "aggregatePrefixalPipeline") {
|
|
2968
3232
|
query = args[args.length - 3];
|
|
2969
3233
|
}
|
|
2970
3234
|
if (query.filters && !_.isString(query.filters)) {
|
|
2971
3235
|
query.filters = (0, filters_1.formatFiltersToODataQuery)(query.filters);
|
|
2972
3236
|
}
|
|
2973
|
-
if (this.table_name ==
|
|
3237
|
+
if (this.table_name == "cfs.files.filerecord" ||
|
|
3238
|
+
this.table_name == "cfs.instances.filerecord") {
|
|
2974
3239
|
return [2];
|
|
2975
3240
|
}
|
|
2976
3241
|
if ((0, util_1.isCloudAdminSpace)(spaceId)) {
|
|
@@ -2982,14 +3247,16 @@ var SteedosObjectType = (function (_super) {
|
|
|
2982
3247
|
}
|
|
2983
3248
|
if (spaceId && !objPm.viewAllRecords && objPm.viewCompanyRecords) {
|
|
2984
3249
|
if (_.isEmpty(userSession.companies)) {
|
|
2985
|
-
console.log(
|
|
3250
|
+
console.log("objPm", objPm);
|
|
2986
3251
|
throw new Error("user not belong any company!");
|
|
2987
3252
|
}
|
|
2988
3253
|
companyFilter = _.map(userSession.companies, function (comp) {
|
|
2989
3254
|
return "(company_id eq '".concat(comp._id, "') or (company_ids eq '").concat(comp._id, "')");
|
|
2990
3255
|
});
|
|
2991
3256
|
}
|
|
2992
|
-
if (!objPm.viewAllRecords &&
|
|
3257
|
+
if (!objPm.viewAllRecords &&
|
|
3258
|
+
!objPm.viewCompanyRecords &&
|
|
3259
|
+
objPm.allowRead) {
|
|
2993
3260
|
ownerFilter = "(owner eq '".concat(userId, "')");
|
|
2994
3261
|
}
|
|
2995
3262
|
viewAssignCompanysRecordsFilter_1 = [];
|
|
@@ -2999,26 +3266,26 @@ var SteedosObjectType = (function (_super) {
|
|
|
2999
3266
|
});
|
|
3000
3267
|
}
|
|
3001
3268
|
if (!_.isEmpty(viewAssignCompanysRecordsFilter_1)) {
|
|
3002
|
-
permissionFilters.push("(".concat(viewAssignCompanysRecordsFilter_1.join(
|
|
3269
|
+
permissionFilters.push("(".concat(viewAssignCompanysRecordsFilter_1.join(" or "), ")"));
|
|
3003
3270
|
}
|
|
3004
3271
|
if (!_.isEmpty(shareRuleFilters) && !objPm.viewAllRecords) {
|
|
3005
|
-
permissionFilters.push("(".concat(shareRuleFilters.join(
|
|
3272
|
+
permissionFilters.push("(".concat(shareRuleFilters.join(" or "), ")"));
|
|
3006
3273
|
}
|
|
3007
3274
|
return [4, restrictionRule_1.RestrictionRule.getUserObjectFilters(this.name, userSession)];
|
|
3008
3275
|
case 2:
|
|
3009
3276
|
restrictionRuleFilters = _a.sent();
|
|
3010
3277
|
if (!_.isEmpty(restrictionRuleFilters)) {
|
|
3011
|
-
userFilters.push("(".concat(restrictionRuleFilters.join(
|
|
3278
|
+
userFilters.push("(".concat(restrictionRuleFilters.join(" and "), ")"));
|
|
3012
3279
|
}
|
|
3013
3280
|
sharesFilter = (0, util_1.getUserObjectSharesFilters)(this.name, userSession);
|
|
3014
3281
|
if (!_.isEmpty(companyFilter)) {
|
|
3015
|
-
permissionFilters.push("(".concat(companyFilter.join(
|
|
3282
|
+
permissionFilters.push("(".concat(companyFilter.join(" or "), ")"));
|
|
3016
3283
|
}
|
|
3017
3284
|
if (ownerFilter) {
|
|
3018
3285
|
permissionFilters.push(ownerFilter);
|
|
3019
3286
|
}
|
|
3020
3287
|
if (!_.isEmpty(sharesFilter)) {
|
|
3021
|
-
permissionFilters.push("(".concat(sharesFilter.join(
|
|
3288
|
+
permissionFilters.push("(".concat(sharesFilter.join(" or "), ")"));
|
|
3022
3289
|
}
|
|
3023
3290
|
if (clientFilter) {
|
|
3024
3291
|
userFilters.push(clientFilter);
|
|
@@ -3027,71 +3294,87 @@ var SteedosObjectType = (function (_super) {
|
|
|
3027
3294
|
userFilters.push(spaceFilter);
|
|
3028
3295
|
}
|
|
3029
3296
|
if (!userSession.is_space_admin && !_.isEmpty(permissionFilters)) {
|
|
3030
|
-
filters = permissionFilters.join(
|
|
3297
|
+
filters = permissionFilters.join(" or ");
|
|
3031
3298
|
}
|
|
3032
3299
|
if (!_.isEmpty(userFilters)) {
|
|
3033
|
-
filters = filters
|
|
3300
|
+
filters = filters
|
|
3301
|
+
? "(".concat(filters, ") and (").concat(userFilters.join(" and "), ")")
|
|
3302
|
+
: userFilters.join(" and ");
|
|
3034
3303
|
}
|
|
3035
3304
|
query.filters = filters;
|
|
3036
3305
|
return [3, 4];
|
|
3037
3306
|
case 3:
|
|
3038
|
-
if (method ===
|
|
3307
|
+
if (method === "insert") {
|
|
3039
3308
|
if (!objPm.allowCreate) {
|
|
3040
3309
|
throw new Error("no ".concat(method, " permission!"));
|
|
3041
3310
|
}
|
|
3042
3311
|
}
|
|
3043
|
-
else if (method ===
|
|
3312
|
+
else if (method === "update" || method === "updateOne") {
|
|
3044
3313
|
permissionFilters = this.getObjectEditPermissionFilters(objPm, allowEditShareRulesFilters, userSession);
|
|
3045
3314
|
if (!objPm.allowEdit && _.isEmpty(permissionFilters)) {
|
|
3046
3315
|
throw new Error("no ".concat(method, " permission!"));
|
|
3047
3316
|
}
|
|
3048
|
-
objectPermissionEditFilters =
|
|
3317
|
+
objectPermissionEditFilters = "";
|
|
3049
3318
|
if (!_.isEmpty(permissionFilters)) {
|
|
3050
|
-
objectPermissionEditFilters = " or (".concat(permissionFilters.join(
|
|
3319
|
+
objectPermissionEditFilters = " or (".concat(permissionFilters.join(" or "), ")");
|
|
3051
3320
|
}
|
|
3052
3321
|
id = args[args.length - 3];
|
|
3053
3322
|
if (!objPm.modifyAllRecords && objPm.modifyCompanyRecords) {
|
|
3054
3323
|
companyFilters = _.map(userSession.companies, function (comp) {
|
|
3055
3324
|
return "(company_id eq '".concat(comp._id, "') or (company_ids eq '").concat(comp._id, "')");
|
|
3056
|
-
}).join(
|
|
3325
|
+
}).join(" or ");
|
|
3057
3326
|
if (companyFilters) {
|
|
3058
3327
|
if (_.isString(id)) {
|
|
3059
|
-
id = {
|
|
3328
|
+
id = {
|
|
3329
|
+
filters: "(_id eq '".concat(id, "') and (").concat(companyFilters).concat(objectPermissionEditFilters, ")"),
|
|
3330
|
+
};
|
|
3060
3331
|
}
|
|
3061
3332
|
else if (_.isObject(id)) {
|
|
3062
3333
|
if (id.filters && !_.isString(id.filters)) {
|
|
3063
3334
|
id.filters = (0, filters_1.formatFiltersToODataQuery)(id.filters);
|
|
3064
3335
|
}
|
|
3065
|
-
id.filters = id.filters
|
|
3336
|
+
id.filters = id.filters
|
|
3337
|
+
? "(".concat(id.filters, ") and (").concat(companyFilters).concat(objectPermissionEditFilters, ")")
|
|
3338
|
+
: "(".concat(companyFilters).concat(objectPermissionEditFilters, ")");
|
|
3066
3339
|
}
|
|
3067
3340
|
}
|
|
3068
3341
|
}
|
|
3069
|
-
else if (!objPm.modifyAllRecords &&
|
|
3342
|
+
else if (!objPm.modifyAllRecords &&
|
|
3343
|
+
!objPm.modifyCompanyRecords &&
|
|
3344
|
+
objPm.allowEdit) {
|
|
3070
3345
|
if (_.isString(id)) {
|
|
3071
|
-
id = {
|
|
3346
|
+
id = {
|
|
3347
|
+
filters: "(_id eq '".concat(id, "') and (owner eq '").concat(userId, "' ").concat(objectPermissionEditFilters, ")"),
|
|
3348
|
+
};
|
|
3072
3349
|
}
|
|
3073
3350
|
else if (_.isObject(id)) {
|
|
3074
3351
|
if (id.filters && !_.isString(id.filters)) {
|
|
3075
3352
|
id.filters = (0, filters_1.formatFiltersToODataQuery)(id.filters);
|
|
3076
3353
|
}
|
|
3077
|
-
id.filters = id.filters
|
|
3354
|
+
id.filters = id.filters
|
|
3355
|
+
? "(".concat(id.filters, ") and (owner eq '").concat(userId, "' ").concat(objectPermissionEditFilters, ")")
|
|
3356
|
+
: "(owner eq '".concat(userId, "' ").concat(objectPermissionEditFilters, ")");
|
|
3078
3357
|
}
|
|
3079
3358
|
}
|
|
3080
3359
|
else if (!objPm.modifyAllRecords && objectPermissionEditFilters) {
|
|
3081
3360
|
objectPermissionEditFilters = objectPermissionEditFilters.replace(" or ", "");
|
|
3082
3361
|
if (_.isString(id)) {
|
|
3083
|
-
id = {
|
|
3362
|
+
id = {
|
|
3363
|
+
filters: "(_id eq '".concat(id, "') and (").concat(objectPermissionEditFilters, ")"),
|
|
3364
|
+
};
|
|
3084
3365
|
}
|
|
3085
3366
|
else if (_.isObject(id)) {
|
|
3086
3367
|
if (id.filters && !_.isString(id.filters)) {
|
|
3087
3368
|
id.filters = (0, filters_1.formatFiltersToODataQuery)(id.filters);
|
|
3088
3369
|
}
|
|
3089
|
-
id.filters = id.filters
|
|
3370
|
+
id.filters = id.filters
|
|
3371
|
+
? "(".concat(id.filters, ") and (").concat(objectPermissionEditFilters, ")")
|
|
3372
|
+
: "(".concat(objectPermissionEditFilters, ")");
|
|
3090
3373
|
}
|
|
3091
3374
|
}
|
|
3092
3375
|
args[args.length - 3] = id;
|
|
3093
3376
|
}
|
|
3094
|
-
else if (method ===
|
|
3377
|
+
else if (method === "updateMany") {
|
|
3095
3378
|
if (!objPm.modifyAllRecords && !objPm.modifyCompanyRecords) {
|
|
3096
3379
|
throw new Error("no ".concat(method, " permission!"));
|
|
3097
3380
|
}
|
|
@@ -3099,47 +3382,57 @@ var SteedosObjectType = (function (_super) {
|
|
|
3099
3382
|
queryFilters = args[args.length - 3];
|
|
3100
3383
|
companyFilters = _.map(userSession.companies, function (comp) {
|
|
3101
3384
|
return "(company_id eq '".concat(comp._id, "') or (company_ids eq '").concat(comp._id, "')");
|
|
3102
|
-
}).join(
|
|
3385
|
+
}).join(" or ");
|
|
3103
3386
|
if (companyFilters) {
|
|
3104
3387
|
if (queryFilters && !_.isString(queryFilters)) {
|
|
3105
3388
|
queryFilters = (0, filters_1.formatFiltersToODataQuery)(queryFilters);
|
|
3106
3389
|
}
|
|
3107
|
-
queryFilters = queryFilters
|
|
3390
|
+
queryFilters = queryFilters
|
|
3391
|
+
? "(".concat(queryFilters, ") and (").concat(companyFilters, ")")
|
|
3392
|
+
: "(".concat(companyFilters, ")");
|
|
3108
3393
|
args[args.length - 3] = queryFilters;
|
|
3109
3394
|
}
|
|
3110
3395
|
}
|
|
3111
3396
|
}
|
|
3112
|
-
else if (method ===
|
|
3397
|
+
else if (method === "delete") {
|
|
3113
3398
|
permissionFilters = this.getObjectEditPermissionFilters(objPm, allowEditShareRulesFilters, userSession);
|
|
3114
3399
|
if (!objPm.allowDelete && _.isEmpty(permissionFilters)) {
|
|
3115
3400
|
throw new Error("no ".concat(method, " permission!"));
|
|
3116
3401
|
}
|
|
3117
|
-
objectPermissionEditFilters =
|
|
3402
|
+
objectPermissionEditFilters = "";
|
|
3118
3403
|
if (!_.isEmpty(permissionFilters)) {
|
|
3119
|
-
objectPermissionEditFilters = " or (".concat(permissionFilters.join(
|
|
3404
|
+
objectPermissionEditFilters = " or (".concat(permissionFilters.join(" or "), ")");
|
|
3120
3405
|
}
|
|
3121
3406
|
id = args[args.length - 2];
|
|
3122
3407
|
if (!objPm.modifyAllRecords && objPm.modifyCompanyRecords) {
|
|
3123
3408
|
companyFilters = _.map(userSession.companies, function (comp) {
|
|
3124
3409
|
return "(company_id eq '".concat(comp._id, "') or (company_ids eq '").concat(comp._id, "')");
|
|
3125
|
-
}).join(
|
|
3410
|
+
}).join(" or ");
|
|
3126
3411
|
if (companyFilters) {
|
|
3127
|
-
id = {
|
|
3412
|
+
id = {
|
|
3413
|
+
filters: "(_id eq '".concat(id, "') and (").concat(companyFilters).concat(objectPermissionEditFilters, ")"),
|
|
3414
|
+
};
|
|
3128
3415
|
}
|
|
3129
3416
|
}
|
|
3130
3417
|
else if (!objPm.modifyAllRecords && !objPm.modifyCompanyRecords) {
|
|
3131
|
-
id = {
|
|
3418
|
+
id = {
|
|
3419
|
+
filters: "(_id eq '".concat(id, "') and (owner eq '").concat(userId, "'").concat(objectPermissionEditFilters, ")"),
|
|
3420
|
+
};
|
|
3132
3421
|
}
|
|
3133
3422
|
else if (!objPm.modifyAllRecords && objectPermissionEditFilters) {
|
|
3134
3423
|
objectPermissionEditFilters = objectPermissionEditFilters.replace(" or ", "");
|
|
3135
3424
|
if (_.isString(id)) {
|
|
3136
|
-
id = {
|
|
3425
|
+
id = {
|
|
3426
|
+
filters: "(_id eq '".concat(id, "') and (").concat(objectPermissionEditFilters, ")"),
|
|
3427
|
+
};
|
|
3137
3428
|
}
|
|
3138
3429
|
else if (_.isObject(id)) {
|
|
3139
3430
|
if (id.filters && !_.isString(id.filters)) {
|
|
3140
3431
|
id.filters = (0, filters_1.formatFiltersToODataQuery)(id.filters);
|
|
3141
3432
|
}
|
|
3142
|
-
id.filters = id.filters
|
|
3433
|
+
id.filters = id.filters
|
|
3434
|
+
? "(".concat(id.filters, ") and (").concat(objectPermissionEditFilters, ")")
|
|
3435
|
+
: "(".concat(objectPermissionEditFilters, ")");
|
|
3143
3436
|
}
|
|
3144
3437
|
}
|
|
3145
3438
|
args[args.length - 2] = id;
|
|
@@ -3232,9 +3525,10 @@ exports.SteedosObjectType = SteedosObjectType;
|
|
|
3232
3525
|
function getObject(objectName, schema) {
|
|
3233
3526
|
return (schema ? schema : (0, _1.getSteedosSchema)()).getObject(objectName);
|
|
3234
3527
|
}
|
|
3235
|
-
exports.getObject = getObject;
|
|
3236
3528
|
function getLocalObject(objectName, schema) {
|
|
3237
3529
|
return (schema ? schema : (0, _1.getSteedosSchema)()).getLocalObject(objectName);
|
|
3238
3530
|
}
|
|
3239
|
-
|
|
3531
|
+
function getAllObject(schema) {
|
|
3532
|
+
return (schema ? schema : (0, _1.getSteedosSchema)()).getAllObject();
|
|
3533
|
+
}
|
|
3240
3534
|
//# sourceMappingURL=object.js.map
|