oak-domain 3.0.3 → 4.0.0

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 (203) hide show
  1. package/lib/actions/action.d.ts +16 -16
  2. package/lib/actions/action.js +17 -17
  3. package/lib/actions/relation.d.ts +5 -5
  4. package/lib/actions/relation.js +25 -38
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +186 -160
  6. package/lib/base-app-domain/ActionAuth/Storage.js +39 -42
  7. package/lib/base-app-domain/ActionDefDict.d.ts +8 -9
  8. package/lib/base-app-domain/ActionDefDict.js +9 -11
  9. package/lib/base-app-domain/EntityDict.d.ts +28 -24
  10. package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
  11. package/lib/base-app-domain/I18n/Schema.js +2 -2
  12. package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
  13. package/lib/base-app-domain/I18n/Storage.js +59 -59
  14. package/lib/base-app-domain/Modi/Action.d.ts +10 -10
  15. package/lib/base-app-domain/Modi/Action.js +14 -14
  16. package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
  17. package/lib/base-app-domain/Modi/Storage.js +63 -63
  18. package/lib/base-app-domain/ModiEntity/Schema.d.ts +384 -311
  19. package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
  20. package/lib/base-app-domain/Oper/Schema.d.ts +153 -152
  21. package/lib/base-app-domain/Oper/Storage.js +38 -38
  22. package/lib/base-app-domain/OperEntity/Schema.d.ts +373 -300
  23. package/lib/base-app-domain/OperEntity/Storage.js +30 -30
  24. package/lib/base-app-domain/Path/Schema.d.ts +149 -0
  25. package/lib/base-app-domain/Path/Schema.js +2 -0
  26. package/lib/base-app-domain/Path/Storage.d.ts +3 -0
  27. package/lib/base-app-domain/Path/Storage.js +54 -0
  28. package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
  29. package/lib/base-app-domain/Relation/Storage.js +54 -54
  30. package/lib/base-app-domain/Relation.d.ts +2 -10
  31. package/lib/base-app-domain/Relation.js +4 -10
  32. package/lib/base-app-domain/RelationAuth/Schema.d.ts +214 -180
  33. package/lib/base-app-domain/RelationAuth/Storage.js +44 -46
  34. package/lib/base-app-domain/Storage.js +31 -27
  35. package/lib/base-app-domain/User/Action.d.ts +10 -10
  36. package/lib/base-app-domain/User/Action.js +12 -12
  37. package/lib/base-app-domain/User/Schema.d.ts +210 -197
  38. package/lib/base-app-domain/User/Storage.js +33 -33
  39. package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -0
  40. package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -0
  41. package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -0
  42. package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -0
  43. package/lib/base-app-domain/UserEntityGrant/Action.d.ts +5 -5
  44. package/lib/base-app-domain/UserEntityGrant/Action.js +5 -5
  45. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +131 -157
  46. package/lib/base-app-domain/UserEntityGrant/Storage.js +25 -29
  47. package/lib/base-app-domain/UserRelation/Schema.d.ts +208 -194
  48. package/lib/base-app-domain/UserRelation/Storage.js +56 -56
  49. package/lib/base-app-domain/_SubQuery.d.ts +142 -112
  50. package/lib/base-app-domain/index.d.ts +4 -4
  51. package/lib/base-app-domain/index.js +7 -7
  52. package/lib/checkers/index.d.ts +5 -5
  53. package/lib/checkers/index.js +13 -14
  54. package/lib/compiler/entities.d.ts +2 -0
  55. package/lib/compiler/entities.js +7 -0
  56. package/lib/compiler/env.d.ts +13 -14
  57. package/lib/compiler/env.js +45 -50
  58. package/lib/compiler/localeBuilder.d.ts +27 -22
  59. package/lib/compiler/localeBuilder.js +184 -169
  60. package/lib/compiler/schemalBuilder.d.ts +27 -11
  61. package/lib/compiler/schemalBuilder.js +3569 -3787
  62. package/lib/entities/ActionAuth.d.ts +10 -12
  63. package/lib/entities/ActionAuth.js +31 -29
  64. package/lib/entities/I18n.d.ts +9 -9
  65. package/lib/entities/I18n.js +36 -37
  66. package/lib/entities/Modi.js +49 -49
  67. package/lib/entities/ModiEntity.js +18 -18
  68. package/lib/entities/Oper.js +21 -21
  69. package/lib/entities/OperEntity.js +18 -18
  70. package/lib/entities/Path.d.ts +8 -0
  71. package/lib/entities/Path.js +35 -0
  72. package/lib/entities/Relation.d.ts +8 -8
  73. package/lib/entities/Relation.js +35 -35
  74. package/lib/entities/RelationAuth.d.ts +8 -8
  75. package/lib/entities/RelationAuth.js +34 -34
  76. package/lib/entities/User.js +31 -31
  77. package/lib/entities/UserEntityClaim.d.ts +13 -0
  78. package/lib/entities/UserEntityClaim.js +17 -0
  79. package/lib/entities/UserEntityGrant.d.ts +9 -8
  80. package/lib/entities/UserEntityGrant.js +15 -18
  81. package/lib/entities/UserRelation.d.ts +10 -10
  82. package/lib/entities/UserRelation.js +38 -38
  83. package/lib/index.d.ts +23 -0
  84. package/lib/index.js +37 -0
  85. package/lib/store/AsyncRowStore.d.ts +60 -58
  86. package/lib/store/AsyncRowStore.js +118 -190
  87. package/lib/store/CascadeStore.d.ts +104 -103
  88. package/lib/store/CascadeStore.js +1688 -2036
  89. package/lib/store/RelationAuth.d.ts +96 -103
  90. package/lib/store/RelationAuth.js +1336 -1492
  91. package/lib/store/SyncRowStore.d.ts +29 -29
  92. package/lib/store/SyncRowStore.js +50 -49
  93. package/lib/store/TriggerExecutor.d.ts +38 -31
  94. package/lib/store/TriggerExecutor.js +459 -532
  95. package/lib/store/actionAuth.d.ts +4 -4
  96. package/lib/store/actionAuth.js +25 -40
  97. package/lib/store/actionDef.d.ts +10 -10
  98. package/lib/store/actionDef.js +278 -353
  99. package/lib/store/checker.d.ts +26 -26
  100. package/lib/store/checker.js +487 -623
  101. package/lib/store/filter.d.ts +85 -123
  102. package/lib/store/filter.js +1651 -1761
  103. package/lib/store/modi.d.ts +13 -13
  104. package/lib/store/modi.js +254 -315
  105. package/lib/store/relation.d.ts +12 -12
  106. package/lib/store/relation.js +67 -67
  107. package/lib/timers/oper.d.ts +18 -18
  108. package/lib/timers/oper.js +57 -60
  109. package/lib/timers/vaccum.d.ts +20 -20
  110. package/lib/timers/vaccum.js +111 -176
  111. package/lib/triggers/index.d.ts +5 -5
  112. package/lib/triggers/index.js +8 -8
  113. package/lib/types/Action.d.ts +20 -20
  114. package/lib/types/AppLoader.d.ts +17 -11
  115. package/lib/types/AppLoader.js +10 -10
  116. package/lib/types/Aspect.d.ts +1 -3
  117. package/lib/types/Auth.d.ts +70 -74
  118. package/lib/types/Cluster.d.ts +5 -0
  119. package/lib/types/Cluster.js +2 -0
  120. package/lib/types/Connector.d.ts +38 -34
  121. package/lib/types/Connector.js +2 -9
  122. package/lib/types/DataType.d.ts +25 -24
  123. package/lib/types/DataType.js +6 -6
  124. package/lib/types/Demand.d.ts +88 -88
  125. package/lib/types/Demand.js +10 -10
  126. package/lib/types/Endpoint.d.ts +11 -11
  127. package/lib/types/Entity.d.ts +203 -198
  128. package/lib/types/Entity.js +15 -15
  129. package/lib/types/EntityDesc.d.ts +9 -8
  130. package/lib/types/EntityDesc.js +2 -2
  131. package/lib/types/Environment.d.ts +88 -57
  132. package/lib/types/Environment.js +2 -2
  133. package/lib/types/Exception.d.ts +147 -120
  134. package/lib/types/Exception.js +406 -406
  135. package/lib/types/Expression.d.ts +163 -163
  136. package/lib/types/Expression.js +397 -427
  137. package/lib/types/Geo.d.ts +18 -18
  138. package/lib/types/Locale.d.ts +25 -25
  139. package/lib/types/Logger.d.ts +6 -6
  140. package/lib/types/Polyfill.d.ts +24 -24
  141. package/lib/types/Port.d.ts +18 -18
  142. package/lib/types/RowStore.d.ts +18 -18
  143. package/lib/types/RowStore.js +33 -34
  144. package/lib/types/Storage.d.ts +58 -57
  145. package/lib/types/Style.d.ts +11 -11
  146. package/lib/types/Timer.d.ts +14 -14
  147. package/lib/types/Trigger.d.ts +124 -108
  148. package/lib/types/Trigger.js +58 -54
  149. package/lib/types/Watcher.d.ts +19 -19
  150. package/lib/types/index.d.ts +26 -24
  151. package/lib/types/index.js +29 -27
  152. package/lib/types/schema/DataTypes.d.ts +34 -34
  153. package/lib/utils/SimpleConnector.d.ts +64 -50
  154. package/lib/utils/SimpleConnector.js +206 -184
  155. package/lib/utils/assert.d.ts +5 -5
  156. package/lib/utils/assert.js +9 -9
  157. package/lib/utils/concurrent.d.ts +15 -15
  158. package/lib/utils/concurrent.js +63 -89
  159. package/lib/utils/date.js +18 -18
  160. package/lib/utils/{url.d.ts → domain.d.ts} +1 -1
  161. package/lib/utils/{url.js → domain.js} +11 -12
  162. package/lib/utils/geo.js +24 -24
  163. package/lib/utils/lodash.d.ts +24 -20
  164. package/lib/utils/lodash.js +46 -55
  165. package/lib/utils/mask.js +34 -35
  166. package/lib/utils/money.d.ts +6 -6
  167. package/lib/utils/money.js +51 -40
  168. package/lib/utils/projection.d.ts +4 -0
  169. package/lib/utils/projection.js +15 -0
  170. package/lib/utils/random/random.js +19 -24
  171. package/lib/utils/random/random.mp.js +14 -25
  172. package/lib/utils/random/random.native.d.ts +1 -0
  173. package/lib/utils/random/random.native.js +14 -0
  174. package/lib/utils/random/random.web.js +11 -17
  175. package/lib/utils/string.d.ts +28 -28
  176. package/lib/utils/string.js +69 -82
  177. package/lib/utils/url/index.d.ts +7 -0
  178. package/lib/utils/url/index.js +8 -0
  179. package/lib/utils/url/index.mp.d.ts +4 -0
  180. package/lib/utils/url/index.mp.js +8 -0
  181. package/lib/utils/url/index.native.d.ts +12 -0
  182. package/lib/utils/url/index.native.js +7 -0
  183. package/lib/utils/url/index.web.d.ts +12 -0
  184. package/lib/utils/url/index.web.js +7 -0
  185. package/lib/utils/uuid.d.ts +17 -17
  186. package/lib/utils/uuid.js +218 -257
  187. package/lib/utils/validator.d.ts +26 -25
  188. package/lib/utils/validator.js +131 -128
  189. package/lib/utils/version.js +21 -21
  190. package/package.json +51 -49
  191. package/src/entities/ActionAuth.ts +41 -41
  192. package/src/entities/I18n.ts +45 -46
  193. package/src/entities/Modi.ts +69 -69
  194. package/src/entities/ModiEntity.ts +26 -26
  195. package/src/entities/Oper.ts +32 -32
  196. package/src/entities/OperEntity.ts +27 -27
  197. package/src/entities/Path.ts +43 -0
  198. package/src/entities/Relation.ts +43 -43
  199. package/src/entities/RelationAuth.ts +44 -43
  200. package/src/entities/User.ts +48 -48
  201. package/src/entities/UserEntityClaim.ts +30 -0
  202. package/src/entities/UserEntityGrant.ts +24 -27
  203. package/src/entities/UserRelation.ts +50 -50
