@steedos/objectql 2.2.51-beta.1 → 2.2.51-beta.2

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 (134) hide show
  1. package/package.json +10 -10
  2. package/src/actions/field_updates.ts +0 -118
  3. package/src/actions/index.ts +0 -3
  4. package/src/actions/types/field_update_target.ts +0 -7
  5. package/src/actions/types/workflow_notification.ts +0 -9
  6. package/src/actions/types/workflow_rule.ts +0 -11
  7. package/src/actions/workflow_notifications.ts +0 -81
  8. package/src/actions/workflow_rule.ts +0 -136
  9. package/src/driver/driver.ts +0 -102
  10. package/src/driver/field-encrytion/index.ts +0 -8
  11. package/src/driver/field-encrytion/sharedconst.ts +0 -34
  12. package/src/driver/fieldDBType.ts +0 -14
  13. package/src/driver/format.ts +0 -36
  14. package/src/driver/index.ts +0 -20
  15. package/src/driver/metadata.ts +0 -226
  16. package/src/driver/meteorMongo.ts +0 -639
  17. package/src/driver/mongo.ts +0 -416
  18. package/src/driver/mysql.ts +0 -47
  19. package/src/driver/oracle.ts +0 -60
  20. package/src/driver/postgres.ts +0 -46
  21. package/src/driver/sqlite3.ts +0 -40
  22. package/src/driver/sqlserver.ts +0 -52
  23. package/src/dynamic-load/actions.ts +0 -146
  24. package/src/dynamic-load/approval_process.ts +0 -73
  25. package/src/dynamic-load/button.ts +0 -75
  26. package/src/dynamic-load/chart.ts +0 -22
  27. package/src/dynamic-load/client_script.ts +0 -65
  28. package/src/dynamic-load/field.ts +0 -77
  29. package/src/dynamic-load/flow_role.ts +0 -46
  30. package/src/dynamic-load/index.ts +0 -21
  31. package/src/dynamic-load/layout.ts +0 -53
  32. package/src/dynamic-load/listview.ts +0 -57
  33. package/src/dynamic-load/method.ts +0 -63
  34. package/src/dynamic-load/object_translations.ts +0 -61
  35. package/src/dynamic-load/originalObject.ts +0 -8
  36. package/src/dynamic-load/package.ts +0 -312
  37. package/src/dynamic-load/page.ts +0 -23
  38. package/src/dynamic-load/permission.ts +0 -71
  39. package/src/dynamic-load/permissionset.ts +0 -78
  40. package/src/dynamic-load/preload_data.ts +0 -104
  41. package/src/dynamic-load/profile.ts +0 -90
  42. package/src/dynamic-load/query.ts +0 -22
  43. package/src/dynamic-load/restrictionRules.ts +0 -23
  44. package/src/dynamic-load/role.ts +0 -46
  45. package/src/dynamic-load/shareRules.ts +0 -23
  46. package/src/dynamic-load/tab.ts +0 -17
  47. package/src/dynamic-load/tabs.ts +0 -13
  48. package/src/dynamic-load/translations.ts +0 -54
  49. package/src/dynamic-load/trigger.ts +0 -236
  50. package/src/dynamic-load/validation_rule.ts +0 -77
  51. package/src/dynamic-load/workflow.ts +0 -114
  52. package/src/errors/index.ts +0 -111
  53. package/src/formula/core.ts +0 -490
  54. package/src/formula/field_formula.ts +0 -107
  55. package/src/formula/index.ts +0 -81
  56. package/src/formula/params.ts +0 -197
  57. package/src/formula/recompute.ts +0 -65
  58. package/src/formula/simple_params.ts +0 -92
  59. package/src/formula/type.ts +0 -107
  60. package/src/formula/util.ts +0 -207
  61. package/src/index.ts +0 -24
  62. package/src/metadata-register/_base.ts +0 -85
  63. package/src/metadata-register/app.ts +0 -30
  64. package/src/metadata-register/chart.ts +0 -9
  65. package/src/metadata-register/index.ts +0 -123
  66. package/src/metadata-register/layout.ts +0 -38
  67. package/src/metadata-register/object.ts +0 -68
  68. package/src/metadata-register/page.ts +0 -9
  69. package/src/metadata-register/permissionFields.ts +0 -13
  70. package/src/metadata-register/permissionset.ts +0 -25
  71. package/src/metadata-register/process.ts +0 -16
  72. package/src/metadata-register/processTrigger.ts +0 -24
  73. package/src/metadata-register/profile.ts +0 -25
  74. package/src/metadata-register/query.ts +0 -9
  75. package/src/metadata-register/restrictionRules.ts +0 -12
  76. package/src/metadata-register/shareRules.ts +0 -13
  77. package/src/metadata-register/tab.ts +0 -9
  78. package/src/metadata-register/tabs.ts +0 -43
  79. package/src/services/datasourceServiceFactory.ts +0 -55
  80. package/src/services/helpers/graphql/consts.ts +0 -25
  81. package/src/services/helpers/graphql/getPrimaryFieldType.ts +0 -48
  82. package/src/services/helpers/graphql/getQueryFields.ts +0 -51
  83. package/src/services/helpers/graphql/index.ts +0 -666
  84. package/src/services/helpers/rest.ts +0 -57
  85. package/src/services/index.ts +0 -13
  86. package/src/services/objectService.ts +0 -846
  87. package/src/services/objectServiceDispatcher.ts +0 -209
  88. package/src/services/objectServiceFactory.ts +0 -29
  89. package/src/summary/core.ts +0 -263
  90. package/src/summary/field_summary.ts +0 -71
  91. package/src/summary/index.ts +0 -96
  92. package/src/summary/recompute.ts +0 -31
  93. package/src/summary/type.ts +0 -60
  94. package/src/ts-types/index.ts +0 -3
  95. package/src/ts-types/permissionset.ts +0 -8
  96. package/src/ts-types/profile.ts +0 -11
  97. package/src/ts-types/triggerActionParams.ts +0 -22
  98. package/src/typeorm/driver.ts +0 -379
  99. package/src/typeorm/index.ts +0 -3
  100. package/src/typeorm/util.ts +0 -147
  101. package/src/types/action.ts +0 -52
  102. package/src/types/app.ts +0 -280
  103. package/src/types/config.ts +0 -152
  104. package/src/types/connection.ts +0 -87
  105. package/src/types/dashboard.ts +0 -91
  106. package/src/types/datasource.ts +0 -570
  107. package/src/types/field.ts +0 -370
  108. package/src/types/field_permission.ts +0 -42
  109. package/src/types/field_types.ts +0 -1
  110. package/src/types/index.ts +0 -21
  111. package/src/types/list_view.ts +0 -56
  112. package/src/types/listeners.ts +0 -18
  113. package/src/types/object.ts +0 -2076
  114. package/src/types/object_dynamic_load.ts +0 -426
  115. package/src/types/object_events.ts +0 -43
  116. package/src/types/object_layouts.ts +0 -20
  117. package/src/types/object_permission.ts +0 -134
  118. package/src/types/query.ts +0 -28
  119. package/src/types/report.ts +0 -128
  120. package/src/types/restrictionRule.ts +0 -57
  121. package/src/types/schema.ts +0 -273
  122. package/src/types/shareRule.ts +0 -57
  123. package/src/types/trigger.ts +0 -88
  124. package/src/types/userSession.ts +0 -45
  125. package/src/types/validation_rules.ts +0 -29
  126. package/src/util/convert.ts +0 -131
  127. package/src/util/field.ts +0 -93
  128. package/src/util/function_expression.ts +0 -63
  129. package/src/util/index.ts +0 -1066
  130. package/src/util/locale.ts +0 -24
  131. package/src/util/permission_shares.ts +0 -25
  132. package/src/util/suffix.ts +0 -78
  133. package/src/util/transform.ts +0 -239
  134. package/src/validators/index.ts +0 -36
