@steedos/objectql 2.7.27-beta.6 → 3.0.0-beta.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/lib/actions/field_updates.js +3 -4
  2. package/lib/actions/field_updates.js.map +1 -1
  3. package/lib/actions/types/field_update_target.d.ts +1 -1
  4. package/lib/actions/types/workflow_notification.d.ts +1 -1
  5. package/lib/actions/types/workflow_outbound_message.d.ts +1 -1
  6. package/lib/actions/types/workflow_rule.d.ts +1 -1
  7. package/lib/actions/workflow_notifications.js +2 -3
  8. package/lib/actions/workflow_notifications.js.map +1 -1
  9. package/lib/actions/workflow_outbound_messages.js +2 -3
  10. package/lib/actions/workflow_outbound_messages.js.map +1 -1
  11. package/lib/actions/workflow_rule.d.ts +1 -1
  12. package/lib/actions/workflow_rule.js.map +1 -1
  13. package/lib/broker.js.map +1 -1
  14. package/lib/driver/driver.d.ts +2 -2
  15. package/lib/driver/field-encrytion/mongosharedconst.js +1 -2
  16. package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
  17. package/lib/driver/fieldDBType.js +1 -1
  18. package/lib/driver/fieldDBType.js.map +1 -1
  19. package/lib/driver/format.js +1 -2
  20. package/lib/driver/format.js.map +1 -1
  21. package/lib/driver/metadata.d.ts +21 -36
  22. package/lib/driver/metadata.js +372 -168
  23. package/lib/driver/metadata.js.map +1 -1
  24. package/lib/driver/metadataOld.d.ts +40 -0
  25. package/lib/driver/metadataOld.js +222 -0
  26. package/lib/driver/metadataOld.js.map +1 -0
  27. package/lib/driver/meteorMongo.d.ts +2 -39
  28. package/lib/driver/meteorMongo.js +5 -758
  29. package/lib/driver/meteorMongo.js.map +1 -1
  30. package/lib/driver/mongo.d.ts +0 -1
  31. package/lib/driver/mongo.js +34 -33
  32. package/lib/driver/mongo.js.map +1 -1
  33. package/lib/driver/mysql.js.map +1 -1
  34. package/lib/driver/oracle.js.map +1 -1
  35. package/lib/driver/postgres.js.map +1 -1
  36. package/lib/driver/sqlite3.js.map +1 -1
  37. package/lib/driver/sqlserver.js.map +1 -1
  38. package/lib/errors/index.d.ts +1 -1
  39. package/lib/errors/index.js +7 -6
  40. package/lib/errors/index.js.map +1 -1
  41. package/lib/formula/core.d.ts +13 -1
  42. package/lib/formula/core.js +188 -120
  43. package/lib/formula/core.js.map +1 -1
  44. package/lib/formula/field_formula.js.map +1 -1
  45. package/lib/formula/index.d.ts +7 -6
  46. package/lib/formula/index.js +34 -5
  47. package/lib/formula/index.js.map +1 -1
  48. package/lib/formula/params.js +1 -2
  49. package/lib/formula/params.js.map +1 -1
  50. package/lib/formula/recompute.js.map +1 -1
  51. package/lib/formula/simple_params.js +1 -2
  52. package/lib/formula/simple_params.js.map +1 -1
  53. package/lib/formula/type.d.ts +7 -7
  54. package/lib/formula/type.js +1 -1
  55. package/lib/formula/type.js.map +1 -1
  56. package/lib/formula/util.js.map +1 -1
  57. package/lib/functions/function.js +22 -11
  58. package/lib/functions/function.js.map +1 -1
  59. package/lib/services/datasourceServiceFactory.js +66 -15
  60. package/lib/services/datasourceServiceFactory.js.map +1 -1
  61. package/lib/services/index.js +2 -3
  62. package/lib/services/index.js.map +1 -1
  63. package/lib/summary/core.js +53 -44
  64. package/lib/summary/core.js.map +1 -1
  65. package/lib/summary/field_summary.js.map +1 -1
  66. package/lib/summary/index.js.map +1 -1
  67. package/lib/summary/recompute.js.map +1 -1
  68. package/lib/summary/type.d.ts +1 -1
  69. package/lib/summary/type.js +2 -2
  70. package/lib/summary/type.js.map +1 -1
  71. package/lib/triggers/trigger.js +32 -18
  72. package/lib/triggers/trigger.js.map +1 -1
  73. package/lib/ts-types/permissionset.d.ts +1 -1
  74. package/lib/ts-types/profile.d.ts +1 -1
  75. package/lib/ts-types/triggerActionParams.d.ts +1 -1
  76. package/lib/typeorm/driver.js.map +1 -1
  77. package/lib/typeorm/util.d.ts +1 -1
  78. package/lib/typeorm/util.js +13 -15
  79. package/lib/typeorm/util.js.map +1 -1
  80. package/lib/types/action.d.ts +1 -1
  81. package/lib/types/action.js.map +1 -1
  82. package/lib/types/app.d.ts +1 -1
  83. package/lib/types/app.js +9 -5
  84. package/lib/types/app.js.map +1 -1
  85. package/lib/types/connection.d.ts +2 -2
  86. package/lib/types/connection.js +11 -7
  87. package/lib/types/connection.js.map +1 -1
  88. package/lib/types/dashboard.d.ts +1 -1
  89. package/lib/types/dashboard.js +2 -2
  90. package/lib/types/dashboard.js.map +1 -1
  91. package/lib/types/datasource.d.ts +13 -7
  92. package/lib/types/datasource.js +147 -103
  93. package/lib/types/datasource.js.map +1 -1
  94. package/lib/types/defaultValue.js +1 -2
  95. package/lib/types/defaultValue.js.map +1 -1
  96. package/lib/types/field.d.ts +5 -12
  97. package/lib/types/field.js +68 -58
  98. package/lib/types/field.js.map +1 -1
  99. package/lib/types/field_permission.js.map +1 -1
  100. package/lib/types/field_types.d.ts +1 -1
  101. package/lib/types/list_view.js.map +1 -1
  102. package/lib/types/listeners.d.ts +1 -1
  103. package/lib/types/method_base.js +2 -3
  104. package/lib/types/method_base.js.map +1 -1
  105. package/lib/types/object.d.ts +2 -1
  106. package/lib/types/object.js +715 -421
  107. package/lib/types/object.js.map +1 -1
  108. package/lib/types/object_events.js +1 -2
  109. package/lib/types/object_events.js.map +1 -1
  110. package/lib/types/object_layouts.js +4 -5
  111. package/lib/types/object_layouts.js.map +1 -1
  112. package/lib/types/object_permission.js.map +1 -1
  113. package/lib/types/query.d.ts +2 -2
  114. package/lib/types/report.d.ts +1 -1
  115. package/lib/types/report.js +2 -2
  116. package/lib/types/report.js.map +1 -1
  117. package/lib/types/restrictionRule.d.ts +1 -1
  118. package/lib/types/restrictionRule.js +79 -27
  119. package/lib/types/restrictionRule.js.map +1 -1
  120. package/lib/types/schema.d.ts +4 -5
  121. package/lib/types/schema.js +37 -55
  122. package/lib/types/schema.js.map +1 -1
  123. package/lib/types/shareRule.d.ts +1 -1
  124. package/lib/types/shareRule.js +86 -34
  125. package/lib/types/shareRule.js.map +1 -1
  126. package/lib/types/trigger.d.ts +2 -2
  127. package/lib/types/userSession.d.ts +5 -5
  128. package/lib/types/validation_rules.js +1 -2
  129. package/lib/types/validation_rules.js.map +1 -1
  130. package/lib/util/convert.js +2 -3
  131. package/lib/util/convert.js.map +1 -1
  132. package/lib/util/field.js.map +1 -1
  133. package/lib/util/function_expression.js.map +1 -1
  134. package/lib/util/index.d.ts +9 -9
  135. package/lib/util/index.js +150 -101
  136. package/lib/util/index.js.map +1 -1
  137. package/lib/util/locale.js.map +1 -1
  138. package/lib/util/permission_shares.js +1 -2
  139. package/lib/util/permission_shares.js.map +1 -1
  140. package/lib/util/suffix.js +0 -38
  141. package/lib/util/suffix.js.map +1 -1
  142. package/lib/util/transform.d.ts +2 -4
  143. package/lib/util/transform.js +11 -152
  144. package/lib/util/transform.js.map +1 -1
  145. package/lib/validators/index.js.map +1 -1
  146. package/package.json +15 -18
