@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,25 +0,0 @@
1
- const clone = require('clone');
2
- export async function registerProfile(broker, serviceName, profileConfig) {
3
- const metadata = clone(profileConfig);
4
- delete metadata.triggers
5
- const res = await broker.call("permissionsets.addProfile", {profileApiName: 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 getProfile(broker, profileApiName) {
18
- const res = await broker.call("permissionsets.getProfile", {profileApiName: profileApiName});
19
- return res;
20
- }
21
-
22
- export async function getProfiles(broker) {
23
- const res = await broker.call("permissionsets.getProfiles");
24
- return res;
25
- }
@@ -1,9 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'queries';
3
- class RegisterQuery extends RegisterBase{
4
- constructor(){
5
- super(SERVICE_NAME);
6
- }
7
- }
8
-
9
- export const registerQuery = new RegisterQuery();
@@ -1,12 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'restriction_rules';
3
- class RegisterRestrictionRules extends RegisterBase {
4
- constructor() {
5
- super(SERVICE_NAME);
6
- }
7
-
8
- getApiName(config) {
9
- return `${config.object_name}.${config.name}`
10
- }
11
- }
12
- export const registerRestrictionRules = new RegisterRestrictionRules();
@@ -1,13 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'share_rules';
3
- class RegisterShareRules extends RegisterBase {
4
- constructor() {
5
- super(SERVICE_NAME);
6
- }
7
-
8
- getApiName(config) {
9
- return `${config.object_name}.${config.name}`
10
- }
11
- }
12
-
13
- export const registerShareRules = new RegisterShareRules();
@@ -1,9 +0,0 @@
1
- import { RegisterBase } from "./_base";
2
- const SERVICE_NAME = 'tabs';
3
- class RegisterTab extends RegisterBase{
4
- constructor(){
5
- super(SERVICE_NAME);
6
- }
7
- }
8
-
9
- export const registerTab = new RegisterTab();
@@ -1,43 +0,0 @@
1
- const clone = require('clone');
2
- const SERVICE_NAME = 'tabs';
3
-
4
- /***
5
- * 此文件内容不再维护,迁移到tab.ts
6
- */
7
-
8
- export async function registerTab(broker, serviceName, config) {
9
- const metadata = clone(config);
10
- delete metadata.triggers
11
- const res = await broker.call(`${SERVICE_NAME}.add`, {tabApiName: metadata.name ,data: metadata}, {meta: {
12
- metadataServiceName: serviceName,
13
- caller: {
14
- nodeID: broker.nodeID,
15
- service: {
16
- name: serviceName,
17
- }
18
- }
19
- }});
20
- return res;
21
- }
22
-
23
- export async function removeTab(broker, tabApiName) {
24
- const res = await broker.call(`${SERVICE_NAME}.delete`, {tabApiName: tabApiName});
25
- return res;
26
- }
27
-
28
- export async function getTab(broker, tabApiName) {
29
- const res = await broker.call(`${SERVICE_NAME}.get`, {tabApiName: tabApiName});
30
- return res;
31
- }
32
-
33
- export async function getTabs(broker) {
34
- const res = await broker.call(`${SERVICE_NAME}.getAll`);
35
- return res;
36
- }
37
-
38
- export async function filterTabs(broker, tabApiName, spaceId?, objectApiName?){
39
- const res = await broker.call(`${SERVICE_NAME}.filter`, {
40
- objectApiName, spaceId, tabApiName
41
- });
42
- return res;
43
- }
@@ -1,55 +0,0 @@
1
- import * as _ from 'underscore';
2
- import { getDataSourceServiceName } from './index';
3
- import { jsonToObject } from '../util/convert';
4
- import { getDataSource } from '../types/datasource';
5
- const LocalDataSourceServices = {};
6
-
7
-
8
- export async function createDataSourceService(broker, dataSource) {
9
- const dataSourceName = dataSource.name;
10
- const serviceName = getDataSourceServiceName(dataSourceName);
11
-
12
- if (LocalDataSourceServices[serviceName]) {
13
- return;
14
- }
15
-
16
- let service = broker.createService({
17
- name: serviceName,
18
- events: {
19
- [`${dataSourceName}.*.metadata.objects.inserted`]: {
20
- handler(ctx) {
21
- let objectConfig = ctx.params.data;
22
- jsonToObject(objectConfig)
23
- dataSource.initObject(objectConfig)
24
- /**
25
- * 每次都需要初始化,TypeORM不适用于微服务模式
26
- */
27
- dataSource.initTypeORM();
28
- }
29
- },
30
- [`${dataSourceName}.*.metadata.objects.deleted`]: {
31
- handler(ctx) {
32
- if (this.timeoutId) {
33
- clearTimeout(this.timeoutId);
34
- }
35
- this.timeoutId = setTimeout(function(){
36
- try {
37
- const datasource = getDataSource(dataSourceName);
38
- if (datasource) {
39
- datasource.flushCacheObjects();
40
- }
41
- } catch (error) {
42
- console.error(error)
43
- }
44
- }, 1000 * 0.1);
45
- }
46
- },
47
- }
48
- })
49
- if (!broker.started) { //如果broker未启动则手动启动service
50
- await broker._restartService(service)
51
- }
52
- await broker.waitForServices(service.name, null, 10);
53
- LocalDataSourceServices[serviceName] = true;
54
- return service
55
- }
@@ -1,25 +0,0 @@
1
- /*
2
- * @Author: sunhaolin@hotoa.com
3
- * @Date: 2022-06-20 19:02:47
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2022-06-20 19:03:27
6
- * @Description:
7
- */
8
-
9
- export const BASIC_TYPE_MAPPING = {
10
- 'text': 'String',
11
- 'textarea': 'String',
12
- 'html': 'String',
13
- 'url': 'String',
14
- 'email': 'String',
15
- 'date': 'Date',
16
- 'datetime': 'Date',
17
- 'time': 'Date',
18
- 'number': 'Float',
19
- 'currency': 'Float',
20
- 'boolean': 'Boolean'
21
- };
22
- export const EXPAND_SUFFIX = '__expand';
23
- export const DISPLAY_PREFIX = '_display';
24
- export const RELATED_PREFIX = '_related';
25
- export const GRAPHQL_ACTION_PREFIX = 'graphql_';
@@ -1,48 +0,0 @@
1
- /*
2
- * @Author: sunhaolin@hotoa.com
3
- * @Date: 2022-06-16 14:37:39
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2022-06-16 16:28:20
6
- * @Description: 获取对象主键字段类型,用于生成对象的graphql schema,如 id: ID!
7
- */
8
-
9
- import { SteedosObjectTypeConfig, getDataSource, SteedosDatabaseDriverType } from "../../..";
10
- import _ = require("lodash");
11
-
12
- /**
13
- * 根据对象所属数据源的类型,生成grapqhl shcmea的主键字段定义
14
- * @param objectConfig 对象配置
15
- */
16
- export function getPrimaryFieldType(objectConfig: SteedosObjectTypeConfig) {
17
- let idType = '';
18
- let fields = objectConfig.fields;
19
- const datasource = getDataSource(objectConfig.datasource);
20
- if (datasource.driver === SteedosDatabaseDriverType.MeteorMongo || datasource.driver === SteedosDatabaseDriverType.Mongo) {
21
- if (!_.has(fields, "_id")) {
22
- idType = '_id: String'
23
- }
24
- } else {
25
- // 设置非默认数据源的主键字段,如mysql
26
- for (let fieldName in fields) {
27
- let field = fields[fieldName];
28
- if (field.primary) {
29
- let fieldType = ''
30
- switch (field.type) {
31
- case 'text' || 'textarea':
32
- fieldType = 'String';
33
- break;
34
- case 'number':
35
- fieldType = 'Float';
36
- break;
37
- default:
38
- fieldType = 'JSON'
39
- break;
40
- }
41
- idType = `_id: ${fieldType}`;
42
- break;
43
- }
44
- }
45
- }
46
-
47
- return idType;
48
- }
@@ -1,51 +0,0 @@
1
- /*
2
- * @Author: sunhaolin@hotoa.com
3
- * @Date: 2022-06-15 15:50:29
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2022-06-20 19:36:20
6
- * @Description: 根据query的请求体解析出查询的字段
7
- */
8
- import { GraphQLResolveInfo } from 'graphql';
9
- import {
10
- parseResolveInfo,
11
- simplifyParsedResolveInfoFragmentWithType,
12
- ResolveTree,
13
- } from 'graphql-parse-resolve-info';
14
-
15
- import _ = require('lodash');
16
-
17
- import { DISPLAY_PREFIX, EXPAND_SUFFIX, RELATED_PREFIX } from './consts'
18
-
19
- export function getQueryFields(resolveInfo: GraphQLResolveInfo) {
20
- const fieldsName = []
21
- const parsedResolveInfoFragment: ResolveTree = <ResolveTree>parseResolveInfo(resolveInfo);
22
- const simplifiedFragment = simplifyParsedResolveInfoFragmentWithType(
23
- parsedResolveInfoFragment,
24
- resolveInfo.returnType
25
- );
26
-
27
- const fields = simplifiedFragment.fields;
28
- if (!_.isEmpty(fields)) {
29
- for (const key in fields) {
30
- const field = fields[key];
31
- const name = field.name
32
- // 如果field.name以__expand结尾,则将field.name去掉__expand后,作为查询的字段名
33
- if (name.endsWith(EXPAND_SUFFIX)) {
34
- fieldsName.push(name.slice(0, -EXPAND_SUFFIX.length));
35
- continue
36
- }
37
- // 如果field.name值为_display,则跳过
38
- if (name === DISPLAY_PREFIX) {
39
- continue
40
- }
41
- // 如果field.name以_related开头,则跳过
42
- if (name.startsWith(RELATED_PREFIX)) {
43
- continue
44
- }
45
- fieldsName.push(name)
46
- }
47
- }
48
- // console.log(fieldsName);
49
- return fieldsName;
50
-
51
- }