@@ -1,24 +0,0 @@
1
-
2
-
3
- /**
4
- * Returns the locale string of the user locale
5
- */
6
- export const getLocale = (userLocale: string) => {
7
- let locale: string;
8
- if (userLocale === 'zh-cn') {
9
- locale = "zh-CN";
10
- } else if (userLocale == 'en-us') {
11
- locale = "en";
12
- } else {
13
- locale = "zh-CN";
14
- }
15
- return locale;
16
- }
17
-
18
- /**
19
- * Returns the locale string of the user
20
- */
21
- export const getUserLocale = (user: any) => {
22
- let userLocale = user && user.locale && user.locale.toLocaleLowerCase();
23
- return getLocale(userLocale);
24
- }
@@ -1,25 +0,0 @@
1
- import { SteedosUserSession, getConfig } from '..';
2
- const _ = require('underscore');
3
-
4
-
5
- export function getUserObjectSharesFilters(object_name: string, userSession: SteedosUserSession){
6
- let sharesFilters = []
7
- if(userSession){
8
- _.each(_.filter(userSession.permission_shares, (permission_share)=>{
9
- let shareObjectName = permission_share.object_name;
10
- if(_.isString(shareObjectName)){
11
- return shareObjectName === object_name
12
- }
13
- if(_.isArray(shareObjectName)){
14
- return _.contains(shareObjectName, object_name);
15
- }
16
- return false
17
- }), function(share){
18
- let shareDoc = getConfig('permission_shares', share._id);
19
- if(!_.isEmpty(shareDoc.filters)){
20
- sharesFilters.push(`(${shareDoc.filters})`)
21
- }
22
- })
23
- }
24
- return sharesFilters;
25
- }
@@ -1,78 +0,0 @@
1
- const validator = require('validator');
2
- //TODO 将此代码转移到license项目
3
- const customObjectNameSuffix = '__c';
4
- const customFieldNameSuffix = '__c';
5
- declare var Steedos: any;
6
-
7
- function standardObject(spaceId){
8
- return validator.toBoolean(process.env.DEVELOPER_STANDARD_OBJECTS || 'false', true) && Steedos.hasFeatureSync('platform_ee.standard_object', spaceId);
9
- }
10
-
11
- export const getObjectSuffix = (spaceId: string, internal?: boolean)=>{
12
- if(internal){
13
- return customObjectNameSuffix
14
- }
15
-
16
- if(standardObject(spaceId)){
17
- return '';
18
- }
19
- return customObjectNameSuffix;
20
- }
21
-
22
- export const hasObjectSuffix = (objectName: string, spaceId: string, internal?: boolean)=>{
23
- let suffix = getObjectSuffix(spaceId, internal);
24
- if(!suffix){
25
- return false;
26
- }
27
- return objectName.endsWith(suffix);
28
- }
29
-
30
- export const _makeNewObjectName = (objectName: string, spaceId: string, oldObjectName?: string)=>{
31
- if(!oldObjectName){
32
- return `${objectName}${getObjectSuffix(spaceId)}`
33
- }else{
34
- if(oldObjectName.endsWith(customObjectNameSuffix)){
35
- if(!objectName.endsWith(customObjectNameSuffix)){
36
- return `${objectName}${customObjectNameSuffix}`
37
- }else{
38
- return `${objectName}`
39
- }
40
- }else{
41
- return `${objectName}`
42
- }
43
- }
44
- }
45
-
46
- export const getFieldSuffix = (spaceId: string, internal?: boolean)=>{
47
- if(internal){
48
- return customFieldNameSuffix
49
- }
50
- if(standardObject(spaceId)){
51
- return '';
52
- }
53
- return customFieldNameSuffix;
54
- }
55
-
56
- export const hasFieldSuffix = (fieldName: string, spaceId: string, internal?: boolean)=>{
57
- let suffix = getFieldSuffix(spaceId, internal);
58
- if(!suffix){
59
- return false;
60
- }
61
- return fieldName.endsWith(suffix);
62
- }
63
-
64
- export const _makeNewFieldName = (fieldName: string, spaceId: string, oldFieldName?: string)=>{
65
- if(!oldFieldName){
66
- return `${fieldName}${getFieldSuffix(spaceId)}`
67
- }else{
68
- if(oldFieldName.endsWith(customFieldNameSuffix)){
69
- if(!fieldName.endsWith(customFieldNameSuffix)){
70
- return `${fieldName}${customFieldNameSuffix}`
71
- }else{
72
- return `${fieldName}`
73
- }
74
- }else{
75
- return `${fieldName}`
76
- }
77
- }
78
- }
@@ -1,239 +0,0 @@
1
- import { SteedosListenerConfig, getObject, SteedosObjectTypeConfig } from '../types'
2
- import { wrapAsync } from './index'
3
- import _ = require("underscore");
4
- import { SteedosTriggerContextConfig } from '../types/trigger';
5
- import { TriggerActionParams } from '../ts-types';
6
- const ENUM_WHEN = ['beforeFind', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterFind', 'afterCount', 'afterFindOne', 'afterInsert', 'afterUpdate', 'afterDelete']
7
-
8
- function getBaseContext(object: SteedosObjectTypeConfig) {
9
- return {
10
- object_name: object.name,
11
- datasource_name: object.datasource,
12
- getObject
13
- }
14
- }
15
-
16
- function getTriggerWhen(when: string) {
17
- switch (when) {
18
- case 'beforeFind':
19
- return 'before.find';
20
- case 'beforeInsert':
21
- return 'before.insert';
22
- case 'beforeUpdate':
23
- return 'before.update';
24
- case 'beforeDelete':
25
- return 'before.remove';
26
- case 'afterFind':
27
- return 'after.find';
28
- case 'afterCount':
29
- return 'after.count'
30
- case 'afterFindOne':
31
- return 'after.findOne';
32
- case 'afterInsert':
33
- return 'after.insert';
34
- case 'afterUpdate':
35
- return 'after.update';
36
- case 'afterDelete':
37
- return 'after.remove';
38
- default:
39
- return when
40
- }
41
- }
42
-
43
- function transformListenerToTrigger(object: SteedosObjectTypeConfig, when: string, todo: Function, json) {
44
- let trigger: any = {
45
- on: 'server',
46
- when: getTriggerWhen(when),
47
- todo: transformTrigger(object, when, todo),
48
- metadataServiceName: json.metadataServiceName
49
- }
50
-
51
- if (json._id) {
52
- trigger._id = json._id
53
- }
54
- return trigger
55
- }
56
-
57
- function proxyBeforeFind(trigger: Function, baseContext) {
58
- return function (userId, selector, options) {
59
- return wrapAsync(trigger, Object.assign({ userId, spaceId: selector.space, selector, options }, baseContext));
60
- }
61
- }
62
-
63
- function proxyBeforeInsert(trigger: Function, baseContext) {
64
- return function (userId, doc) {
65
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, doc }, baseContext));
66
- }
67
- }
68
-
69
- function proxyBeforeUpdate(trigger: Function, baseContext) {
70
- return function (userId, doc, fieldNames, modifier, options) {
71
- return wrapAsync(trigger, Object.assign({ userId: userId, spaceId: doc.space, id: doc._id, doc: modifier.$set, getObject: getObject }, baseContext))
72
- }
73
- }
74
-
75
- function proxyBeforeDelete(trigger: Function, baseContext) {
76
- return function (userId, doc) {
77
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, id: doc._id }, baseContext))
78
- }
79
- }
80
-
81
- function proxyAfterFind(trigger: Function, baseContext) {
82
- return function (userId, doc) {
83
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, id: doc._id }, baseContext))
84
- }
85
- }
86
- function proxyAfterCount(trigger: Function, baseContext) {
87
- return function (userId, doc) {
88
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, id: doc._id }, baseContext))
89
- }
90
- }
91
-
92
- function proxyAfterFindOne(trigger: Function, baseContext) {
93
- return function (userId, doc) {
94
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, id: doc._id }, baseContext))
95
- }
96
- }
97
-
98
- function proxyAfterInsert(trigger: Function, baseContext) {
99
- return function (userId, doc) {
100
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, doc }, baseContext));
101
- }
102
- }
103
-
104
- function proxyAfterUpdate(trigger: Function, baseContext) {
105
- return function (userId, doc, fieldNames, modifier, options) {
106
- return wrapAsync(trigger, Object.assign({ userId: userId, spaceId: doc.space, id: doc._id, doc: modifier.$set, previousDoc: this.previous }, baseContext))
107
- }
108
- }
109
-
110
- function proxyAfterDelete(trigger: Function, baseContext) {
111
- return function (userId, doc) {
112
- return wrapAsync(trigger, Object.assign({ userId, spaceId: doc.space, id: doc._id, previousDoc: doc }, baseContext))
113
- }
114
- }
115
-
116
- function transformTrigger(object: SteedosObjectTypeConfig, when: string, trigger: Function) {
117
- if (trigger.length == 0) {
118
- let baseContext = getBaseContext(object);
119
- switch (when) {
120
- case 'beforeFind':
121
- return proxyBeforeFind(trigger, baseContext)
122
- case 'beforeInsert':
123
- return proxyBeforeInsert(trigger, baseContext)
124
- case 'beforeUpdate':
125
- return proxyBeforeUpdate(trigger, baseContext)
126
- case 'beforeDelete':
127
- return proxyBeforeDelete(trigger, baseContext)
128
- case 'afterFind':
129
- return proxyAfterFind(trigger, baseContext)
130
- case 'afterCount':
131
- return proxyAfterCount(trigger, baseContext)
132
- case 'afterFindOne':
133
- return proxyAfterFindOne(trigger, baseContext)
134
- case 'afterInsert':
135
- return proxyAfterInsert(trigger, baseContext)
136
- case 'afterUpdate':
137
- return proxyAfterUpdate(trigger, baseContext)
138
- case 'afterDelete':
139
- return proxyAfterDelete(trigger, baseContext)
140
- default:
141
- break;
142
- }
143
- }
144
- return trigger;
145
- }
146
-
147
- export function transformListenersToTriggers(object: SteedosObjectTypeConfig, json: SteedosListenerConfig) {
148
- let triggerPrefix = json.name
149
- let triggers = {}
150
- _.each(ENUM_WHEN, (_when) => {
151
- if (json[_when]) {
152
- triggers[`${triggerPrefix}_${_when}`] = transformListenerToTrigger(object, _when, json[_when], json)
153
- }
154
- })
155
- return triggers;
156
- }
157
-
158
- export function generateActionParams(when: string, context: SteedosTriggerContextConfig): TriggerActionParams {
159
- let params: TriggerActionParams = { objectName: context.objectName, isExecuting: true, userId: context.userId, spaceId: context.spaceId };
160
- switch (when) {
161
- case 'before.find':
162
- params.isBefore = true;
163
- params.operationType = 'BEFORE_FIND';
164
- break;
165
- case 'before.aggregate':
166
- params.isBefore = true;
167
- params.operationType = 'BEFORE_AGGREGATE';
168
- break;
169
- case 'before.insert':
170
- params.isBefore = true;
171
- params.isInsert = true;
172
- params.new = [context.doc];
173
- params.newMap = [context.id];
174
- params.operationType = 'BEFORE_INSERT';
175
- params.size = 1;
176
- break;
177
- case 'before.update':
178
- params.isBefore = true;
179
- params.isUpdate = true;
180
- params.new = [context.doc];
181
- params.newMap = [context.id];
182
- params.operationType = 'BEFORE_UPDATE';
183
- params.size = 1;
184
- break;
185
- case 'before.delete':
186
- params.isBefore = true;
187
- params.isDelete = true;
188
- params.old = [context.doc];
189
- params.oldMap = [context.id];
190
- params.operationType = 'BEFORE_DELETE';
191
- params.size = 1;
192
- break;
193
- case 'after.find':
194
- params.isAfter = true;
195
- params.operationType = 'AFTER_FIND';
196
- break;
197
- case 'after.aggregate':
198
- params.isAfter = true;
199
- params.operationType = 'AFTER_AGGREGATE';
200
- break;
201
- case 'after.count':
202
- params.isAfter = true;
203
- params.operationType = 'AFTER_COUNT';
204
- break;
205
- case 'after.findOne':
206
- params.isAfter = true;
207
- params.operationType = 'AFTER_FINDONE';
208
- break;
209
- case 'after.insert':
210
- params.isAfter = true;
211
- params.isInsert = true;
212
- params.new = [context.doc];
213
- params.newMap = [context.id];
214
- params.operationType = 'AFTER_INSERT';
215
- params.size = 1;
216
- break;
217
- case 'after.update':
218
- params.isAfter = true;
219
- params.isExecuting = true;
220
- params.new = [context.doc];
221
- params.newMap = [context.id];
222
- params.old = [context.previousDoc];
223
- params.oldMap = [context.id];
224
- params.operationType = 'AFTER_UPDATE';
225
- params.size = 1;
226
- break;
227
- case 'after.delete':
228
- params.isAfter = true;
229
- params.isDelete = true;
230
- params.old = [context.previousDoc];
231
- params.oldMap = [context.id];
232
- params.operationType = 'AFTER_DELETE';
233
- params.size = 1;
234
- break;
235
- default:
236
- break;
237
- }
238
- return params;
239
- }
@@ -1,36 +0,0 @@
1
- var util = require("../util");
2
- var jsen = require("jsen");
3
- var path = require("path");
4
-
5
- import { Dictionary, JsonMap, getString } from '@salesforce/ts-types';
6
-
7
-
8
- export const Validators: Dictionary<any> = {}
9
- export const ValidatorManager = {
10
-
11
- loadFile: (filePath: string) => {
12
- let json: JsonMap = util.loadFile(filePath);
13
- return ValidatorManager.loadJSON(json);
14
- },
15
-
16
- loadJSON(schema: JsonMap) {
17
- let _id = getString(schema, "id") || getString(schema, "name");
18
- if (_id) {
19
- if(schema){
20
- schema.properties['__filename'] = { type: 'string' }
21
- }
22
- Validators[_id] = jsen(schema);
23
- }
24
- return schema;
25
- },
26
-
27
- remove(id: string) {
28
- if (Validators.id)
29
- delete Validators.id
30
- },
31
- }
32
-
33
-
34
- export const loadCoreValidators = () => {
35
- ValidatorManager.loadFile(path.resolve(path.dirname(require.resolve("@steedos/schemas")), "./object/schema.json"));
36
- }