@@ -1,113 +1,98 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetadataDriver = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var _1 = require(".");
6
+ var types_1 = require("../types");
4
7
  var mingo = require("mingo");
5
- var steedosFilters = require("@steedos/filters");
6
- var odataV4Mongodb = require("@steedos/odata-v4-mongodb");
7
8
  var clone = require("clone");
8
9
  var _ = require("underscore");
9
- var MetadataDriver = (function () {
10
- function MetadataDriver() {
10
+ var i18n_1 = require("@steedos/i18n");
11
+ var util_1 = require("../util");
12
+ var metadata_registrar_1 = require("@steedos/metadata-registrar");
13
+ var PERMISSIONS = {
14
+ allowEdit: false,
15
+ allowDelete: false,
16
+ allowRead: true,
17
+ };
18
+ var BASERECORD = {
19
+ is_system: true,
20
+ record_permissions: PERMISSIONS,
21
+ };
22
+ var isAPIName = function (apiName) {
23
+ var reg = new RegExp("^[a-z]([a-z0-9]|_(?!_))*[a-z0-9]$");
24
+ if (!reg.test(apiName.replace("__c", ""))) {
25
+ throw new Error("API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符." +
26
+ apiName);
11
27
  }
12
- MetadataDriver.prototype.connect = function () {
13
- };
14
- MetadataDriver.prototype.close = function () {
15
- };
16
- MetadataDriver.prototype.formatFiltersToMongoQuery = function (filters) {
17
- var emptyFilters = {};
18
- var odataQuery = "";
19
- if (_.isString(filters)) {
20
- odataQuery = filters;
21
- }
22
- else {
23
- odataQuery = steedosFilters.formatFiltersToODataQuery(filters);
24
- }
25
- if (!odataQuery) {
26
- return emptyFilters;
27
- }
28
- var query = odataV4Mongodb.createFilter(odataQuery);
29
- return query;
30
- };
31
- MetadataDriver.prototype.getMongoFilters = function (filters) {
32
- var emptyFilters = {};
33
- if (_.isUndefined(filters)) {
34
- return emptyFilters;
35
- }
36
- if (_.isString(filters) && !filters.length) {
37
- return emptyFilters;
38
- }
39
- if (_.isArray(filters) && !filters.length) {
40
- return emptyFilters;
41
- }
42
- var mongoFilters = this.formatFiltersToMongoQuery(filters);
43
- return mongoFilters;
44
- };
45
- MetadataDriver.prototype.getMongoFieldsOptions = function (fields) {
46
- if (typeof fields == "string") {
47
- fields = (fields).split(",").map(function (n) { return n.trim(); });
48
- }
49
- if (!(fields && fields.length)) {
50
- return {};
51
- }
52
- var projection = {
53
- record_permissions: 1,
54
- is_system: 1,
55
- };
56
- (fields).forEach(function (field) {
57
- if (field) {
58
- projection[field] = 1;
28
+ if (apiName.length > 50) {
29
+ throw new Error("名称长度不能大于50个字符");
30
+ }
31
+ return true;
32
+ };
33
+ var MetadataDriver = (function (_super) {
34
+ tslib_1.__extends(MetadataDriver, _super);
35
+ function MetadataDriver(config) {
36
+ var _this = _super.call(this, config) || this;
37
+ _this.getAllObjects = function () {
38
+ var args_1 = [];
39
+ for (var _i = 0; _i < arguments.length; _i++) {
40
+ args_1[_i] = arguments[_i];
59
41
  }
60
- });
61
- return projection;
62
- };
63
- MetadataDriver.prototype.getMongoOptions = function (options) {
64
- if (_.isUndefined(options)) {
65
- return {};
66
- }
67
- var result = {};
68
- var projection = this.getMongoFieldsOptions(options.fields);
69
- var sort = this.getMongoSortOptions(options.sort);
70
- result.projection = projection;
71
- result.sort = sort;
72
- result.limit = options.top;
73
- result.skip = options.skip;
74
- return result;
75
- };
76
- MetadataDriver.prototype.getMongoSortOptions = function (sort) {
77
- var result = undefined;
78
- if (sort && typeof sort === "string") {
79
- var arraySort = sort.split(",").map(function (n) { return n.trim(); });
80
- var stringSort_1 = "";
81
- arraySort.forEach(function (n) {
82
- if (n) {
83
- stringSort_1 += "".concat(n, ",");
84
- }
42
+ return tslib_1.__awaiter(_this, tslib_1.__spreadArray([], tslib_1.__read(args_1), false), void 0, function (skipDBObjects) {
43
+ var objects, md5, result;
44
+ var _this = this;
45
+ if (skipDBObjects === void 0) { skipDBObjects = false; }
46
+ return tslib_1.__generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ if (this.cacher.objects &&
50
+ this.cacher.objects.time > new Date().getTime()) {
51
+ return [2, skipDBObjects
52
+ ? this.cacher.objects.noDBData
53
+ : this.cacher.objects.data];
54
+ }
55
+ return [4, (0, types_1.getAllObject)()];
56
+ case 1:
57
+ objects = _a.sent();
58
+ md5 = (0, util_1.getMD5)(JSON.stringify(objects));
59
+ if (this.cacher.objects.id === md5) {
60
+ this.cacher.objects.time = new Date().getTime() + 1000;
61
+ return [2, skipDBObjects
62
+ ? this.cacher.objects.noDBData
63
+ : this.cacher.objects.data];
64
+ }
65
+ result = _.compact(_.map(objects, function (metadataObject) {
66
+ var metadata = _this.translationObjectMetadata(metadataObject.metadata);
67
+ var obj = tslib_1.__assign({ __id: metadata._id, _id: metadata.name }, metadata);
68
+ delete obj.__filename;
69
+ delete obj.__timestamp;
70
+ return obj;
71
+ }));
72
+ this.cacher.objects = {
73
+ id: md5,
74
+ data: result,
75
+ noDBData: _.filter(result, function (item) {
76
+ return !item.__id;
77
+ }),
78
+ time: new Date().getTime() + 1000,
79
+ };
80
+ return [2, result];
81
+ }
82
+ });
85
83
  });
86
- stringSort_1 = stringSort_1.replace(/,$/g, "");
87
- result = odataV4Mongodb.createQuery("$orderby=".concat(stringSort_1)).sort;
88
- }
89
- return result;
90
- };
91
- MetadataDriver.prototype.getAggregateOptions = function (options) {
92
- if (_.isUndefined(options)) {
93
- return [];
94
- }
95
- var result = [];
96
- var projection = this.getMongoFieldsOptions(options.fields);
97
- var sort = this.getMongoSortOptions(options.sort);
98
- if (!_.isEmpty(projection)) {
99
- result.push({ $project: projection });
100
- }
101
- if (!_.isEmpty(sort)) {
102
- result.push({ $sort: sort });
103
- }
104
- if (options.skip) {
105
- result.push({ $skip: options.skip });
106
- }
107
- if (options.top) {
108
- result.push({ $limit: options.top });
84
+ };
85
+ _this.cacher = {
86
+ objects: {},
87
+ };
88
+ return _this;
89
+ }
90
+ MetadataDriver.prototype.addDefaultProps = function (records) {
91
+ if (!records) {
92
+ return records;
109
93
  }
110
- return result;
94
+ var results = records.map(function (obj) { return (tslib_1.__assign(tslib_1.__assign({}, obj), BASERECORD)); });
95
+ return results;
111
96
  };
112
97
  MetadataDriver.prototype.queryMetadata = function (collection, queryOptions, spaceId) {
113
98
  var mongoFilters = this.getMongoFilters(queryOptions.filters);
@@ -120,99 +105,318 @@ var MetadataDriver = (function () {
120
105
  spaceId = space;
121
106
  }
122
107
  }
123
- var _collection = clone(collection, false);
124
- _.each(_collection, function (item) {
108
+ _.each(collection, function (item) {
125
109
  try {
126
110
  if (!item.space && spaceId) {
127
111
  item.space = spaceId;
128
112
  }
129
113
  }
130
114
  catch (error) {
131
- console.error("metadata driver queryMetadata: ".concat(item, " is not json data"));
115
+ console.error("metadata driver queryMetadata: ".concat(item, " is not json data"), error);
132
116
  }
133
117
  });
134
118
  var mongoOptions = this.getMongoOptions(queryOptions);
135
119
  var query = new mingo.Query(mongoFilters);
136
- var projection = queryOptions.projection ? Object.assign({}, queryOptions.projection, {
137
- record_permissions: 1,
138
- is_system: 1,
139
- }) : null;
140
- var cursor = query.find(_collection, projection);
120
+ var projection = queryOptions.projection
121
+ ? Object.assign({}, queryOptions.projection, {
122
+ record_permissions: 1,
123
+ is_system: 1,
124
+ })
125
+ : null;
126
+ var cursor = query.find(collection, projection);
141
127
  if (mongoOptions.sort) {
142
128
  cursor.sort(mongoOptions.sort);
143
129
  }
144
130
  return cursor;
145
131
  };
146
- MetadataDriver.prototype.getSupportedColumnTypes = function () {
147
- throw new Error("Method not implemented.");
148
- };
149
- MetadataDriver.prototype.find = function (collection, query, spaceId) {
150
- var result = this.queryMetadata(collection, query, spaceId).all();
151
- return result;
152
- };
153
- MetadataDriver.prototype.aggregate = function (collection, query, externalPipeline, spaceId) {
154
- var result = this.queryMetadata(collection, query, spaceId).all();
155
- return result;
156
- };
157
- MetadataDriver.prototype.findOne = function (collection, id, query, spaceId) {
158
- throw new Error("Method not implemented.");
159
- };
160
- MetadataDriver.prototype.insert = function (collection, doc, spaceId) {
161
- throw new Error("Method not implemented.");
162
- };
163
- MetadataDriver.prototype.update = function (collection, id, doc, spaceId) {
164
- throw new Error("Method not implemented.");
165
- };
166
- MetadataDriver.prototype.updateOne = function (collection, id, doc, spaceId) {
167
- throw new Error("Method not implemented.");
168
- };
169
- MetadataDriver.prototype.updateMany = function (collection, queryFilters, doc, spaceId) {
170
- throw new Error("Method not implemented.");
171
- };
172
- MetadataDriver.prototype.delete = function (collection, id, spaceId) {
173
- throw new Error("Method not implemented.");
174
- };
175
- MetadataDriver.prototype.directUpdate = function (collection, id, doc, spaceId) {
176
- throw new Error("Method not implemented.");
177
- };
178
- MetadataDriver.prototype.directFind = function (collection, query, spaceId) {
179
- throw new Error("Method not implemented.");
180
- };
181
- MetadataDriver.prototype.directInsert = function (collection, doc, spaceId) {
182
- throw new Error("Method not implemented.");
183
- };
184
- MetadataDriver.prototype.directDelete = function (collection, id, spaceId) {
185
- throw new Error("Method not implemented.");
132
+ MetadataDriver.prototype.translationObjectMetadata = function (objectConfig, lng) {
133
+ if (!lng) {
134
+ lng = process.env.STEEDOS_DEFAULT_LANGUAGE
135
+ ? process.env.STEEDOS_DEFAULT_LANGUAGE
136
+ : "zh-CN";
137
+ }
138
+ var metadata = clone(objectConfig, false);
139
+ (0, i18n_1.translationObject)(lng, metadata.name, metadata, true);
140
+ return metadata;
186
141
  };
187
- MetadataDriver.prototype.directAggregate = function (collection, query, externalPipeline, spaceId) {
188
- throw new Error("Method not implemented.");
142
+ MetadataDriver.prototype.getCachedSources = function (tableName) {
143
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
144
+ var _a, objects2, fields_1, objects3, actions_1, objects3, list_views_1, allApps, _b, apps_1, configs, dataList;
145
+ return tslib_1.__generator(this, function (_c) {
146
+ switch (_c.label) {
147
+ case 0:
148
+ _a = tableName;
149
+ switch (_a) {
150
+ case "objects": return [3, 1];
151
+ case "object_fields": return [3, 3];
152
+ case "object_actions": return [3, 5];
153
+ case "object_listviews": return [3, 7];
154
+ case "apps": return [3, 9];
155
+ case "action_field_updates": return [3, 11];
156
+ case "workflow_notifications": return [3, 12];
157
+ case "workflow_outbound_messages": return [3, 13];
158
+ case "workflow_rule": return [3, 14];
159
+ case "queue_import": return [3, 15];
160
+ }
161
+ return [3, 17];
162
+ case 1: return [4, this.getAllObjects(true)];
163
+ case 2: return [2, _c.sent()];
164
+ case 3: return [4, this.getAllObjects()];
165
+ case 4:
166
+ objects2 = _c.sent();
167
+ fields_1 = [];
168
+ _.each(objects2, function (metadata) {
169
+ _.each(metadata.fields, function (field) {
170
+ if (field.hidden == true || field._id) {
171
+ return;
172
+ }
173
+ fields_1.push(tslib_1.__assign({ _id: "".concat(metadata.name, ".").concat(field.name), object: metadata.name }, field));
174
+ });
175
+ });
176
+ return [2, fields_1];
177
+ case 5: return [4, this.getAllObjects()];
178
+ case 6:
179
+ objects3 = _c.sent();
180
+ actions_1 = [];
181
+ _.each(objects3, function (metadata) {
182
+ _.each(metadata.actions, function (field) {
183
+ if (field._id) {
184
+ return;
185
+ }
186
+ actions_1.push(tslib_1.__assign({ _id: "".concat(metadata.name, ".").concat(field.name), object: metadata.name }, field));
187
+ });
188
+ });
189
+ return [2, actions_1];
190
+ case 7: return [4, this.getAllObjects()];
191
+ case 8:
192
+ objects3 = _c.sent();
193
+ list_views_1 = [];
194
+ _.each(objects3, function (metadata) {
195
+ _.each(metadata.list_views, function (list_view) {
196
+ if (list_view._id) {
197
+ return;
198
+ }
199
+ list_views_1.push(tslib_1.__assign({ _id: "".concat(metadata.name, ".").concat(list_view.name), object_name: metadata.name }, list_view));
200
+ });
201
+ });
202
+ return [2, list_views_1];
203
+ case 9:
204
+ _b = clone;
205
+ return [4, (0, types_1.getAppConfigs)()];
206
+ case 10:
207
+ allApps = _b.apply(void 0, [_c.sent()]);
208
+ apps_1 = [];
209
+ _.each(allApps, function (app) {
210
+ if (app.is_creator || app.mobile) {
211
+ apps_1.push(app);
212
+ }
213
+ });
214
+ (0, i18n_1.translationApps)("zh-CN", apps_1);
215
+ return [2, apps_1];
216
+ case 11:
217
+ {
218
+ return [2, (0, metadata_registrar_1.getAllActionFieldUpdates)()];
219
+ }
220
+ _c.label = 12;
221
+ case 12:
222
+ {
223
+ return [2, (0, metadata_registrar_1.getAllWorkflowNotifications)()];
224
+ }
225
+ _c.label = 13;
226
+ case 13:
227
+ {
228
+ return [2, (0, metadata_registrar_1.getWorkflowOutboundMessages)()];
229
+ }
230
+ _c.label = 14;
231
+ case 14:
232
+ {
233
+ return [2, (0, metadata_registrar_1.getAllWorkflowRules)()];
234
+ }
235
+ _c.label = 15;
236
+ case 15: return [4, metadata_registrar_1.registerImport.getAll(broker)];
237
+ case 16:
238
+ configs = _c.sent();
239
+ dataList = _.pluck(configs, "metadata");
240
+ _.each(dataList, function (item) {
241
+ if (!item._id) {
242
+ item._id = "".concat(item.name);
243
+ }
244
+ });
245
+ return [2, dataList];
246
+ case 17: return [3, 18];
247
+ case 18: return [2];
248
+ }
249
+ });
250
+ });
189
251
  };
190
- MetadataDriver.prototype.directAggregatePrefixalPipeline = function (collection, query, prefixalPipeline, spaceId) {
191
- throw new Error("Method not implemented.");
252
+ MetadataDriver.prototype.mixinSources = function (metaName_1) {
253
+ return tslib_1.__awaiter(this, arguments, void 0, function (metaName, dbSources, codeSources) {
254
+ var key, dbMap;
255
+ if (dbSources === void 0) { dbSources = []; }
256
+ if (codeSources === void 0) { codeSources = []; }
257
+ return tslib_1.__generator(this, function (_a) {
258
+ key = metaName === "apps" ? "_id" : "name";
259
+ dbMap = new Map(dbSources.map(function (item) { return [item[key], item]; }));
260
+ codeSources.forEach(function (item) {
261
+ if (!item._id) {
262
+ console.error("error: item._id is null");
263
+ }
264
+ if (!dbMap.has(item._id)) {
265
+ dbMap.set(item._id, item);
266
+ }
267
+ });
268
+ return [2, Array.from(dbMap.values())];
269
+ });
270
+ });
192
271
  };
193
- MetadataDriver.prototype.count = function (collection, query, spaceId) {
194
- var result = this.queryMetadata(collection, query, spaceId).count();
195
- return result;
272
+ MetadataDriver.prototype.find = function (tableName, query) {
273
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
274
+ var result, spaceId, cachedSources, sources, data;
275
+ return tslib_1.__generator(this, function (_a) {
276
+ switch (_a.label) {
277
+ case 0:
278
+ delete query.fields;
279
+ return [4, _super.prototype.find.call(this, tableName, query)];
280
+ case 1:
281
+ result = _a.sent();
282
+ spaceId = result.length > 0 ? result[0].space || null : null;
283
+ return [4, this.getCachedSources(tableName)];
284
+ case 2:
285
+ cachedSources = _a.sent();
286
+ return [4, this.mixinSources(tableName, result, this.addDefaultProps(cachedSources))];
287
+ case 3:
288
+ sources = _a.sent();
289
+ data = this.queryMetadata(sources, query, spaceId).all();
290
+ return [2, data];
291
+ }
292
+ });
293
+ });
196
294
  };
197
- MetadataDriver.prototype.dropEntities = function () {
198
- throw new Error("Method not implemented.");
295
+ MetadataDriver.prototype.directFind = function (tableName, query) {
296
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
297
+ var result;
298
+ return tslib_1.__generator(this, function (_a) {
299
+ switch (_a.label) {
300
+ case 0: return [4, _super.prototype.find.call(this, tableName, query)];
301
+ case 1:
302
+ result = _a.sent();
303
+ return [2, result];
304
+ }
305
+ });
306
+ });
199
307
  };
200
- MetadataDriver.prototype.registerEntities = function (objects) {
201
- throw new Error("Method not implemented.");
308
+ MetadataDriver.prototype.count = function (tableName, query) {
309
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
310
+ var result;
311
+ return tslib_1.__generator(this, function (_a) {
312
+ switch (_a.label) {
313
+ case 0: return [4, this.find(tableName, query)];
314
+ case 1:
315
+ result = _a.sent();
316
+ return [2, result.length];
317
+ }
318
+ });
319
+ });
202
320
  };
203
- MetadataDriver.prototype.dropTables = function () {
204
- throw new Error("Method not implemented.");
321
+ MetadataDriver.prototype.insert = function (tableName, doc) {
322
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
323
+ var nameValue, result;
324
+ return tslib_1.__generator(this, function (_a) {
325
+ switch (_a.label) {
326
+ case 0:
327
+ nameValue = tableName === "apps" ? doc.code : doc.name;
328
+ if (nameValue && tableName != "permission_objects") {
329
+ isAPIName(nameValue);
330
+ }
331
+ return [4, _super.prototype.insert.call(this, tableName, doc)];
332
+ case 1:
333
+ result = _a.sent();
334
+ return [4, broker.call("b6-metadata.inserted", {
335
+ type: tableName,
336
+ data: result,
337
+ })];
338
+ case 2:
339
+ _a.sent();
340
+ return [2, result];
341
+ }
342
+ });
343
+ });
205
344
  };
206
- MetadataDriver.prototype.createTables = function (objects) {
207
- throw new Error("Method not implemented.");
345
+ MetadataDriver.prototype.update = function (tableName, id, data) {
346
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
347
+ var nameValue, result;
348
+ return tslib_1.__generator(this, function (_a) {
349
+ switch (_a.label) {
350
+ case 0:
351
+ nameValue = tableName === "apps" ? data.code : data.name;
352
+ if (nameValue && tableName != "permission_objects") {
353
+ isAPIName(nameValue);
354
+ }
355
+ return [4, _super.prototype.update.call(this, tableName, id, data)];
356
+ case 1:
357
+ result = _a.sent();
358
+ return [4, broker.call("b6-metadata.updated", {
359
+ type: tableName,
360
+ id: id,
361
+ data: result,
362
+ })];
363
+ case 2:
364
+ _a.sent();
365
+ return [2, result];
366
+ }
367
+ });
368
+ });
208
369
  };
209
- MetadataDriver.prototype.init = function (objects) {
210
- throw new Error("Method not implemented.");
370
+ MetadataDriver.prototype.delete = function (tableName, id) {
371
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
372
+ var record, result;
373
+ return tslib_1.__generator(this, function (_a) {
374
+ switch (_a.label) {
375
+ case 0: return [4, _super.prototype.findOne.call(this, tableName, id, {})];
376
+ case 1:
377
+ record = _a.sent();
378
+ return [4, _super.prototype.delete.call(this, tableName, id)];
379
+ case 2:
380
+ result = _a.sent();
381
+ if (!record) return [3, 4];
382
+ return [4, broker.call("b6-metadata.deleted", {
383
+ type: tableName,
384
+ id: id,
385
+ data: record,
386
+ })];
387
+ case 3:
388
+ _a.sent();
389
+ _a.label = 4;
390
+ case 4: return [2, result];
391
+ }
392
+ });
393
+ });
211
394
  };
212
- MetadataDriver.prototype._makeNewID = function (tableName) {
213
- throw new Error("Method not implemented.");
395
+ MetadataDriver.prototype.findOne = function (collection, id, query, spaceId) {
396
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
397
+ var filters, records;
398
+ return tslib_1.__generator(this, function (_a) {
399
+ switch (_a.label) {
400
+ case 0:
401
+ filters = [];
402
+ if (_.isString(id)) {
403
+ filters = ["_id", "=", id];
404
+ }
405
+ else if (_.isArray(id)) {
406
+ filters = id;
407
+ }
408
+ else if (_.has(id, "filters")) {
409
+ filters = id.filters;
410
+ }
411
+ return [4, this.find(collection, { filters: filters })];
412
+ case 1:
413
+ records = _a.sent();
414
+ return [2, records.length > 0 ? records[0] : null];
415
+ }
416
+ });
417
+ });
214
418
  };
215
419
  return MetadataDriver;
216
- }());
420
+ }(_1.SteedosMongoDriver));
217
421
  exports.MetadataDriver = MetadataDriver;
