@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,207 +0,0 @@
1
- import { SteedosFieldFormulaTypeConfig, SteedosFormulaVarPathTypeConfig, SteedosFormulaVarTypeConfig } from './type';
2
- import _ = require('lodash')
3
-
4
- /**
5
- * 从参数sourceConfigs中找到参数config中引用过的公式字段配置
6
- * @param config
7
- * @param sourceConfigs
8
- */
9
- export const getQuotedFieldFormulaConfigs = (config: SteedosFieldFormulaTypeConfig, sourceConfigs: Array<SteedosFieldFormulaTypeConfig>): Array<SteedosFieldFormulaTypeConfig> => {
10
- const { quotes } = config;
11
- if (quotes && quotes.length) {
12
- return sourceConfigs.filter((sourceConfig: SteedosFieldFormulaTypeConfig) => {
13
- return !!quotes.find((quote) => {
14
- return quote.object_name === sourceConfig.object_name && quote.field_name === sourceConfig.field_name;
15
- });
16
- });
17
- }
18
- else {
19
- return [];
20
- }
21
- }
22
-
23
- /**
24
- * 参数configA中是否引用了参数configB
25
- * @param configA
26
- * @param configB
27
- */
28
- export const isFieldFormulaConfigQuoted = (configA: SteedosFieldFormulaTypeConfig, configB: SteedosFieldFormulaTypeConfig): boolean => {
29
- let configAQuoteds = getQuotedFieldFormulaConfigs(configA, [configB]);
30
- return !!configAQuoteds.length;
31
- }
32
-
33
- /**
34
- * 公式字段配置是否引用了某个对象和字段
35
- * @param config 公式字段配置
36
- * @param object_name 是否引用了该对象
37
- * @param field_name 是否引用了该字段
38
- */
39
- export const isFieldFormulaConfigQuotingObjectAndFields =(config: SteedosFieldFormulaTypeConfig, objectName: string, fieldNames?: Array<string>): boolean => {
40
- const { quotes } = config;
41
- if (quotes && quotes.length) {
42
- return !!quotes.find((quote) => {
43
- if (fieldNames && fieldNames.length) {
44
- return quote.object_name === objectName && fieldNames.indexOf(quote.field_name) > -1;
45
- }
46
- else {
47
- return quote.object_name === objectName;
48
- }
49
- });
50
- }
51
- else {
52
- return false;
53
- }
54
- }
55
-
56
- /**
57
- * 参数config是否与sourceConfigs中任何一项有双向引用关系
58
- *
59
- * @param config
60
- * @param sourceConfigs
61
- */
62
- export const isFieldFormulaConfigQuotedTwoWays = (config: SteedosFieldFormulaTypeConfig, sourceConfigs: Array<SteedosFieldFormulaTypeConfig>): boolean => {
63
- let quotedConfigs = getQuotedFieldFormulaConfigs(config, sourceConfigs);
64
- if(!quotedConfigs.length){
65
- return false;
66
- }
67
- for(let quotedConfig of quotedConfigs){
68
- let isQuotedConfigQuoted = isFieldFormulaConfigQuoted(quotedConfig, config);
69
- if(isQuotedConfigQuoted){
70
- throw new Error(`isFieldFormulaConfigQuotedTwoWays:The field formula config '${config._id}' and '${quotedConfig._id}' is quoted each other.`);
71
- return true;
72
- }
73
- }
74
- return false;
75
- }
76
-
77
- /**
78
- * 参数configA与参数configB是否存在双向引用关系
79
- * @param configA
80
- * @param configB
81
- */
82
- export const isFieldFormulaConfigQuotedTwoWay = (configA: SteedosFieldFormulaTypeConfig, configB: SteedosFieldFormulaTypeConfig): boolean => {
83
- return isFieldFormulaConfigQuotedTwoWays(configA, [configB]);
84
- }
85
-
86
- /**
87
- * 往参数configs中插入config,排除掉重复记录
88
- * @param config
89
- * @param configs
90
- */
91
- export const addToFieldFormulaConfigs = (config: SteedosFieldFormulaTypeConfig, configs: Array<SteedosFieldFormulaTypeConfig>) => {
92
- let existedConfig = configs.find((item) => {
93
- return item._id === config._id
94
- });
95
- if (!existedConfig) {
96
- configs.push(config);
97
- }
98
- }
99
-
100
- const addSortedFieldFormulaConfig = (config: SteedosFieldFormulaTypeConfig, sourceConfigs: Array<SteedosFieldFormulaTypeConfig>, sortedConfigs: Array<SteedosFieldFormulaTypeConfig>) => {
101
- const quotedConfigs = getQuotedFieldFormulaConfigs(config, sourceConfigs);
102
- quotedConfigs.forEach((quotedConfig) => {
103
- addSortedFieldFormulaConfig(quotedConfig, sourceConfigs, sortedConfigs);
104
- });
105
- addToFieldFormulaConfigs(config, sortedConfigs);
106
- }
107
-
108
- /**
109
- * 根据公式引用关系对字段公式配置进行排序
110
- * 这里不能用sort函数,因为sort函数只支持两个数值或对象中两个数值属性对比
111
- * 规则是把其中被依赖的公式字段配置放前面
112
- * @param configs
113
- */
114
- export const sortFieldFormulaConfigs = (configs: Array<SteedosFieldFormulaTypeConfig>): Array<SteedosFieldFormulaTypeConfig> => {
115
- if(configs.length <= 1){
116
- // 只有一个时,不需要排序,直接返回
117
- return configs;
118
- }
119
- let sortedConfigs = [];
120
- configs.forEach((config) => {
121
- addSortedFieldFormulaConfig(config, configs, sortedConfigs);
122
- });
123
- return sortedConfigs;
124
- }
125
-
126
- /**
127
- * 当currentUserId为空时,确认参数configs中没有引用$user变量
128
- * @param configs
129
- */
130
- export const checkCurrentUserIdNotRequiredForFieldFormulas = (configs: SteedosFieldFormulaTypeConfig | Array<SteedosFieldFormulaTypeConfig>) => {
131
- if (!_.isArray(configs)) {
132
- configs = [configs];
133
- }
134
- if(!configs.length){
135
- return;
136
- }
137
- for(let config of configs){
138
- let { vars, object_name: objectName, field_name: fieldName, formula } = config;
139
- let required = isCurrentUserIdRequiredForFormulaVars(vars);
140
- if(required){
141
- throw new Error(`The param 'currentUserId' is required while running the formula '${formula.replace("$", "\\$")}' of field '${fieldName}' on the object '${objectName}'`);
142
- }
143
- }
144
- }
145
-
146
- /**
147
- * 当currentUserId为空时,判断参数vars中是否有引用$user变量
148
- * @param configs
149
- */
150
- export const isCurrentUserIdRequiredForFormulaVars = (vars: Array<SteedosFormulaVarTypeConfig>) => {
151
- let required = !!vars.find(({ is_user_var: isUserVar })=>{
152
- return isUserVar;
153
- });
154
- return required;
155
- }
156
-
157
- /**
158
- * 把公式变量中需要聚合查询的paths转换为aggregate函数级联查询需要的lookups,
159
- * 比如合同对象某个公式字段中有变量{company_id.organization.name}需要聚合查询的paths为:
160
- * [{"field_name":"company_id","reference_from":"contracts"},{"field_name":"organization","reference_from":"company"},{"field_name":"name","reference_from":"organizations"}]
161
- * 将转换返回:
162
- [{
163
- $lookup: {
164
- from: 'company',
165
- localField: 'company_id',
166
- foreignField: '_id',
167
- as: '@lookup_company_id'
168
- }
169
- },{
170
- $lookup: {
171
- from: 'organizations',
172
- localField: '@lookup_company_id.organization',
173
- foreignField: '_id',
174
- as: '@lookup_company_id.organization'
175
- }
176
- }]
177
- 以上返回的lookup可用于当修改组织的名称时,找到合同中引用了该组织记录的记录,并重算其对应的公式字段值
178
- * @param paths 该参数最后一项的reference_from即为需要聚合查询的对象,亦即为当前正在修改对象(需要查找数据库中有哪些对象记录引用了该对象上的字段)
179
- */
180
- export const getFormulaVarPathsAggregateLookups = (paths: Array<SteedosFormulaVarPathTypeConfig>) => {
181
- if (!paths.length) {
182
- return [];
183
- }
184
- let lookups = [], currentPath: SteedosFormulaVarPathTypeConfig, nextPath: SteedosFormulaVarPathTypeConfig;
185
- let tempLookupAs: string = "", tempLookupLocalField: string = "";
186
- for (let i = 0; i < paths.length - 1; i++) {
187
- currentPath = paths[i];
188
- nextPath = paths[i + 1];
189
- tempLookupLocalField = currentPath.field_name;
190
- if(tempLookupAs){
191
- tempLookupLocalField = `${tempLookupAs}.${tempLookupLocalField}`;
192
- tempLookupAs = tempLookupLocalField;
193
- }
194
- else{
195
- tempLookupAs = `__lookup__${currentPath.field_name}`;
196
- }
197
- lookups.push({
198
- $lookup: {
199
- from: nextPath.reference_from,
200
- localField: tempLookupLocalField,
201
- foreignField: '_id',
202
- as: tempLookupAs
203
- }
204
- });
205
- }
206
- return lookups;
207
- }
package/src/index.ts DELETED
@@ -1,24 +0,0 @@
1
- /*
2
- * @Author: baozhoutao@hotoa.com
3
- * @Date: 2022-03-28 14:16:02
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2022-05-14 09:37:36
6
- * @Description:
7
- */
8
- export * from './types'
9
- export * from "./driver"
10
- export * from "./util"
11
- export * from "./formula"
12
- export * from "./summary"
13
- export * from "./errors"
14
- export * from "./actions"
15
- export * from "./dynamic-load"
16
- export * from './metadata-register/query'
17
- export * from './metadata-register/chart'
18
- export * from './metadata-register/page'
19
- export * from './metadata-register/tab'
20
- export * from './metadata-register/shareRules'
21
- export * from './metadata-register/restrictionRules'
22
- export * from './metadata-register/permissionFields'
23
- export * from './metadata-register/process'
24
- export * from './metadata-register/processTrigger'
@@ -1,85 +0,0 @@
1
- import { JsonMap } from "@salesforce/ts-types"
2
- import * as _ from 'lodash';
3
- const clone = require('clone');
4
- export class RegisterBase{
5
- serviceName;
6
- constructor(serviceName){
7
- this.serviceName = serviceName;
8
- }
9
-
10
- getApiName(metadata) {
11
- return metadata._id || metadata.name;
12
- }
13
-
14
- async register(broker, packageServiceName, config){
15
- const metadata = clone(config);
16
- const res = await broker.call(`${this.serviceName}.add`, { apiName: this.getApiName(metadata), data: metadata }, {
17
- meta: {
18
- metadataServiceName: packageServiceName,
19
- caller: {
20
- nodeID: broker.nodeID,
21
- service: {
22
- name: packageServiceName,
23
- }
24
- }
25
- }});
26
- return res;
27
- }
28
-
29
- async mregister(broker, packageServiceName, configs) {
30
- const metadatas = clone(configs);
31
-
32
- const mdata = {};
33
-
34
- _.map(metadatas, (metadata) => {
35
- mdata[this.getApiName(metadata)] = metadata
36
- })
37
-
38
- const res = await broker.call(`${this.serviceName}.madd`, { data: mdata }, {
39
- meta: {
40
- metadataServiceName: packageServiceName,
41
- caller: {
42
- nodeID: broker.nodeID,
43
- service: {
44
- name: packageServiceName,
45
- }
46
- }
47
- }
48
- });
49
- return res;
50
- }
51
-
52
- async remove(broker, packageServiceName, metadataApiNameOrConfig: string | JsonMap) {
53
- let metadataApiName = metadataApiNameOrConfig;
54
- if (_.isObject(metadataApiName)) {
55
- metadataApiName = this.getApiName(metadataApiNameOrConfig);
56
- }
57
- const res = await broker.call(`${this.serviceName}.delete`, { apiName: this.getApiName(metadataApiNameOrConfig) }, {
58
- meta: {
59
- metadataServiceName: packageServiceName,
60
- caller: {
61
- nodeID: broker.nodeID,
62
- service: {
63
- name: packageServiceName,
64
- }
65
- }
66
- }
67
- });
68
- return res;
69
- }
70
-
71
- async get(broker, metadataApiName){
72
- const res = await broker.call(`${this.serviceName}.get`, {metadataApiName: metadataApiName});
73
- return res;
74
- }
75
-
76
- async getAll(broker){
77
- const res = await broker.call(`${this.serviceName}.getAll`);
78
- return res;
79
- }
80
-
81
- async find(broker, params){
82
- const res = await broker.call(`${this.serviceName}.filter`, params);
83
- return res;
84
- }
85
- }
@@ -1,30 +0,0 @@
1
- const clone = require('clone');
2
- export async function registerApp(broker, serviceName, appConfig) {
3
- const metadata = clone(appConfig);
4
- delete metadata.triggers
5
- const res = await broker.call("apps.add", {appApiName: metadata._id || metadata.name ,data: metadata}, {meta: {
6
- metadataServiceName: serviceName,
7
- caller: {
8
- nodeID: broker.nodeID,
9
- service: {
10
- name: serviceName,
11
- }
12
- }
13
- }});
14
- return res;
15
- }
16
-
17
- export async function removeApp(broker, appApiName) {
18
- const res = await broker.call("apps.delete", {appApiName: appApiName});
19
- return res;
20
- }
21
-
22
- export async function getApp(broker, appApiName) {
23
- const res = await broker.call("apps.get", {appApiName: appApiName});
24
- return res;
25
- }
26
-
27
- export async function getApps(broker) {
28
- const res = await broker.call("apps.getAll");
29
- return res;
30
- }
@@ -1,9 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'charts';
3
- class RegisterChart extends RegisterBase{
4
- constructor(){
5
- super(SERVICE_NAME);
6
- }
7
- }
8
-
9
- export const registerChart = new RegisterChart();
@@ -1,123 +0,0 @@
1
- import { registerObject, removeObject, addObjectConfig, getObjectsConfig, getObjectConfig } from './object';
2
- import { registerApp, getApp, getApps, removeApp } from './app';
3
- import { getProfile, getProfiles, registerProfile } from './profile';
4
- import { registerLayout, getLayout, getLayouts, removeLayout, filterLayouts } from './layout';
5
- import { getPermissionset, getPermissionsets, registerPermissionset } from './permissionset';
6
- import { getTab, getTabs, registerTab, removeTab } from './tabs';
7
-
8
- export enum MetadataType {
9
- Object,
10
- ObjectField,
11
- ObjectListView,
12
- ObjectAction,
13
- ObjectButton
14
- }
15
-
16
- export class MetadataRegister{
17
- private broker: any;
18
-
19
- constructor(metadataBroker){
20
- this.broker = metadataBroker;
21
- }
22
-
23
- async addObjectConfig(serviceName, objectConfig: any): Promise<boolean>{
24
- return await addObjectConfig(this.broker, serviceName, objectConfig);
25
- }
26
- async getObjectsConfig(datasourceName: string): Promise<any>{
27
- return await getObjectsConfig(this.broker, datasourceName);
28
- }
29
-
30
- async getObjectConfig(objectApiName): Promise<any>{
31
- return await getObjectConfig(this.broker, objectApiName);
32
- }
33
-
34
- async addObject(serviceName, objectConfig: any): Promise<boolean>{
35
- return await registerObject(this.broker, serviceName, objectConfig);
36
- }
37
-
38
- async removeObject(objectApiName: any): Promise<boolean>{
39
- return await removeObject(this.broker, objectApiName);
40
- }
41
-
42
- async addApp(serviceName, appConfig: any): Promise<boolean>{
43
- return await registerApp(this.broker, serviceName, appConfig);
44
- }
45
-
46
- async removeApp(appApiName: any): Promise<boolean>{
47
- return await removeApp(this.broker, appApiName);
48
- }
49
-
50
- async getApp(appApiName): Promise<any>{
51
- return await getApp(this.broker, appApiName);
52
- }
53
-
54
- async getApps(): Promise<any>{
55
- return await getApps(this.broker);
56
- }
57
-
58
- async addTab(serviceName, tabConfig: any): Promise<boolean>{
59
- return await registerTab(this.broker, serviceName, tabConfig);
60
- }
61
-
62
- async removeTab(tabApiName: any): Promise<boolean>{
63
- return await removeTab(this.broker, tabApiName);
64
- }
65
-
66
- async getTab(tabApiName): Promise<any>{
67
- return await getTab(this.broker, tabApiName);
68
- }
69
-
70
- async getTabs(): Promise<any>{
71
- return await getTabs(this.broker);
72
- }
73
-
74
- async addLayout(serviceName, config: any): Promise<boolean>{
75
- return await registerLayout(this.broker, serviceName, config);
76
- }
77
-
78
- async removeLayout(objectLayoutFullName: any): Promise<boolean>{
79
- return await removeLayout(this.broker, objectLayoutFullName);
80
- }
81
-
82
- async getLayout(objectLayoutFullName): Promise<any>{
83
- return await getLayout(this.broker, objectLayoutFullName);
84
- }
85
-
86
- async getLayouts(): Promise<any>{
87
- return await getLayouts(this.broker);
88
- }
89
-
90
- async filterLayouts(profileApiName, spaceId, objectApiName?):Promise<any>{
91
- return await filterLayouts(this.broker, profileApiName, spaceId, objectApiName);
92
- }
93
-
94
- async addProfile(serviceName, profileConfig): Promise<boolean>{
95
- return await registerProfile(this.broker, serviceName, profileConfig);
96
- }
97
- async getProfile(profileApiName): Promise<any>{
98
- return await getProfile(this.broker, profileApiName);
99
- }
100
- async getProfiles(): Promise<any>{
101
- return await getProfiles(this.broker);
102
- }
103
-
104
- async addPermissionset(serviceName, permissionsetConfig): Promise<boolean>{
105
- return await registerPermissionset(this.broker, serviceName, permissionsetConfig);
106
- }
107
- async getPermissionset(permissionsetApiName): Promise<any>{
108
- return await getPermissionset(this.broker, permissionsetApiName);
109
- }
110
- async getPermissionsets(): Promise<any>{
111
- return await getPermissionsets(this.broker);
112
- }
113
-
114
- // register(type: MetadataType, metadata: any){
115
- // switch (type) {
116
- // case MetadataType.Object:
117
- // registerObject(this.broker, metadata);
118
- // break;
119
- // default:
120
- // break;
121
- // }
122
- // }
123
- }
@@ -1,38 +0,0 @@
1
- const clone = require('clone');
2
- const SERVICE_NAME = 'layouts';
3
- export async function registerLayout(broker, serviceName, config) {
4
- const metadata = clone(config);
5
- delete metadata.triggers
6
- const res = await broker.call(`${SERVICE_NAME}.add`, {layoutApiName: metadata._id || metadata.name ,data: metadata}, {meta: {
7
- metadataServiceName: serviceName,
8
- caller: {
9
- nodeID: broker.nodeID,
10
- service: {
11
- name: serviceName,
12
- }
13
- }
14
- }});
15
- return res;
16
- }
17
-
18
- export async function removeLayout(broker, objectLayoutFullName) {
19
- const res = await broker.call(`${SERVICE_NAME}.delete`, {objectLayoutFullName: objectLayoutFullName});
20
- return res;
21
- }
22
-
23
- export async function getLayout(broker, objectLayoutFullName) {
24
- const res = await broker.call(`${SERVICE_NAME}.get`, {objectLayoutFullName: objectLayoutFullName});
25
- return res;
26
- }
27
-
28
- export async function getLayouts(broker) {
29
- const res = await broker.call(`${SERVICE_NAME}.getAll`);
30
- return res;
31
- }
32
-
33
- export async function filterLayouts(broker, profileApiName, spaceId?, objectApiName?){
34
- const res = await broker.call(`${SERVICE_NAME}.filter`, {
35
- objectApiName, spaceId, profileApiName
36
- });
37
- return res;
38
- }
@@ -1,68 +0,0 @@
1
- import * as _ from 'underscore';
2
- import { objectToJson, jsonToObject } from '../util/convert';
3
- const clone = require('clone');
4
-
5
- export async function registerObject(broker, serviceName, objectConfig) {
6
- // const serviceName = getObjectServiceName(objectConfig.name);
7
- const metadata = clone(objectConfig);
8
- delete metadata.triggers
9
- const res = await broker.call("objects.add", {data: metadata}, {meta: {
10
- caller: {
11
- nodeID: broker.nodeID,
12
- service: {
13
- name: serviceName,
14
- // version: broker.service.version, TODO
15
- // fullName: broker.service.fullName, TODO
16
- }
17
- }
18
- }});
19
- // if (res) { //TODO && objectConfig.hidden != true
20
- // await createObjectService(broker, serviceName, objectConfig)
21
- // }
22
- return res;
23
- }
24
-
25
- export async function addObjectConfig(broker, serviceName, objectConfig) {
26
- let metadata = clone(objectConfig);
27
- delete metadata.triggers;
28
- delete metadata.listeners;
29
- delete metadata.methods;
30
- objectToJson(metadata);
31
- const res = await broker.call("objects.addConfig", {data: metadata}, {meta: {
32
- metadataServiceName: serviceName,
33
- caller: {
34
- nodeID: broker.nodeID
35
- }
36
- }});
37
- return res;
38
- }
39
-
40
- export async function getObjectsConfig(broker, datasourceName){
41
- const objectsConfig = await broker.call('objects.getAll', {datasource: datasourceName})
42
- _.map(objectsConfig, (metadataConfig)=>{
43
- if(metadataConfig && metadataConfig.metadata){
44
- jsonToObject(metadataConfig.metadata)
45
- }
46
- })
47
- return objectsConfig;
48
- }
49
-
50
- export async function getObjectConfig(broker, objectApiName){
51
- const objectsConfig = await broker.call('objects.get', {objectApiName: objectApiName})
52
- _.map(objectsConfig, (metadataConfig)=>{
53
- if(metadataConfig && metadataConfig.metadata){
54
- jsonToObject(metadataConfig.metadata)
55
- }
56
- })
57
- return objectsConfig;
58
- }
59
-
60
- export async function removeObject(broker, objectApiName) {
61
- // const serviceName = getObjectServiceName(objectConfig.name);
62
- const res = await broker.call("objects.delete", {objectApiName: objectApiName}, {meta: {
63
- caller: {
64
- nodeID: broker.nodeID,
65
- }
66
- }});
67
- return res;
68
- }
@@ -1,9 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'pages';
3
- class RegisterPage extends RegisterBase{
4
- constructor(){
5
- super(SERVICE_NAME);
6
- }
7
- }
8
-
9
- export const registerPage = new RegisterPage();
@@ -1,13 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'permission_fields';
3
- class RegisterPermissionFields extends RegisterBase {
4
- constructor() {
5
- super(SERVICE_NAME);
6
- }
7
-
8
- getApiName(config) {
9
- return `${config.name}`
10
- }
11
- }
12
-
13
- export const registerPermissionFields = new RegisterPermissionFields();
@@ -1,25 +0,0 @@
1
- const clone = require('clone');
2
- export async function registerPermissionset(broker, serviceName, permissionsetConfig) {
3
- const metadata = clone(permissionsetConfig);
4
- delete metadata.triggers
5
- const res = await broker.call("permissionsets.add", {permissionsetApiName: metadata._id || metadata.name ,data: metadata}, {meta: {
6
- metadataServiceName: serviceName,
7
- caller: {
8
- nodeID: broker.nodeID,
9
- service: {
10
- name: serviceName,
11
- }
12
- }
13
- }});
14
- return res;
15
- }
16
-
17
- export async function getPermissionset(broker, permissionsetApiName) {
18
- const res = await broker.call("permissionsets.get", {permissionsetApiName: permissionsetApiName});
19
- return res;
20
- }
21
-
22
- export async function getPermissionsets(broker) {
23
- const res = await broker.call("permissionsets.getAll");
24
- return res;
25
- }
@@ -1,16 +0,0 @@
1
- /*
2
- * @Author: sunhaolin@hotoa.com
3
- * @Date: 2022-03-30 11:20:03
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2022-03-30 11:20:35
6
- * @Description:
7
- */
8
- import { RegisterBase } from "./_base";
9
- const SERVICE_NAME = 'process';
10
- class RegisterProcess extends RegisterBase{
11
- constructor(){
12
- super(SERVICE_NAME);
13
- }
14
- }
15
-
16
- export const registerProcess = new RegisterProcess();
@@ -1,24 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'processTrigger';
3
- class RegisterProcessTrigger extends RegisterBase {
4
- constructor() {
5
- super(SERVICE_NAME);
6
- }
7
-
8
- /**
9
- *
10
- * @param metadata
11
- * {
12
- "name": name,
13
- "listenTo": wt.listenTo,
14
- "when": when,
15
- "handler": handler.toString()
16
- }
17
- * @returns
18
- */
19
- getApiName(metadata) {
20
- return `${metadata.listenTo}.${metadata.when}.${metadata.name}`;
21
- }
22
- }
23
-
24
- export const registerProcessTrigger = new RegisterProcessTrigger();