@steedos/objectql 2.2.50 → 2.2.51-beta.4

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 (143) hide show
  1. package/lib/services/helpers/graphql/consts.d.ts +17 -0
  2. package/lib/services/helpers/graphql/consts.js +28 -0
  3. package/lib/services/helpers/graphql/consts.js.map +1 -0
  4. package/lib/services/helpers/graphql/getQueryFields.js +17 -2
  5. package/lib/services/helpers/graphql/getQueryFields.js.map +1 -1
  6. package/lib/services/helpers/graphql/index.d.ts +1 -1
  7. package/lib/services/helpers/graphql/index.js +31 -46
  8. package/lib/services/helpers/graphql/index.js.map +1 -1
  9. package/lib/util/index.js +7 -0
  10. package/lib/util/index.js.map +1 -1
  11. package/package.json +11 -12
  12. package/src/actions/field_updates.ts +0 -118
  13. package/src/actions/index.ts +0 -3
  14. package/src/actions/types/field_update_target.ts +0 -7
  15. package/src/actions/types/workflow_notification.ts +0 -9
  16. package/src/actions/types/workflow_rule.ts +0 -11
  17. package/src/actions/workflow_notifications.ts +0 -81
  18. package/src/actions/workflow_rule.ts +0 -136
  19. package/src/driver/driver.ts +0 -102
  20. package/src/driver/field-encrytion/index.ts +0 -8
  21. package/src/driver/field-encrytion/sharedconst.ts +0 -34
  22. package/src/driver/fieldDBType.ts +0 -14
  23. package/src/driver/format.ts +0 -36
  24. package/src/driver/index.ts +0 -20
  25. package/src/driver/metadata.ts +0 -226
  26. package/src/driver/meteorMongo.ts +0 -639
  27. package/src/driver/mongo.ts +0 -416
  28. package/src/driver/mysql.ts +0 -47
  29. package/src/driver/oracle.ts +0 -60
  30. package/src/driver/postgres.ts +0 -46
  31. package/src/driver/sqlite3.ts +0 -40
  32. package/src/driver/sqlserver.ts +0 -52
  33. package/src/dynamic-load/actions.ts +0 -146
  34. package/src/dynamic-load/approval_process.ts +0 -73
  35. package/src/dynamic-load/button.ts +0 -75
  36. package/src/dynamic-load/chart.ts +0 -22
  37. package/src/dynamic-load/client_script.ts +0 -65
  38. package/src/dynamic-load/field.ts +0 -77
  39. package/src/dynamic-load/flow_role.ts +0 -46
  40. package/src/dynamic-load/index.ts +0 -21
  41. package/src/dynamic-load/layout.ts +0 -53
  42. package/src/dynamic-load/listview.ts +0 -57
  43. package/src/dynamic-load/method.ts +0 -63
  44. package/src/dynamic-load/object_translations.ts +0 -61
  45. package/src/dynamic-load/originalObject.ts +0 -8
  46. package/src/dynamic-load/package.ts +0 -312
  47. package/src/dynamic-load/page.ts +0 -23
  48. package/src/dynamic-load/permission.ts +0 -71
  49. package/src/dynamic-load/permissionset.ts +0 -78
  50. package/src/dynamic-load/preload_data.ts +0 -104
  51. package/src/dynamic-load/profile.ts +0 -90
  52. package/src/dynamic-load/query.ts +0 -22
  53. package/src/dynamic-load/restrictionRules.ts +0 -23
  54. package/src/dynamic-load/role.ts +0 -46
  55. package/src/dynamic-load/shareRules.ts +0 -23
  56. package/src/dynamic-load/tab.ts +0 -17
  57. package/src/dynamic-load/tabs.ts +0 -13
  58. package/src/dynamic-load/translations.ts +0 -54
  59. package/src/dynamic-load/trigger.ts +0 -236
  60. package/src/dynamic-load/validation_rule.ts +0 -77
  61. package/src/dynamic-load/workflow.ts +0 -114
  62. package/src/errors/index.ts +0 -111
  63. package/src/formula/core.ts +0 -490
  64. package/src/formula/field_formula.ts +0 -107
  65. package/src/formula/index.ts +0 -81
  66. package/src/formula/params.ts +0 -197
  67. package/src/formula/recompute.ts +0 -65
  68. package/src/formula/simple_params.ts +0 -92
  69. package/src/formula/type.ts +0 -107
  70. package/src/formula/util.ts +0 -207
  71. package/src/index.ts +0 -24
  72. package/src/metadata-register/_base.ts +0 -85
  73. package/src/metadata-register/app.ts +0 -30
  74. package/src/metadata-register/chart.ts +0 -9
  75. package/src/metadata-register/index.ts +0 -123
  76. package/src/metadata-register/layout.ts +0 -38
  77. package/src/metadata-register/object.ts +0 -68
  78. package/src/metadata-register/page.ts +0 -9
  79. package/src/metadata-register/permissionFields.ts +0 -13
  80. package/src/metadata-register/permissionset.ts +0 -25
  81. package/src/metadata-register/process.ts +0 -16
  82. package/src/metadata-register/processTrigger.ts +0 -24
  83. package/src/metadata-register/profile.ts +0 -25
  84. package/src/metadata-register/query.ts +0 -9
  85. package/src/metadata-register/restrictionRules.ts +0 -12
  86. package/src/metadata-register/shareRules.ts +0 -13
  87. package/src/metadata-register/tab.ts +0 -9
  88. package/src/metadata-register/tabs.ts +0 -43
  89. package/src/services/datasourceServiceFactory.ts +0 -55
  90. package/src/services/helpers/graphql/getPrimaryFieldType.ts +0 -48
  91. package/src/services/helpers/graphql/getQueryFields.ts +0 -36
  92. package/src/services/helpers/graphql/index.ts +0 -681
  93. package/src/services/helpers/rest.ts +0 -57
  94. package/src/services/index.ts +0 -13
  95. package/src/services/objectService.ts +0 -846
  96. package/src/services/objectServiceDispatcher.ts +0 -209
  97. package/src/services/objectServiceFactory.ts +0 -29
  98. package/src/summary/core.ts +0 -263
  99. package/src/summary/field_summary.ts +0 -71
  100. package/src/summary/index.ts +0 -96
  101. package/src/summary/recompute.ts +0 -31
  102. package/src/summary/type.ts +0 -60
  103. package/src/ts-types/index.ts +0 -3
  104. package/src/ts-types/permissionset.ts +0 -8
  105. package/src/ts-types/profile.ts +0 -11
  106. package/src/ts-types/triggerActionParams.ts +0 -22
  107. package/src/typeorm/driver.ts +0 -379
  108. package/src/typeorm/index.ts +0 -3
  109. package/src/typeorm/util.ts +0 -147
  110. package/src/types/action.ts +0 -52
  111. package/src/types/app.ts +0 -280
  112. package/src/types/config.ts +0 -152
  113. package/src/types/connection.ts +0 -87
  114. package/src/types/dashboard.ts +0 -91
  115. package/src/types/datasource.ts +0 -570
  116. package/src/types/field.ts +0 -370
  117. package/src/types/field_permission.ts +0 -42
  118. package/src/types/field_types.ts +0 -1
  119. package/src/types/index.ts +0 -21
  120. package/src/types/list_view.ts +0 -56
  121. package/src/types/listeners.ts +0 -18
  122. package/src/types/object.ts +0 -2076
  123. package/src/types/object_dynamic_load.ts +0 -426
  124. package/src/types/object_events.ts +0 -43
  125. package/src/types/object_layouts.ts +0 -20
  126. package/src/types/object_permission.ts +0 -134
  127. package/src/types/query.ts +0 -28
  128. package/src/types/report.ts +0 -128
  129. package/src/types/restrictionRule.ts +0 -57
  130. package/src/types/schema.ts +0 -273
  131. package/src/types/shareRule.ts +0 -57
  132. package/src/types/trigger.ts +0 -88
  133. package/src/types/userSession.ts +0 -45
  134. package/src/types/validation_rules.ts +0 -29
  135. package/src/util/convert.ts +0 -131
  136. package/src/util/field.ts +0 -93
  137. package/src/util/function_expression.ts +0 -63
  138. package/src/util/index.ts +0 -1058
  139. package/src/util/locale.ts +0 -24
  140. package/src/util/permission_shares.ts +0 -25
  141. package/src/util/suffix.ts +0 -78
  142. package/src/util/transform.ts +0 -239
  143. 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
- }