218
422
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/driver/metadata.ts"],"names":[],"mappings":";;;AAKA,6BAAgC;AAChC,iDAAoD;AACpD,0DAA6D;AAC7D,6BAAgC;AAChC,8BAAiC;AAEjC;IAAA;IAkOA,CAAC;IA/NG,gCAAO,GAAP;IAEA,CAAC;IACD,8BAAK,GAAL;IAEA,CAAC;IAED,kDAAyB,GAAzB,UAA0B,OAAO;QAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrB,UAAU,GAAG,OAAO,CAAC;SACxB;aACI;YACD,UAAU,GAAG,cAAc,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA;SACjE;QACD,IAAG,CAAC,UAAU,EAAC;YACX,OAAO,YAAY,CAAC;SACvB;QACD,IAAI,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,wCAAe,GAAf,UAAgB,OAAO;QACnB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,YAAY,CAAC;SACvB;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACxC,OAAO,YAAY,CAAA;SACtB;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACvC,OAAO,YAAY,CAAA;SACtB;QACD,IAAI,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC3D,OAAO,YAAY,CAAA;IACvB,CAAC;IAED,8CAAqB,GAArB,UAAsB,MAAM;QACxB,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;YAC3B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAO,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;YAC5B,OAAO,EAAE,CAAA;SACZ;QACD,IAAI,UAAU,GAAG;YACb,kBAAkB,EAAE,CAAC;YACrB,SAAS,EAAE,CAAC;SACf,CAAC;QACF,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK;YACnB,IAAI,KAAK,EAAE;gBACP,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,wCAAe,GAAf,UAAgB,OAAO;QACnB,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,EAAE,CAAC;SACb;QACD,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;QAC3B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,4CAAmB,GAAnB,UAAoB,IAAI;QACpB,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAClC,IAAI,SAAS,GAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAO,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,YAAU,GAAG,EAAE,CAAC;YACpB,SAAS,CAAC,OAAO,CAAC,UAAC,CAAC;gBAChB,IAAI,CAAC,EAAE;oBACH,YAAU,IAAI,UAAG,CAAC,MAAG,CAAA;iBACxB;YACL,CAAC,CAAC,CAAC;YACH,YAAU,GAAG,YAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,mBAAY,YAAU,CAAE,CAAC,CAAC,IAAI,CAAC;SACtE;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,4CAAmB,GAAnB,UAAoB,OAAO;QACvB,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YACxB,OAAO,EAAE,CAAC;SACb;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAChC;QACD,IAAI,OAAO,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;SACxC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;SACxC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,sCAAa,GAAb,UAAc,UAAU,EAAE,YAAY,EAAE,OAAO;QAC3C,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE;YAEV,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACzC,IAAM,KAAK,GAAG,mBAAmB,CAAC;YAClC,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACtC,IAAI,KAAK,EAAE;gBACP,OAAO,GAAG,KAAK,CAAC;aACnB;SACJ;QACD,IAAM,WAAW,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,UAAS,IAAI;YAC7B,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE;oBACxB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;iBACxB;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,yCAAkC,IAAI,sBAAmB,CAAC,CAAC;aAC5E;QACL,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAGtD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACzC,IAAI,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,UAAU,EAAE;YAClF,kBAAkB,EAAE,CAAC;YACrB,SAAS,EAAE,CAAC;SACf,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACV,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjD,IAAG,YAAY,CAAC,IAAI,EAAC;YACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;SACjC;QAOD,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,gDAAuB,GAAvB;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,6BAAI,GAAJ,UAAK,UAAe,EAAE,KAA0B,EAAE,OAAuB;QACrE,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,kCAAS,GAAT,UAAU,UAAe,EAAE,KAA0B,EAAE,gBAAqB,EAAE,OAAuB;QACjG,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QACpE,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,gCAAO,GAAP,UAAQ,UAAe,EAAE,EAAiB,EAAE,KAA0B,EAAE,OAAuB;QAC3F,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,+BAAM,GAAN,UAAO,UAAe,EAAE,GAAoB,EAAE,OAAuB;QACjE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,+BAAM,GAAN,UAAO,UAAe,EAAE,EAAuC,EAAE,GAAoB,EAAE,OAAuB;QAC1G,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,kCAAS,GAAT,UAAU,UAAe,EAAE,EAAuC,EAAE,GAAoB,EAAE,OAAuB;QAC7G,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAU,GAAV,UAAY,UAAe,EAAE,YAAiB,EAAE,GAAoB,EAAE,OAAuB;QACzF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,+BAAM,GAAN,UAAO,UAAe,EAAE,EAAuC,EAAE,OAAuB;QACpF,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,qCAAY,GAAZ,UAAa,UAAe,EAAE,EAAuC,EAAE,GAAoB,EAAE,OAAuB;QAChH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAU,GAAV,UAAW,UAAe,EAAE,KAA0B,EAAE,OAAuB;QAC3E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,qCAAY,GAAZ,UAAa,UAAe,EAAE,GAAoB,EAAE,OAAuB;QACvE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,qCAAY,GAAZ,UAAa,UAAe,EAAE,EAAuC,EAAE,OAAuB;QAC1F,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,wCAAe,GAAf,UAAiB,UAAe,EAAE,KAA0B,EAAE,gBAAqB,EAAE,OAAuB;QACxG,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,wDAA+B,GAA/B,UAAiC,UAAe,EAAE,KAA0B,EAAE,gBAAqB,EAAE,OAAuB;QACxH,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,8BAAK,GAAL,UAAM,UAAe,EAAE,KAA0B,EAAE,OAAuB;QACtE,IAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACtE,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,qCAAY,GAAZ;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,yCAAgB,GAAhB,UAAkB,OAAsC;QACpD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAU,GAAV;QACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,qCAAY,GAAZ,UAAc,OAAsC;QAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,6BAAI,GAAJ,UAAK,OAAsC;QACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAU,GAAV,UAAY,SAAkB;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEL,qBAAC;AAAD,CAAC,AAlOD,IAkOC;AAlOY,wCAAc"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/driver/metadata.ts"],"names":[],"mappings":"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"}