oak-domain 3.0.4 → 4.0.1

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 (220) 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 -25
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +186 -186
  6. package/lib/base-app-domain/ActionAuth/Storage.js +39 -39
  7. package/lib/base-app-domain/ActionDefDict.d.ts +8 -8
  8. package/lib/base-app-domain/ActionDefDict.js +9 -9
  9. package/lib/base-app-domain/EntityDict.d.ts +28 -28
  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 -384
  19. package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
  20. package/lib/base-app-domain/Oper/Schema.d.ts +153 -153
  21. package/lib/base-app-domain/Oper/Storage.js +38 -38
  22. package/lib/base-app-domain/OperEntity/Schema.d.ts +373 -373
  23. package/lib/base-app-domain/OperEntity/Storage.js +30 -30
  24. package/lib/base-app-domain/Path/Schema.d.ts +149 -149
  25. package/lib/base-app-domain/Path/Schema.js +2 -2
  26. package/lib/base-app-domain/Path/Storage.d.ts +3 -3
  27. package/lib/base-app-domain/Path/Storage.js +54 -54
  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 -2
  31. package/lib/base-app-domain/Relation.js +4 -4
  32. package/lib/base-app-domain/RelationAuth/Schema.d.ts +214 -214
  33. package/lib/base-app-domain/RelationAuth/Storage.js +44 -44
  34. package/lib/base-app-domain/Storage.js +31 -31
  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 -210
  38. package/lib/base-app-domain/User/Storage.js +33 -33
  39. package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -264
  40. package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -2
  41. package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -3
  42. package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -37
  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 -131
  46. package/lib/base-app-domain/UserEntityGrant/Storage.js +25 -25
  47. package/lib/base-app-domain/UserRelation/Schema.d.ts +208 -208
  48. package/lib/base-app-domain/UserRelation/Storage.js +56 -56
  49. package/lib/base-app-domain/_SubQuery.d.ts +142 -142
  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 -13
  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 -48
  58. package/lib/compiler/localeBuilder.d.ts +27 -22
  59. package/lib/compiler/localeBuilder.js +184 -173
  60. package/lib/compiler/schemalBuilder.d.ts +27 -27
  61. package/lib/compiler/schemalBuilder.js +3569 -3569
  62. package/lib/entities/ActionAuth.d.ts +10 -10
  63. package/lib/entities/ActionAuth.js +31 -31
  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 -8
  71. package/lib/entities/Path.js +35 -35
  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 -13
  78. package/lib/entities/UserEntityClaim.js +17 -17
  79. package/lib/entities/UserEntityGrant.d.ts +9 -9
  80. package/lib/entities/UserEntityGrant.js +15 -15
  81. package/lib/entities/UserRelation.d.ts +10 -10
  82. package/lib/entities/UserRelation.js +38 -38
  83. package/lib/index.d.ts +23 -23
  84. package/lib/index.js +37 -37
  85. package/lib/store/AsyncRowStore.d.ts +65 -59
  86. package/lib/store/AsyncRowStore.js +176 -116
  87. package/lib/store/CascadeStore.d.ts +106 -103
  88. package/lib/store/CascadeStore.js +1740 -1662
  89. package/lib/store/RelationAuth.d.ts +96 -96
  90. package/lib/store/RelationAuth.js +1336 -1334
  91. package/lib/store/SyncRowStore.d.ts +29 -29
  92. package/lib/store/SyncRowStore.js +50 -50
  93. package/lib/store/TriggerExecutor.d.ts +41 -38
  94. package/lib/store/TriggerExecutor.js +468 -459
  95. package/lib/store/actionAuth.d.ts +4 -4
  96. package/lib/store/actionAuth.js +25 -25
  97. package/lib/store/actionDef.d.ts +10 -10
  98. package/lib/store/actionDef.js +278 -278
  99. package/lib/store/checker.d.ts +26 -26
  100. package/lib/store/checker.js +487 -487
  101. package/lib/store/filter.d.ts +85 -122
  102. package/lib/store/filter.js +1652 -1623
  103. package/lib/store/modi.d.ts +13 -13
  104. package/lib/store/modi.js +254 -254
  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 -57
  109. package/lib/timers/vaccum.d.ts +20 -20
  110. package/lib/timers/vaccum.js +111 -111
  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 -17
  115. package/lib/types/AppLoader.js +10 -10
  116. package/lib/types/Auth.d.ts +70 -70
  117. package/lib/types/Cluster.d.ts +5 -0
  118. package/lib/types/Cluster.js +2 -0
  119. package/lib/types/Connector.d.ts +38 -38
  120. package/lib/types/Connector.js +2 -2
  121. package/lib/types/DataType.d.ts +25 -25
  122. package/lib/types/DataType.js +6 -6
  123. package/lib/types/Demand.d.ts +89 -88
  124. package/lib/types/Demand.js +10 -10
  125. package/lib/types/Endpoint.d.ts +11 -11
  126. package/lib/types/Entity.d.ts +209 -202
  127. package/lib/types/Entity.js +15 -15
  128. package/lib/types/EntityDesc.d.ts +9 -9
  129. package/lib/types/EntityDesc.js +2 -2
  130. package/lib/types/Environment.d.ts +90 -57
  131. package/lib/types/Environment.js +2 -2
  132. package/lib/types/Exception.d.ts +147 -147
  133. package/lib/types/Exception.js +406 -406
  134. package/lib/types/Expression.d.ts +163 -163
  135. package/lib/types/Expression.js +397 -394
  136. package/lib/types/Geo.d.ts +18 -18
  137. package/lib/types/Locale.d.ts +25 -25
  138. package/lib/types/Logger.d.ts +6 -6
  139. package/lib/types/Polyfill.d.ts +24 -24
  140. package/lib/types/Port.d.ts +18 -18
  141. package/lib/types/RowStore.d.ts +19 -18
  142. package/lib/types/RowStore.js +33 -33
  143. package/lib/types/Storage.d.ts +58 -58
  144. package/lib/types/Style.d.ts +11 -11
  145. package/lib/types/Timer.d.ts +20 -14
  146. package/lib/types/Trigger.d.ts +118 -124
  147. package/lib/types/Trigger.js +35 -58
  148. package/lib/types/Watcher.d.ts +19 -19
  149. package/lib/types/index.d.ts +26 -25
  150. package/lib/types/index.js +29 -28
  151. package/lib/types/schema/DataTypes.d.ts +34 -34
  152. package/lib/utils/SimpleConnector.d.ts +64 -64
  153. package/lib/utils/SimpleConnector.js +206 -206
  154. package/lib/utils/assert.d.ts +5 -5
  155. package/lib/utils/assert.js +9 -9
  156. package/lib/utils/concurrent.d.ts +15 -15
  157. package/lib/utils/concurrent.js +63 -63
  158. package/lib/utils/date.js +18 -18
  159. package/lib/utils/{url.d.ts → domain.d.ts} +1 -1
  160. package/lib/utils/{url.js → domain.js} +11 -13
  161. package/lib/utils/geo.js +24 -24
  162. package/lib/utils/lodash.d.ts +24 -22
  163. package/lib/utils/lodash.js +46 -42
  164. package/lib/utils/mask.js +34 -34
  165. package/lib/utils/money.d.ts +6 -6
  166. package/lib/utils/money.js +51 -51
  167. package/lib/utils/projection.d.ts +4 -4
  168. package/lib/utils/projection.js +15 -15
  169. package/lib/utils/random/random.js +19 -19
  170. package/lib/utils/random/random.mp.js +14 -14
  171. package/lib/utils/random/random.native.d.ts +1 -0
  172. package/lib/utils/random/random.native.js +14 -0
  173. package/lib/utils/random/random.web.js +11 -11
  174. package/lib/utils/string.d.ts +28 -28
  175. package/lib/utils/string.js +69 -69
  176. package/lib/utils/url/index.d.ts +7 -0
  177. package/lib/utils/url/index.js +8 -0
  178. package/lib/utils/url/index.mp.d.ts +3 -0
  179. package/lib/utils/url/index.mp.js +8 -0
  180. package/lib/utils/url/index.native.d.ts +12 -0
  181. package/lib/utils/url/index.native.js +7 -0
  182. package/lib/utils/url/index.web.d.ts +12 -0
  183. package/lib/utils/url/index.web.js +7 -0
  184. package/lib/utils/url/whatwg-url/index.d.ts +3 -0
  185. package/lib/utils/url/whatwg-url/index.js +16 -0
  186. package/lib/utils/url/whatwg-url/lib/URL-impl.d.ts +20 -0
  187. package/lib/utils/url/whatwg-url/lib/URL-impl.js +175 -0
  188. package/lib/utils/url/whatwg-url/lib/URL.d.ts +1 -0
  189. package/lib/utils/url/whatwg-url/lib/URL.js +298 -0
  190. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.d.ts +19 -0
  191. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.js +126 -0
  192. package/lib/utils/url/whatwg-url/lib/URLSearchParams.d.ts +1 -0
  193. package/lib/utils/url/whatwg-url/lib/URLSearchParams.js +426 -0
  194. package/lib/utils/url/whatwg-url/lib/infra.d.ts +12 -0
  195. package/lib/utils/url/whatwg-url/lib/infra.js +25 -0
  196. package/lib/utils/url/whatwg-url/lib/url-state-machine.d.ts +24 -0
  197. package/lib/utils/url/whatwg-url/lib/url-state-machine.js +1238 -0
  198. package/lib/utils/url/whatwg-url/lib/urlencoded.d.ts +15 -0
  199. package/lib/utils/url/whatwg-url/lib/urlencoded.js +162 -0
  200. package/lib/utils/url/whatwg-url/lib/utils.d.ts +37 -0
  201. package/lib/utils/url/whatwg-url/lib/utils.js +101 -0
  202. package/lib/utils/uuid.d.ts +17 -17
  203. package/lib/utils/uuid.js +218 -218
  204. package/lib/utils/validator.d.ts +26 -26
  205. package/lib/utils/validator.js +131 -131
  206. package/lib/utils/version.js +21 -21
  207. package/package.json +50 -49
  208. package/src/entities/ActionAuth.ts +41 -41
  209. package/src/entities/I18n.ts +45 -46
  210. package/src/entities/Modi.ts +69 -69
  211. package/src/entities/ModiEntity.ts +26 -26
  212. package/src/entities/Oper.ts +32 -32
  213. package/src/entities/OperEntity.ts +27 -27
  214. package/src/entities/Path.ts +43 -43
  215. package/src/entities/Relation.ts +43 -43
  216. package/src/entities/RelationAuth.ts +44 -44
  217. package/src/entities/User.ts +48 -48
  218. package/src/entities/UserEntityClaim.ts +29 -29
  219. package/src/entities/UserEntityGrant.ts +24 -24
  220. 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
+ };
@@ -1,43 +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
+ 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,44 +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
- 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
+ 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
  };