@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.
- package/lib/services/helpers/graphql/consts.d.ts +17 -0
- package/lib/services/helpers/graphql/consts.js +28 -0
- package/lib/services/helpers/graphql/consts.js.map +1 -0
- package/lib/services/helpers/graphql/getQueryFields.js +17 -2
- package/lib/services/helpers/graphql/getQueryFields.js.map +1 -1
- package/lib/services/helpers/graphql/index.d.ts +1 -1
- package/lib/services/helpers/graphql/index.js +31 -46
- package/lib/services/helpers/graphql/index.js.map +1 -1
- package/lib/util/index.js +7 -0
- package/lib/util/index.js.map +1 -1
- package/package.json +11 -12
- package/src/actions/field_updates.ts +0 -118
- package/src/actions/index.ts +0 -3
- package/src/actions/types/field_update_target.ts +0 -7
- package/src/actions/types/workflow_notification.ts +0 -9
- package/src/actions/types/workflow_rule.ts +0 -11
- package/src/actions/workflow_notifications.ts +0 -81
- package/src/actions/workflow_rule.ts +0 -136
- package/src/driver/driver.ts +0 -102
- package/src/driver/field-encrytion/index.ts +0 -8
- package/src/driver/field-encrytion/sharedconst.ts +0 -34
- package/src/driver/fieldDBType.ts +0 -14
- package/src/driver/format.ts +0 -36
- package/src/driver/index.ts +0 -20
- package/src/driver/metadata.ts +0 -226
- package/src/driver/meteorMongo.ts +0 -639
- package/src/driver/mongo.ts +0 -416
- package/src/driver/mysql.ts +0 -47
- package/src/driver/oracle.ts +0 -60
- package/src/driver/postgres.ts +0 -46
- package/src/driver/sqlite3.ts +0 -40
- package/src/driver/sqlserver.ts +0 -52
- package/src/dynamic-load/actions.ts +0 -146
- package/src/dynamic-load/approval_process.ts +0 -73
- package/src/dynamic-load/button.ts +0 -75
- package/src/dynamic-load/chart.ts +0 -22
- package/src/dynamic-load/client_script.ts +0 -65
- package/src/dynamic-load/field.ts +0 -77
- package/src/dynamic-load/flow_role.ts +0 -46
- package/src/dynamic-load/index.ts +0 -21
- package/src/dynamic-load/layout.ts +0 -53
- package/src/dynamic-load/listview.ts +0 -57
- package/src/dynamic-load/method.ts +0 -63
- package/src/dynamic-load/object_translations.ts +0 -61
- package/src/dynamic-load/originalObject.ts +0 -8
- package/src/dynamic-load/package.ts +0 -312
- package/src/dynamic-load/page.ts +0 -23
- package/src/dynamic-load/permission.ts +0 -71
- package/src/dynamic-load/permissionset.ts +0 -78
- package/src/dynamic-load/preload_data.ts +0 -104
- package/src/dynamic-load/profile.ts +0 -90
- package/src/dynamic-load/query.ts +0 -22
- package/src/dynamic-load/restrictionRules.ts +0 -23
- package/src/dynamic-load/role.ts +0 -46
- package/src/dynamic-load/shareRules.ts +0 -23
- package/src/dynamic-load/tab.ts +0 -17
- package/src/dynamic-load/tabs.ts +0 -13
- package/src/dynamic-load/translations.ts +0 -54
- package/src/dynamic-load/trigger.ts +0 -236
- package/src/dynamic-load/validation_rule.ts +0 -77
- package/src/dynamic-load/workflow.ts +0 -114
- package/src/errors/index.ts +0 -111
- package/src/formula/core.ts +0 -490
- package/src/formula/field_formula.ts +0 -107
- package/src/formula/index.ts +0 -81
- package/src/formula/params.ts +0 -197
- package/src/formula/recompute.ts +0 -65
- package/src/formula/simple_params.ts +0 -92
- package/src/formula/type.ts +0 -107
- package/src/formula/util.ts +0 -207
- package/src/index.ts +0 -24
- package/src/metadata-register/_base.ts +0 -85
- package/src/metadata-register/app.ts +0 -30
- package/src/metadata-register/chart.ts +0 -9
- package/src/metadata-register/index.ts +0 -123
- package/src/metadata-register/layout.ts +0 -38
- package/src/metadata-register/object.ts +0 -68
- package/src/metadata-register/page.ts +0 -9
- package/src/metadata-register/permissionFields.ts +0 -13
- package/src/metadata-register/permissionset.ts +0 -25
- package/src/metadata-register/process.ts +0 -16
- package/src/metadata-register/processTrigger.ts +0 -24
- package/src/metadata-register/profile.ts +0 -25
- package/src/metadata-register/query.ts +0 -9
- package/src/metadata-register/restrictionRules.ts +0 -12
- package/src/metadata-register/shareRules.ts +0 -13
- package/src/metadata-register/tab.ts +0 -9
- package/src/metadata-register/tabs.ts +0 -43
- package/src/services/datasourceServiceFactory.ts +0 -55
- package/src/services/helpers/graphql/getPrimaryFieldType.ts +0 -48
- package/src/services/helpers/graphql/getQueryFields.ts +0 -36
- package/src/services/helpers/graphql/index.ts +0 -681
- package/src/services/helpers/rest.ts +0 -57
- package/src/services/index.ts +0 -13
- package/src/services/objectService.ts +0 -846
- package/src/services/objectServiceDispatcher.ts +0 -209
- package/src/services/objectServiceFactory.ts +0 -29
- package/src/summary/core.ts +0 -263
- package/src/summary/field_summary.ts +0 -71
- package/src/summary/index.ts +0 -96
- package/src/summary/recompute.ts +0 -31
- package/src/summary/type.ts +0 -60
- package/src/ts-types/index.ts +0 -3
- package/src/ts-types/permissionset.ts +0 -8
- package/src/ts-types/profile.ts +0 -11
- package/src/ts-types/triggerActionParams.ts +0 -22
- package/src/typeorm/driver.ts +0 -379
- package/src/typeorm/index.ts +0 -3
- package/src/typeorm/util.ts +0 -147
- package/src/types/action.ts +0 -52
- package/src/types/app.ts +0 -280
- package/src/types/config.ts +0 -152
- package/src/types/connection.ts +0 -87
- package/src/types/dashboard.ts +0 -91
- package/src/types/datasource.ts +0 -570
- package/src/types/field.ts +0 -370
- package/src/types/field_permission.ts +0 -42
- package/src/types/field_types.ts +0 -1
- package/src/types/index.ts +0 -21
- package/src/types/list_view.ts +0 -56
- package/src/types/listeners.ts +0 -18
- package/src/types/object.ts +0 -2076
- package/src/types/object_dynamic_load.ts +0 -426
- package/src/types/object_events.ts +0 -43
- package/src/types/object_layouts.ts +0 -20
- package/src/types/object_permission.ts +0 -134
- package/src/types/query.ts +0 -28
- package/src/types/report.ts +0 -128
- package/src/types/restrictionRule.ts +0 -57
- package/src/types/schema.ts +0 -273
- package/src/types/shareRule.ts +0 -57
- package/src/types/trigger.ts +0 -88
- package/src/types/userSession.ts +0 -45
- package/src/types/validation_rules.ts +0 -29
- package/src/util/convert.ts +0 -131
- package/src/util/field.ts +0 -93
- package/src/util/function_expression.ts +0 -63
- package/src/util/index.ts +0 -1058
- package/src/util/locale.ts +0 -24
- package/src/util/permission_shares.ts +0 -25
- package/src/util/suffix.ts +0 -78
- package/src/util/transform.ts +0 -239
- package/src/validators/index.ts +0 -36
package/src/types/field.ts
DELETED
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
import { Dictionary, JsonMap } from '@salesforce/ts-types';
|
|
2
|
-
import { SteedosObjectType } from '.';
|
|
3
|
-
import _ = require('underscore')
|
|
4
|
-
import { SteedosFieldDBType } from '../driver';
|
|
5
|
-
import { SteedosDataSourceType } from './datasource';
|
|
6
|
-
import { SteedosQueryFilters } from './query';
|
|
7
|
-
|
|
8
|
-
//TODO 整理字段类型
|
|
9
|
-
const FIELDTYPES = [
|
|
10
|
-
"text",
|
|
11
|
-
"textarea",
|
|
12
|
-
"html",
|
|
13
|
-
"select",
|
|
14
|
-
"boolean",
|
|
15
|
-
"toggle",
|
|
16
|
-
"date",
|
|
17
|
-
"datetime",
|
|
18
|
-
"time",
|
|
19
|
-
"number",
|
|
20
|
-
"currency",
|
|
21
|
-
"password",
|
|
22
|
-
"lookup", // "id": 一对一, ["id0","id1"]: 一对多, 需要新增关系表(p, m), {o:'object_name', ids: ['', '']}:新增关系表(p, o, m)
|
|
23
|
-
"master_detail",
|
|
24
|
-
"grid", // [{},{}] : 一对多
|
|
25
|
-
"url",
|
|
26
|
-
"email",
|
|
27
|
-
"avatar", //TODO
|
|
28
|
-
"location", //TODO
|
|
29
|
-
"image", //TODO
|
|
30
|
-
"object", // {}:一对一
|
|
31
|
-
"[object]",
|
|
32
|
-
"[Object]",
|
|
33
|
-
"[grid]", //TODO
|
|
34
|
-
"[text]", // ['string','sring1']
|
|
35
|
-
"selectCity", //TODO
|
|
36
|
-
"audio", //TODO
|
|
37
|
-
"filesize", //TODO
|
|
38
|
-
"file", //TODO
|
|
39
|
-
"string",
|
|
40
|
-
"function Object() { [native code] }",
|
|
41
|
-
"function String() { [native code] }",
|
|
42
|
-
"code",
|
|
43
|
-
"Object",
|
|
44
|
-
"autonumber",
|
|
45
|
-
"markdown",
|
|
46
|
-
"formula",
|
|
47
|
-
"summary",
|
|
48
|
-
"percent"
|
|
49
|
-
]
|
|
50
|
-
|
|
51
|
-
abstract class SteedosFieldProperties{
|
|
52
|
-
_id?: string
|
|
53
|
-
object_name?: string
|
|
54
|
-
name?: string
|
|
55
|
-
column_name?: string
|
|
56
|
-
abstract type?: string
|
|
57
|
-
primary?: boolean
|
|
58
|
-
generated?: true
|
|
59
|
-
label?: string
|
|
60
|
-
is_name?: boolean
|
|
61
|
-
sort_no?: number
|
|
62
|
-
group?: string
|
|
63
|
-
defaultValue?: string | boolean | [] | number
|
|
64
|
-
allowedValues?: string | boolean | []
|
|
65
|
-
multiple?: boolean
|
|
66
|
-
required?: boolean
|
|
67
|
-
is_wide?: boolean
|
|
68
|
-
readonly?: boolean
|
|
69
|
-
hidden?: boolean
|
|
70
|
-
omit?: boolean
|
|
71
|
-
index?: boolean
|
|
72
|
-
searchable?: boolean
|
|
73
|
-
sortable?: boolean
|
|
74
|
-
precision?: number
|
|
75
|
-
scale?: number
|
|
76
|
-
reference_to?: string | string[] | Function
|
|
77
|
-
reference_to_field?: string
|
|
78
|
-
rows?: number
|
|
79
|
-
options?: string | []
|
|
80
|
-
description?: string
|
|
81
|
-
filterable?: boolean
|
|
82
|
-
inlineHelpText?: string
|
|
83
|
-
unique?: boolean
|
|
84
|
-
optionsFunction?: any
|
|
85
|
-
min?: number
|
|
86
|
-
max?: number
|
|
87
|
-
blackbox?: boolean
|
|
88
|
-
reference_sort?: JsonMap
|
|
89
|
-
reference_limit?: number
|
|
90
|
-
is_company_limited?: boolean
|
|
91
|
-
system?: string;
|
|
92
|
-
abstract fieldDBType: SteedosFieldDBType | string
|
|
93
|
-
formula?: string
|
|
94
|
-
data_type?: string
|
|
95
|
-
formula_blank_value?: string
|
|
96
|
-
summary_object?: string
|
|
97
|
-
summary_type?: string
|
|
98
|
-
summary_field?: string
|
|
99
|
-
summary_filters?: SteedosQueryFilters
|
|
100
|
-
filters?: SteedosQueryFilters
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export interface SteedosFieldTypeConfig extends SteedosFieldProperties{
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
export class SteedosFieldType extends SteedosFieldProperties implements Dictionary {
|
|
109
|
-
[key: string]: unknown;
|
|
110
|
-
private _object: SteedosObjectType;
|
|
111
|
-
private _type: any;
|
|
112
|
-
private _fieldDBType: SteedosFieldDBType;
|
|
113
|
-
public get fieldDBType(): SteedosFieldDBType {
|
|
114
|
-
return this._fieldDBType;
|
|
115
|
-
}
|
|
116
|
-
public set fieldDBType(value: SteedosFieldDBType) {
|
|
117
|
-
this._fieldDBType = value;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
private properties: string[] = ['name']
|
|
121
|
-
|
|
122
|
-
constructor(name: string, object: SteedosObjectType, config: SteedosFieldTypeConfig){
|
|
123
|
-
super();
|
|
124
|
-
this._object = object
|
|
125
|
-
_.each(config, (value: any, key: string)=>{
|
|
126
|
-
if(key != 'object'){
|
|
127
|
-
this[key] = value
|
|
128
|
-
this.properties.push(key)
|
|
129
|
-
}
|
|
130
|
-
})
|
|
131
|
-
|
|
132
|
-
if(!this.type && this.blackbox){
|
|
133
|
-
this.type = 'object'
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
this.name = name
|
|
137
|
-
|
|
138
|
-
if(this.type === "formula" && !this.data_type){
|
|
139
|
-
throw new Error(`${this._object.name}.${this.name} invalid field type formula, miss data_type property`)
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
this.setDBType()
|
|
143
|
-
|
|
144
|
-
if(this.generated){
|
|
145
|
-
this.omit = true
|
|
146
|
-
this.properties.push('omit')
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
getIndexInfo = ()=>{
|
|
151
|
-
const indexName = this.getIndexName();
|
|
152
|
-
if(this.index || this.unique){
|
|
153
|
-
let index = {};
|
|
154
|
-
let indexValue: any = null;
|
|
155
|
-
let sparse = false;
|
|
156
|
-
if (this.index) {
|
|
157
|
-
indexValue = this.index;
|
|
158
|
-
if (indexValue === true){
|
|
159
|
-
indexValue = 1;
|
|
160
|
-
}
|
|
161
|
-
} else {
|
|
162
|
-
indexValue = 1;
|
|
163
|
-
}
|
|
164
|
-
var idxFieldName = this.name.replace(/\.\$\./g, ".");
|
|
165
|
-
index[idxFieldName] = indexValue;
|
|
166
|
-
let unique = !!this.unique && (indexValue === 1 || indexValue === -1);
|
|
167
|
-
return {
|
|
168
|
-
key: index,
|
|
169
|
-
name: indexName,
|
|
170
|
-
unique: unique,
|
|
171
|
-
sparse: sparse,
|
|
172
|
-
background: true, //兼容4.2之前的数据库版本
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
getIndexName = ()=>{
|
|
178
|
-
return 'c2_' + this.name;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
private transformReferenceTo(reference_to: string, datasource: SteedosDataSourceType): string{
|
|
183
|
-
if(_.isString(reference_to)){
|
|
184
|
-
if(reference_to.split('.').length = 1){
|
|
185
|
-
if(datasource.getObject(reference_to)){
|
|
186
|
-
return `${datasource.name}.${reference_to}`
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
return reference_to
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
transformReferenceOfObject(){
|
|
194
|
-
if(this.reference_to){
|
|
195
|
-
let datasource = this._object.datasource
|
|
196
|
-
if(datasource.name != 'meteor'){
|
|
197
|
-
if(_.isString(this.reference_to)){
|
|
198
|
-
this.reference_to = this.transformReferenceTo(this.reference_to, datasource)
|
|
199
|
-
}else if(_.isArray(this.reference_to)){
|
|
200
|
-
let reference_to: string[] = []
|
|
201
|
-
_.each(this.reference_to, (_reference_to)=>{
|
|
202
|
-
reference_to.push(this.transformReferenceTo(_reference_to, datasource))
|
|
203
|
-
})
|
|
204
|
-
this.reference_to = reference_to
|
|
205
|
-
}else if(_.isFunction(this.reference_to)){
|
|
206
|
-
//TODO
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
toConfig(){
|
|
213
|
-
let config = {}
|
|
214
|
-
this.properties.forEach((property)=>{
|
|
215
|
-
config[property] = this[property]
|
|
216
|
-
})
|
|
217
|
-
return config
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
private getDBType(type: any): SteedosFieldDBType{
|
|
221
|
-
switch (type) {
|
|
222
|
-
case 'text':
|
|
223
|
-
return SteedosFieldDBType.varchar
|
|
224
|
-
case 'textarea':
|
|
225
|
-
return SteedosFieldDBType.text
|
|
226
|
-
case 'html':
|
|
227
|
-
return SteedosFieldDBType.text
|
|
228
|
-
case 'select':
|
|
229
|
-
if(this.multiple){
|
|
230
|
-
return SteedosFieldDBType.array
|
|
231
|
-
}else{
|
|
232
|
-
return SteedosFieldDBType.varchar
|
|
233
|
-
}
|
|
234
|
-
case 'boolean':
|
|
235
|
-
return SteedosFieldDBType.boolean
|
|
236
|
-
case 'toggle':
|
|
237
|
-
return SteedosFieldDBType.boolean
|
|
238
|
-
case 'date':
|
|
239
|
-
return SteedosFieldDBType.date
|
|
240
|
-
case 'datetime':
|
|
241
|
-
return SteedosFieldDBType.dateTime
|
|
242
|
-
case 'time':
|
|
243
|
-
return SteedosFieldDBType.dateTime
|
|
244
|
-
case 'number':
|
|
245
|
-
return SteedosFieldDBType.number
|
|
246
|
-
case 'currency':
|
|
247
|
-
if(!this.scale && this.scale != 0){
|
|
248
|
-
this.scale = 2
|
|
249
|
-
}
|
|
250
|
-
return SteedosFieldDBType.number
|
|
251
|
-
case 'password':
|
|
252
|
-
return SteedosFieldDBType.varchar
|
|
253
|
-
case 'lookup':
|
|
254
|
-
// let reference_to = this.reference_to
|
|
255
|
-
// if(_.isFunction(this.reference_to)){
|
|
256
|
-
// reference_to = this.reference_to()
|
|
257
|
-
// }
|
|
258
|
-
|
|
259
|
-
// if(_.isArray(reference_to)){
|
|
260
|
-
// this._columnType = SteedosColumnType.manyToMany
|
|
261
|
-
// }else{
|
|
262
|
-
// if(this.multiple){
|
|
263
|
-
// this._columnType = SteedosColumnType.oneToMany
|
|
264
|
-
// }else{
|
|
265
|
-
// this._columnType = SteedosColumnType.oneToOne
|
|
266
|
-
// }
|
|
267
|
-
// }
|
|
268
|
-
return SteedosFieldDBType.varchar
|
|
269
|
-
case 'master_detail':
|
|
270
|
-
// let reference_to2 = this.reference_to
|
|
271
|
-
// if(_.isFunction(this.reference_to)){
|
|
272
|
-
// reference_to2 = this.reference_to()
|
|
273
|
-
// }
|
|
274
|
-
|
|
275
|
-
// if(_.isArray(reference_to2)){
|
|
276
|
-
// this._columnType = SteedosColumnType.manyToMany
|
|
277
|
-
// }else{
|
|
278
|
-
// if(this.multiple){
|
|
279
|
-
// this._columnType = SteedosColumnType.manyToOne //TODO
|
|
280
|
-
// }else{
|
|
281
|
-
// this._columnType = SteedosColumnType.oneToOne
|
|
282
|
-
// }
|
|
283
|
-
// }
|
|
284
|
-
return SteedosFieldDBType.varchar
|
|
285
|
-
case 'grid':
|
|
286
|
-
return SteedosFieldDBType.array
|
|
287
|
-
case 'url':
|
|
288
|
-
return SteedosFieldDBType.varchar
|
|
289
|
-
case 'email':
|
|
290
|
-
return SteedosFieldDBType.varchar
|
|
291
|
-
case 'avatar':
|
|
292
|
-
return SteedosFieldDBType.varchar
|
|
293
|
-
case 'location':
|
|
294
|
-
return SteedosFieldDBType.json
|
|
295
|
-
case 'image':
|
|
296
|
-
return SteedosFieldDBType.varchar
|
|
297
|
-
case 'object':
|
|
298
|
-
return SteedosFieldDBType.json
|
|
299
|
-
case 'url':
|
|
300
|
-
return SteedosFieldDBType.varchar
|
|
301
|
-
case '[object]':
|
|
302
|
-
return SteedosFieldDBType.array
|
|
303
|
-
case '[Object]':
|
|
304
|
-
return SteedosFieldDBType.array
|
|
305
|
-
case '[grid]':
|
|
306
|
-
return SteedosFieldDBType.array
|
|
307
|
-
case '[text]':
|
|
308
|
-
return SteedosFieldDBType.array
|
|
309
|
-
case 'selectCity':
|
|
310
|
-
return SteedosFieldDBType.json
|
|
311
|
-
case 'audio':
|
|
312
|
-
return SteedosFieldDBType.varchar
|
|
313
|
-
case 'filesize':
|
|
314
|
-
return SteedosFieldDBType.number
|
|
315
|
-
case 'file':
|
|
316
|
-
return SteedosFieldDBType.varchar
|
|
317
|
-
case 'string':
|
|
318
|
-
return SteedosFieldDBType.varchar
|
|
319
|
-
case 'code':
|
|
320
|
-
return SteedosFieldDBType.varchar
|
|
321
|
-
case 'function Object() { [native code] }':
|
|
322
|
-
return SteedosFieldDBType.json
|
|
323
|
-
case Object:
|
|
324
|
-
return SteedosFieldDBType.json
|
|
325
|
-
case 'function String() { [native code] }':
|
|
326
|
-
return SteedosFieldDBType.varchar
|
|
327
|
-
case String:
|
|
328
|
-
return SteedosFieldDBType.varchar
|
|
329
|
-
case 'Object':
|
|
330
|
-
return SteedosFieldDBType.json
|
|
331
|
-
case 'autonumber':
|
|
332
|
-
return SteedosFieldDBType.varchar
|
|
333
|
-
case 'markdown':
|
|
334
|
-
return SteedosFieldDBType.varchar
|
|
335
|
-
case 'formula':
|
|
336
|
-
return this.getDBType(this.data_type);
|
|
337
|
-
case 'summary':
|
|
338
|
-
//汇总不需要check类型
|
|
339
|
-
return SteedosFieldDBType.varchar;
|
|
340
|
-
case 'percent':
|
|
341
|
-
//百分比字段按数值类型处理
|
|
342
|
-
return this.getDBType("number");
|
|
343
|
-
default:
|
|
344
|
-
throw new Error(`${this._object.name}.${this.name} invalid field type ${type}`)
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
private setDBType(){
|
|
349
|
-
if(this.fieldDBType){
|
|
350
|
-
return;
|
|
351
|
-
}
|
|
352
|
-
this._fieldDBType = this.getDBType(this.type);
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
public get object(): SteedosObjectType {
|
|
356
|
-
return this._object;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
public get type(): any {
|
|
360
|
-
return this._type;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
public set type(value: any) {
|
|
364
|
-
let valueStr = String(value)
|
|
365
|
-
if(!_.contains(FIELDTYPES, valueStr)){
|
|
366
|
-
throw new Error(`not find field type ${valueStr}`)
|
|
367
|
-
}
|
|
368
|
-
this._type = value;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { registerPermissionFields } from '../metadata-register/permissionFields';
|
|
2
|
-
import { getSteedosSchema } from '../types'
|
|
3
|
-
import * as _ from 'lodash'
|
|
4
|
-
|
|
5
|
-
export class FieldPermission {
|
|
6
|
-
|
|
7
|
-
static async getObjectFieldsPermission(objectApiName, permissionSetApiName) {
|
|
8
|
-
const schema = getSteedosSchema();
|
|
9
|
-
return await registerPermissionFields.find(schema.broker, {
|
|
10
|
-
pattern: `${permissionSetApiName}.${objectApiName}.*`
|
|
11
|
-
})
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
static async getObjectFieldsPermissionGroupRole(objectApiName) {
|
|
15
|
-
const permissions = await this.getObjectFieldsPermission(objectApiName, '*');
|
|
16
|
-
const result = {};
|
|
17
|
-
_.each(permissions, (permission) => {
|
|
18
|
-
const { permission_set_id, field, editable, readable } = permission.metadata;
|
|
19
|
-
if (!result[permission_set_id]) {
|
|
20
|
-
result[permission_set_id] = [];
|
|
21
|
-
}
|
|
22
|
-
result[permission_set_id].push({ field: field, read: readable, edit: editable })
|
|
23
|
-
})
|
|
24
|
-
return result;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
static async getObjectsFieldsPermissionGroupRole() {
|
|
28
|
-
const permissions = await this.getObjectFieldsPermission('*', '*');
|
|
29
|
-
const result = {};
|
|
30
|
-
_.each(permissions, (permission) => {
|
|
31
|
-
if (!result[permission.object_name]) {
|
|
32
|
-
result[permission.object_name] = {};
|
|
33
|
-
}
|
|
34
|
-
const { permission_set_id, field, editable, readable } = permission.metadata;
|
|
35
|
-
if (!result[permission.object_name][permission_set_id]) {
|
|
36
|
-
result[permission.object_name][permission_set_id] = [];
|
|
37
|
-
}
|
|
38
|
-
result[permission.object_name][permission_set_id].push({ field: field, read: readable, edit: editable })
|
|
39
|
-
})
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
}
|
package/src/types/field_types.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type SteedosIDType = number | string
|
package/src/types/index.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export * from './app'
|
|
2
|
-
export * from './config'
|
|
3
|
-
export * from './object_dynamic_load'
|
|
4
|
-
export * from "./schema";
|
|
5
|
-
export * from "./datasource";
|
|
6
|
-
export * from "./dashboard";
|
|
7
|
-
export * from "./object";
|
|
8
|
-
export * from "./connection";
|
|
9
|
-
export * from "./object_layouts";
|
|
10
|
-
export * from "./field_permission";
|
|
11
|
-
export { SteedosFieldType, SteedosFieldTypeConfig } from "./field";
|
|
12
|
-
export { SteedosListenerConfig } from './listeners'
|
|
13
|
-
export { SteedosTriggerType } from './trigger'
|
|
14
|
-
export { SteedosObjectListViewTypeConfig, SteedosObjectListViewType } from "./list_view";
|
|
15
|
-
export { SteedosIDType } from "./field_types";
|
|
16
|
-
export { SteedosQueryOptions } from "./query";
|
|
17
|
-
export { SteedosObjectPermissionType, SteedosObjectPermissionTypeConfig } from "./object_permission";
|
|
18
|
-
export { SteedosActionType, SteedosActionTypeConfig } from './action'
|
|
19
|
-
export { SteedosUserSession, SteedosUserSessionSpace, SteedosUserSessionCompany, SteedosUserSessionOrganization } from './userSession';
|
|
20
|
-
export { SteedosQueryFilters } from './query';
|
|
21
|
-
export { SteedosReportType, SteedosReportTypeConfig } from './report';
|
package/src/types/list_view.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { SteedosObjectType } from ".";
|
|
2
|
-
import _ = require('underscore')
|
|
3
|
-
|
|
4
|
-
abstract class SteedosObjectListViewTypeProperties{
|
|
5
|
-
abstract name?: string
|
|
6
|
-
label?: string
|
|
7
|
-
type?: string
|
|
8
|
-
filter_scope?: string
|
|
9
|
-
columns?: []
|
|
10
|
-
filters?: []
|
|
11
|
-
filter_fields?: []
|
|
12
|
-
sort?: []
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface SteedosObjectListViewTypeConfig extends SteedosObjectListViewTypeProperties{}
|
|
16
|
-
|
|
17
|
-
export class SteedosObjectListViewType extends SteedosObjectListViewTypeProperties{
|
|
18
|
-
private _name: string;
|
|
19
|
-
|
|
20
|
-
private _object: SteedosObjectType;
|
|
21
|
-
|
|
22
|
-
private properties: string[] = ['name']
|
|
23
|
-
|
|
24
|
-
constructor(name: string, object: SteedosObjectType, config: SteedosObjectListViewTypeConfig){
|
|
25
|
-
super()
|
|
26
|
-
this._object = object
|
|
27
|
-
|
|
28
|
-
_.each(config, (value: any, key: string)=>{
|
|
29
|
-
if(key != 'object'){
|
|
30
|
-
this[key] = value
|
|
31
|
-
this.properties.push(key)
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
this.name = name
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
toConfig(){
|
|
39
|
-
let config = {}
|
|
40
|
-
this.properties.forEach((property)=>{
|
|
41
|
-
config[property] = this[property]
|
|
42
|
-
})
|
|
43
|
-
return config
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
public get name(): string {
|
|
47
|
-
return this._name;
|
|
48
|
-
}
|
|
49
|
-
public set name(value: string) {
|
|
50
|
-
this._name = value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
public get object(): SteedosObjectType {
|
|
54
|
-
return this._object;
|
|
55
|
-
}
|
|
56
|
-
}
|
package/src/types/listeners.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export type SteedosListenerConfig = {
|
|
2
|
-
_id?: string,
|
|
3
|
-
name?: string,
|
|
4
|
-
listenTo?: string | Function,
|
|
5
|
-
beforeFind?: Function,
|
|
6
|
-
beforeInsert?: Function,
|
|
7
|
-
beforeUpdate?: Function,
|
|
8
|
-
beforeDelete?: Function,
|
|
9
|
-
afterFind?: Function,
|
|
10
|
-
afterCount?: Function,
|
|
11
|
-
afterFindOne?: Function,
|
|
12
|
-
afterInsert?: Function,
|
|
13
|
-
afterUpdate?: Function,
|
|
14
|
-
afterDelete?: Function,
|
|
15
|
-
beforeAggregate?: Function,
|
|
16
|
-
afterAggregate?: Function,
|
|
17
|
-
metadataServiceName?: string,
|
|
18
|
-
}
|