@@ -1,69 +1,69 @@
1
- import { ActionDef } from '../types/Action';
2
- import { String } from '../types/DataType';
3
- import { EntityShape } from '../types/Entity';
4
- import { EntityDesc } from '../types/EntityDesc';
5
-
6
- export interface Schema extends EntityShape {
7
- targetEntity: String<32>; // 要操作的目标对象
8
- entity: String<32>; // 关联的目标对象
9
- entityId: String<64>; // 关联的目标对象id
10
- action: String<16>;
11
- data: Object;
12
- filter?: Object;
13
- extra?: Object;
14
- };
15
-
16
- type IState = 'active' | 'applied' | 'abandoned';
17
- type IAction = 'apply' | 'abandon';
18
-
19
- const IActionDef: ActionDef<IAction, IState> = {
20
- stm: {
21
- apply: ['active', 'applied'],
22
- abandon: ['active', 'abandoned'],
23
- },
24
- is: 'active',
25
- };
26
-
27
- type Action = IAction;
28
-
29
- const entityDesc: EntityDesc<Schema, Action, '', {
30
- iState: IState,
31
- }> = {
32
- locales: {
33
- zh_CN: {
34
- name: '更新',
35
- attr: {
36
- targetEntity: '目标对象',
37
- entity: '关联对象',
38
- entityId: '关联对象Id',
39
- action: '动作',
40
- data: '数据',
41
- filter: '条件',
42
- extra: '其它',
43
- iState: '状态',
44
- },
45
- action: {
46
- abandon: '放弃',
47
- apply: '应用',
48
- },
49
- v: {
50
- iState: {
51
- active: '活跃的',
52
- abandoned: '放弃的',
53
- applied: '应用的',
54
- },
55
- },
56
- },
57
- },
58
- indexes: [
59
- {
60
- name: 'index_state',
61
- attributes: [
62
- {
63
- name: 'iState',
64
- direction: 'ASC',
65
- }
66
- ],
67
- },
68
- ],
69
- };
1
+ import { ActionDef } from '../types/Action';
2
+ import { String } from '../types/DataType';
3
+ import { EntityShape } from '../types/Entity';
4
+ import { EntityDesc } from '../types/EntityDesc';
5
+
6
+ export interface Schema extends EntityShape {
7
+ targetEntity: String<32>; // 要操作的目标对象
8
+ entity: String<32>; // 关联的目标对象
9
+ entityId: String<64>; // 关联的目标对象id
10
+ action: String<16>;
11
+ data: Object;
12
+ filter?: Object;
13
+ extra?: Object;
14
+ };
15
+
16
+ type IState = 'active' | 'applied' | 'abandoned';
17
+ type IAction = 'apply' | 'abandon';
18
+
19
+ const IActionDef: ActionDef<IAction, IState> = {
20
+ stm: {
21
+ apply: ['active', 'applied'],
22
+ abandon: ['active', 'abandoned'],
23
+ },
24
+ is: 'active',
25
+ };
26
+
27
+ type Action = IAction;
28
+
29
+ const entityDesc: EntityDesc<Schema, Action, '', {
30
+ iState: IState,
31
+ }> = {
32
+ locales: {
33
+ zh_CN: {
34
+ name: '更新',
35
+ attr: {
36
+ targetEntity: '目标对象',
37
+ entity: '关联对象',
38
+ entityId: '关联对象Id',
39
+ action: '动作',
40
+ data: '数据',
41
+ filter: '条件',
42
+ extra: '其它',
43
+ iState: '状态',
44
+ },
45
+ action: {
46
+ abandon: '放弃',
47
+ apply: '应用',
48
+ },
49
+ v: {
50
+ iState: {
51
+ active: '活跃的',
52
+ abandoned: '放弃的',
53
+ applied: '应用的',
54
+ },
55
+ },
56
+ },
57
+ },
58
+ indexes: [
59
+ {
60
+ name: 'index_state',
61
+ attributes: [
62
+ {
63
+ name: 'iState',
64
+ direction: 'ASC',
65
+ }
66
+ ],
67
+ },
68
+ ],
69
+ };
@@ -1,26 +1,26 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { Schema as Modi } from './Modi';
4
- import { EntityDesc } from '../types/EntityDesc';
5
-
6
- export interface Schema extends EntityShape {
7
- modi: Modi,
8
- entity: String<32>;
9
- entityId: String<64>;
10
- };
11
-
12
- const entityDesc: EntityDesc<Schema> = {
13
- locales: {
14
- zh_CN: {
15
- name: '更新对象连接',
16
- attr: {
17
- modi: '更新',
18
- entity: '关联对象',
19
- entityId: '关联对象id',
20
- },
21
- },
22
- },
23
- configuration: {
24
- actionType: 'appendOnly',
25
- }
26
- };
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { Schema as Modi } from './Modi';
4
+ import { EntityDesc } from '../types/EntityDesc';
5
+
6
+ export interface Schema extends EntityShape {
7
+ modi: Modi,
8
+ entity: String<32>;
9
+ entityId: String<64>;
10
+ };
11
+
12
+ const entityDesc: EntityDesc<Schema> = {
13
+ locales: {
14
+ zh_CN: {
15
+ name: '更新对象连接',
16
+ attr: {
17
+ modi: '更新',
18
+ entity: '关联对象',
19
+ entityId: '关联对象id',
20
+ },
21
+ },
22
+ },
23
+ configuration: {
24
+ actionType: 'appendOnly',
25
+ }
26
+ };
@@ -1,32 +1,32 @@
1
- import { String, Int, Datetime, Image, Boolean, Text } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { Schema as User } from './User';
4
- import { EntityDesc } from '../types/EntityDesc';
5
-
6
- export interface Schema extends EntityShape {
7
- action: String<16>;
8
- data: Object;
9
- filter?: Object;
10
- extra?: Object;
11
- operator?: User;
12
- targetEntity: String<32>;
13
- };
14
-
15
- const entityDesc: EntityDesc<Schema> = {
16
- locales: {
17
- zh_CN: {
18
- name: '操作',
19
- attr: {
20
- action: '动作',
21
- data: '数据',
22
- filter: '选择条件',
23
- extra: '其它',
24
- operator: '操作者',
25
- targetEntity: '关联对象',
26
- },
27
- },
28
- },
29
- configuration: {
30
- actionType: 'appendOnly',
31
- }
32
- };
1
+ import { String, Int, Datetime, Image, Boolean, Text } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { Schema as User } from './User';
4
+ import { EntityDesc } from '../types/EntityDesc';
5
+
6
+ export interface Schema extends EntityShape {
7
+ action: String<16>;
8
+ data: Object;
9
+ filter?: Object;
10
+ extra?: Object;
11
+ operator?: User;
12
+ targetEntity: String<32>;
13
+ };
14
+
15
+ const entityDesc: EntityDesc<Schema> = {
16
+ locales: {
17
+ zh_CN: {
18
+ name: '操作',
19
+ attr: {
20
+ action: '动作',
21
+ data: '数据',
22
+ filter: '选择条件',
23
+ extra: '其它',
24
+ operator: '操作者',
25
+ targetEntity: '关联对象',
26
+ },
27
+ },
28
+ },
29
+ configuration: {
30
+ actionType: 'appendOnly',
31
+ }
32
+ };
@@ -1,27 +1,27 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape, Configuration } from '../types/Entity';
3
- import { LocaleDef } from '../types/Locale';
4
- import { Schema as Oper } from './Oper';
5
- import { EntityDesc } from '../types/EntityDesc';
6
-
7
- export interface Schema extends EntityShape {
8
- oper: Oper,
9
- entity: String<32>;
10
- entityId: String<64>;
11
- };
12
-
13
- const entityDesc: EntityDesc<Schema> = {
14
- locales: {
15
- zh_CN: {
16
- name: '操作对象连接',
17
- attr: {
18
- oper: '操作',
19
- entity: '关联对象',
20
- entityId: '关联对象id',
21
- },
22
- },
23
- },
24
- configuration: {
25
- actionType: 'appendOnly',
26
- }
27
- };
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape, Configuration } from '../types/Entity';
3
+ import { LocaleDef } from '../types/Locale';
4
+ import { Schema as Oper } from './Oper';
5
+ import { EntityDesc } from '../types/EntityDesc';
6
+
7
+ export interface Schema extends EntityShape {
8
+ oper: Oper,
9
+ entity: String<32>;
10
+ entityId: String<64>;
11
+ };
12
+
13
+ const entityDesc: EntityDesc<Schema> = {
14
+ locales: {
15
+ zh_CN: {
16
+ name: '操作对象连接',
17
+ attr: {
18
+ oper: '操作',
19
+ entity: '关联对象',
20
+ entityId: '关联对象id',
21
+ },
22
+ },
23
+ },
24
+ configuration: {
25
+ actionType: 'appendOnly',
26
+ }
27
+ };
@@ -0,0 +1,43 @@
1
+ import { String, Boolean, Text } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { EntityDesc } from '../types/EntityDesc';
4
+
5
+ export interface Schema extends EntityShape {
6
+ destEntity: String<32>;
7
+ value: String<256>;
8
+ recursive: Boolean;
9
+ sourceEntity: String<32>;
10
+ };
11
+
12
+ const entityDesc: EntityDesc<Schema> = {
13
+ indexes: [
14
+ {
15
+ name: 'index_source_dest_path',
16
+ attributes: [
17
+ {
18
+ name: 'sourceEntity',
19
+ },
20
+ {
21
+ name: 'value',
22
+ },
23
+ {
24
+ name: 'destEntity',
25
+ },
26
+ ],
27
+ config: {
28
+ unique: true,
29
+ },
30
+ },
31
+ ],
32
+ locales: {
33
+ zh_CN: {
34
+ name: '关系路径',
35
+ attr: {
36
+ sourceEntity: '源对象',
37
+ value: '路径(从dest到source)',
38
+ destEntity: '目标对象',
39
+ recursive: '是否递归(目标对象)',
40
+ },
41
+ },
42
+ }
43
+ };
@@ -1,43 +1,43 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { EntityDesc } from '../types/EntityDesc';
4
-
5
- export interface Schema extends EntityShape {
6
- entity: String<32>;
7
- entityId?: String<64>; // 可以为空
8
- name?: String<32>;
9
- display?: String<32>;
10
- };
11
-
12
- const entityDesc: EntityDesc<Schema> = {
13
- locales: {
14
- zh_CN: {
15
- name: '用户授权',
16
- attr: {
17
- name: '关系',
18
- entity: '目标对象',
19
- entityId: '目标对象id',
20
- display: '显示值',
21
- },
22
- },
23
- },
24
- indexes: [
25
- {
26
- name: 'index_targetEntity_entityId_name',
27
- attributes: [
28
- {
29
- name: 'entity',
30
- },
31
- {
32
- name: 'entityId',
33
- },
34
- {
35
- name: 'name',
36
- }
37
- ],
38
- config: {
39
- unique: true,
40
- },
41
- },
42
- ]
43
- };
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { EntityDesc } from '../types/EntityDesc';
4
+
5
+ export interface Schema extends EntityShape {
6
+ entity: String<32>;
7
+ entityId?: String<64>; // 可以为空
8
+ name?: String<32>;
9
+ display?: String<32>;
10
+ };
11
+
12
+ const entityDesc: EntityDesc<Schema> = {
13
+ locales: {
14
+ zh_CN: {
15
+ name: '用户授权',
16
+ attr: {
17
+ name: '关系',
18
+ entity: '目标对象',
19
+ entityId: '目标对象id',
20
+ display: '显示值',
21
+ },
22
+ },
23
+ },
24
+ indexes: [
25
+ {
26
+ name: 'index_targetEntity_entityId_name',
27
+ attributes: [
28
+ {
29
+ name: 'entity',
30
+ },
31
+ {
32
+ name: 'entityId',
33
+ },
34
+ {
35
+ name: 'name',
36
+ }
37
+ ],
38
+ config: {
39
+ unique: true,
40
+ },
41
+ },
42
+ ]
43
+ };
@@ -1,43 +1,44 @@
1
- import { String } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { Schema as Relation } from './Relation';
4
- import { EntityDesc } from '../types/EntityDesc';
5
-
6
- // destRelation需要有sourceRelation才能授权/除权
7
- export interface Schema extends EntityShape {
8
- sourceRelation: Relation;
9
- path: String<256>;
10
- destRelation: Relation;
11
- };
12
-
13
- const entityDesc: EntityDesc<Schema> = {
14
- indexes: [
15
- {
16
- name: 'index_entity_relation_path',
17
- attributes: [
18
- {
19
- name: 'sourceRelation',
20
- },
21
- {
22
- name: 'path',
23
- },
24
- {
25
- name: 'destRelation',
26
- },
27
- ],
28
- config: {
29
- unique: true,
30
- },
31
- },
32
- ],
33
- locales: {
34
- zh_CN: {
35
- name: '用户授权',
36
- attr: {
37
- sourceRelation: '源关系',
38
- path: '路径',
39
- destRelation: '目标关系',
40
- },
41
- },
42
- }
43
- };
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { Schema as Relation } from './Relation';
4
+ import { EntityDesc } from '../types/EntityDesc';
5
+ import { Schema as Path } from './Path';
6
+
7
+ // destRelation需要有sourceRelation才能授权/除权
8
+ export interface Schema extends EntityShape {
9
+ sourceRelation: Relation;
10
+ path: Path;
11
+ destRelation: Relation;
12
+ };
13
+
14
+ const entityDesc: EntityDesc<Schema> = {
15
+ indexes: [
16
+ {
17
+ name: 'index_entity_relation_path',
18
+ attributes: [
19
+ {
20
+ name: 'sourceRelation',
21
+ },
22
+ {
23
+ name: 'path',
24
+ },
25
+ {
26
+ name: 'destRelation',
27
+ },
28
+ ],
29
+ config: {
30
+ unique: true,
31
+ },
32
+ },
33
+ ],
34
+ locales: {
35
+ zh_CN: {
36
+ name: '用户授权',
37
+ attr: {
38
+ sourceRelation: '源关系',
39
+ path: '路径',
40
+ destRelation: '目标关系',
41
+ },
42
+ },
43
+ }
44
+ };
@@ -1,49 +1,49 @@
1
- import { String, Int, Text, Image, Datetime } from '../types/DataType';
2
- import { EntityShape } from '../types/Entity';
3
- import { ActionDef } from '../types/Action';
4
- import { EntityDesc } from '../types/EntityDesc';
5
-
6
- export interface Schema extends EntityShape {
7
- name?: String<16>;
8
- nickname?: String<64>;
9
- password?: Text;
10
- ref?: Schema;
11
- };
12
-
13
- type UserAction = 'mergeTo';
14
- type UserState = 'normal' | 'merged';
15
-
16
- type Action = UserAction;
17
-
18
-
19
- const UserActionDef: ActionDef<UserAction, UserState> = {
20
- stm: {
21
- mergeTo: ['normal', 'merged'],
22
- },
23
- };
24
-
25
- const entityDesc: EntityDesc<Schema, Action, '', {
26
- userState: UserState,
27
- }> = {
28
- locales: {
29
- zh_CN: {
30
- name: '用户',
31
- attr: {
32
- name: '姓名',
33
- nickname: '昵称',
34
- password: '密码',
35
- ref: '指向用户',
36
- userState: '状态',
37
- },
38
- action: {
39
- mergeTo: '合并',
40
- },
41
- v: {
42
- userState: {
43
- normal: '正常',
44
- merged: '已被合并',
45
- },
46
- }
47
- },
48
- },
1
+ import { String, Int, Text, Image, Datetime } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { ActionDef } from '../types/Action';
4
+ import { EntityDesc } from '../types/EntityDesc';
5
+
6
+ export interface Schema extends EntityShape {
7
+ name?: String<16>;
8
+ nickname?: String<64>;
9
+ password?: Text;
10
+ ref?: Schema;
11
+ };
12
+
13
+ type UserAction = 'mergeTo';
14
+ type UserState = 'normal' | 'merged';
15
+
16
+ type Action = UserAction;
17
+
18
+
19
+ const UserActionDef: ActionDef<UserAction, UserState> = {
20
+ stm: {
21
+ mergeTo: ['normal', 'merged'],
22
+ },
23
+ };
24
+
25
+ const entityDesc: EntityDesc<Schema, Action, '', {
26
+ userState: UserState,
27
+ }> = {
28
+ locales: {
29
+ zh_CN: {
30
+ name: '用户',
31
+ attr: {
32
+ name: '姓名',
33
+ nickname: '昵称',
34
+ password: '密码',
35
+ ref: '指向用户',
36
+ userState: '状态',
37
+ },
38
+ action: {
39
+ mergeTo: '合并',
40
+ },
41
+ v: {
42
+ userState: {
43
+ normal: '正常',
44
+ merged: '已被合并',
45
+ },
46
+ }
47
+ },
48
+ },
49
49
  };
@@ -0,0 +1,30 @@
1
+ import { String } from '../types/DataType';
2
+ import { EntityShape } from '../types/Entity';
3
+ import { EntityDesc } from '../types/EntityDesc';
4
+ import { Schema as UserEntityGrant } from './UserEntityGrant';
5
+ import { Schema as User } from './User';
6
+ import { Schema as Relation } from './Relation';
7
+ import { Schema as UserRelation } from './UserRelation';
8
+
9
+ export interface Schema extends EntityShape {
10
+ ueg: UserEntityGrant;
11
+ user: User;
12
+ relation: Relation;
13
+ claimEntityId: String<64>;
14
+ userRelation: UserRelation;
15
+ };
16
+
17
+ const entityDesc: EntityDesc<Schema, ''> = {
18
+ locales: {
19
+ zh_CN: {
20
+ name: '用户授权领取',
21
+ attr: {
22
+ ueg: '授权',
23
+ user: '用户',
24
+ relation: '关系',
25
+ claimEntityId: '对象Id',
26
+ userRelation: '用户关系',
27
+ },
28
+ },
29
+ },
30
+ };