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,16 +1,16 @@
1
- import { ActionDef } from '../types/Action';
2
- export declare type ReadOnlyAction = 'select' | 'count' | 'stat' | 'download' | 'aggregate';
3
- export declare type AppendOnlyAction = ReadOnlyAction | 'create';
4
- export declare type ExcludeUpdateAction = AppendOnlyAction | 'remove';
5
- export declare type ExcludeRemoveAction = AppendOnlyAction | 'update';
6
- export declare type GenericAction = 'update' | ExcludeUpdateAction;
7
- export declare type RelationAction = 'grant' | 'revoke';
8
- export declare const readOnlyActions: string[];
9
- export declare const appendOnlyActions: string[];
10
- export declare const excludeUpdateActions: string[];
11
- export declare const excludeRemoveActions: string[];
12
- export declare const genericActions: string[];
13
- export declare const relationActions: string[];
14
- export declare type AbleAction = 'enable' | 'disable';
15
- export declare type AbleState = 'enabled' | 'disabled';
16
- export declare const makeAbleActionDef: (initialState?: AbleState) => ActionDef<AbleAction, AbleState>;
1
+ import { ActionDef } from '../types/Action';
2
+ export type ReadOnlyAction = 'select' | 'count' | 'stat' | 'download' | 'aggregate';
3
+ export type AppendOnlyAction = ReadOnlyAction | 'create';
4
+ export type ExcludeUpdateAction = AppendOnlyAction | 'remove';
5
+ export type ExcludeRemoveAction = AppendOnlyAction | 'update';
6
+ export type GenericAction = 'update' | ExcludeUpdateAction;
7
+ export type RelationAction = 'grant' | 'revoke';
8
+ export declare const readOnlyActions: string[];
9
+ export declare const appendOnlyActions: string[];
10
+ export declare const excludeUpdateActions: string[];
11
+ export declare const excludeRemoveActions: string[];
12
+ export declare const genericActions: string[];
13
+ export declare const relationActions: string[];
14
+ export type AbleAction = 'enable' | 'disable';
15
+ export type AbleState = 'enabled' | 'disabled';
16
+ export declare const makeAbleActionDef: (initialState?: AbleState) => ActionDef<AbleAction, AbleState>;
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeAbleActionDef = exports.relationActions = exports.genericActions = exports.excludeRemoveActions = exports.excludeUpdateActions = exports.appendOnlyActions = exports.readOnlyActions = void 0;
4
- exports.readOnlyActions = ['count', 'stat', 'download', 'select', 'aggregate'];
5
- exports.appendOnlyActions = exports.readOnlyActions.concat('create');
6
- exports.excludeUpdateActions = exports.appendOnlyActions.concat('remove');
7
- exports.excludeRemoveActions = exports.appendOnlyActions.concat('update');
8
- exports.genericActions = exports.excludeUpdateActions.concat('update');
9
- exports.relationActions = ['grant', 'revoke'];
10
- var makeAbleActionDef = function (initialState) { return ({
11
- stm: {
12
- enable: ['disabled', 'enabled'],
13
- disable: ['enabled', 'disabled'],
14
- },
15
- is: initialState,
16
- }); };
17
- exports.makeAbleActionDef = makeAbleActionDef;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeAbleActionDef = exports.relationActions = exports.genericActions = exports.excludeRemoveActions = exports.excludeUpdateActions = exports.appendOnlyActions = exports.readOnlyActions = void 0;
4
+ exports.readOnlyActions = ['count', 'stat', 'download', 'select', 'aggregate'];
5
+ exports.appendOnlyActions = exports.readOnlyActions.concat('create');
6
+ exports.excludeUpdateActions = exports.appendOnlyActions.concat('remove');
7
+ exports.excludeRemoveActions = exports.appendOnlyActions.concat('update');
8
+ exports.genericActions = exports.excludeUpdateActions.concat('update');
9
+ exports.relationActions = ['grant', 'revoke'];
10
+ const makeAbleActionDef = (initialState) => ({
11
+ stm: {
12
+ enable: ['disabled', 'enabled'],
13
+ disable: ['enabled', 'disabled'],
14
+ },
15
+ is: initialState,
16
+ });
17
+ exports.makeAbleActionDef = makeAbleActionDef;
@@ -1,5 +1,5 @@
1
- import { CascadeRelationItem, RelationHierarchy, EntityDict } from "../types/Entity";
2
- export declare type GenericRelation = 'owner';
3
- export declare function convertHierarchyToAuth<ED extends EntityDict, T extends keyof ED>(entity: T, hierarchy: RelationHierarchy<NonNullable<ED[T]['Relation']>>): {
4
- [K in NonNullable<ED[T]['Relation']>]?: CascadeRelationItem;
5
- };
1
+ import { CascadeRelationItem, RelationHierarchy, EntityDict } from "../types/Entity";
2
+ export type GenericRelation = 'owner';
3
+ export declare function convertHierarchyToAuth<ED extends EntityDict, T extends keyof ED>(entity: T, hierarchy: RelationHierarchy<NonNullable<ED[T]['Relation']>>): {
4
+ [K in NonNullable<ED[T]['Relation']>]?: CascadeRelationItem;
5
+ };
@@ -1,38 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertHierarchyToAuth = void 0;
4
- var tslib_1 = require("tslib");
5
- function convertHierarchyToAuth(entity, hierarchy) {
6
- var e_1, _a;
7
- var _b;
8
- var reverseHierarchy = {};
9
- for (var r in hierarchy) {
10
- try {
11
- for (var _c = (e_1 = void 0, tslib_1.__values(hierarchy[r])), _d = _c.next(); !_d.done; _d = _c.next()) {
12
- var r2 = _d.value;
13
- if (reverseHierarchy[r2]) {
14
- (_b = reverseHierarchy[r2]) === null || _b === void 0 ? void 0 : _b.push(r);
15
- }
16
- else {
17
- reverseHierarchy[r2] = [r];
18
- }
19
- }
20
- }
21
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
22
- finally {
23
- try {
24
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
25
- }
26
- finally { if (e_1) throw e_1.error; }
27
- }
28
- }
29
- var result = {};
30
- for (var r in reverseHierarchy) {
31
- result[r] = {
32
- cascadePath: '',
33
- relations: reverseHierarchy[r],
34
- };
35
- }
36
- return result;
37
- }
38
- exports.convertHierarchyToAuth = convertHierarchyToAuth;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertHierarchyToAuth = void 0;
4
+ function convertHierarchyToAuth(entity, hierarchy) {
5
+ const reverseHierarchy = {};
6
+ for (const r in hierarchy) {
7
+ for (const r2 of hierarchy[r]) {
8
+ if (reverseHierarchy[r2]) {
9
+ reverseHierarchy[r2]?.push(r);
10
+ }
11
+ else {
12
+ reverseHierarchy[r2] = [r];
13
+ }
14
+ }
15
+ }
16
+ const result = {};
17
+ for (const r in reverseHierarchy) {
18
+ result[r] = {
19
+ cascadePath: '',
20
+ relations: reverseHierarchy[r],
21
+ };
22
+ }
23
+ return result;
24
+ }
25
+ exports.convertHierarchyToAuth = convertHierarchyToAuth;
@@ -1,160 +1,186 @@
1
- import { ForeignKey, JsonProjection } from "../../types/DataType";
2
- import { Q_DateValue, Q_StringValue, NodeId, MakeFilter, ExprOp, ExpressionKey, JsonFilter, SubQueryPredicateMetadata } from "../../types/Demand";
3
- import { OneOf } from "../../types/Polyfill";
4
- import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction, AggregationResult } from "../../types/Entity";
5
- import { GenericAction } from "../../actions/action";
6
- import { String } from "../../types/DataType";
7
- import { EntityShape } from "../../types/Entity";
8
- import * as Relation from "../Relation/Schema";
9
- import * as ModiEntity from "../ModiEntity/Schema";
10
- import * as OperEntity from "../OperEntity/Schema";
11
- declare type Actions = string[];
12
- declare type Paths = string[];
13
- export declare type OpSchema = EntityShape & {
14
- relationId?: ForeignKey<"relation"> | null;
15
- paths: Paths;
16
- destEntity: String<32>;
17
- deActions: Actions;
18
- };
19
- export declare type OpAttr = keyof OpSchema;
20
- export declare type Schema = EntityShape & {
21
- relationId?: ForeignKey<"relation"> | null;
22
- paths: Paths;
23
- destEntity: String<32>;
24
- deActions: Actions;
25
- relation?: Relation.Schema | null;
26
- modiEntity$entity?: Array<ModiEntity.Schema>;
27
- modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
28
- operEntity$entity?: Array<OperEntity.Schema>;
29
- operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
30
- } & {
31
- [A in ExpressionKey]?: any;
32
- };
33
- declare type AttrFilter = {
34
- id: Q_StringValue;
35
- $$createAt$$: Q_DateValue;
36
- $$seq$$: Q_StringValue;
37
- $$updateAt$$: Q_DateValue;
38
- relationId: Q_StringValue;
39
- relation: Relation.Filter;
40
- paths: JsonFilter<Paths>;
41
- destEntity: Q_StringValue;
42
- deActions: JsonFilter<Actions>;
43
- modiEntity$entity: ModiEntity.Filter & SubQueryPredicateMetadata;
44
- operEntity$entity: OperEntity.Filter & SubQueryPredicateMetadata;
45
- };
46
- export declare type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
47
- export declare type Projection = {
48
- "#id"?: NodeId;
49
- [k: string]: any;
50
- id?: number;
51
- $$createAt$$?: number;
52
- $$updateAt$$?: number;
53
- $$seq$$?: number;
54
- relationId?: number;
55
- relation?: Relation.Projection;
56
- paths?: number | JsonProjection<Paths>;
57
- destEntity?: number;
58
- deActions?: number | JsonProjection<Actions>;
59
- modiEntity$entity?: ModiEntity.Selection & {
60
- $entity: "modiEntity";
61
- };
62
- modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
63
- $entity: "modiEntity";
64
- };
65
- operEntity$entity?: OperEntity.Selection & {
66
- $entity: "operEntity";
67
- };
68
- operEntity$entity$$aggr?: OperEntity.Aggregation & {
69
- $entity: "operEntity";
70
- };
71
- } & Partial<ExprOp<OpAttr | string>>;
72
- declare type ActionAuthIdProjection = OneOf<{
73
- id: number;
74
- }>;
75
- declare type RelationIdProjection = OneOf<{
76
- relationId: number;
77
- }>;
78
- export declare type SortAttr = {
79
- id: number;
80
- } | {
81
- $$createAt$$: number;
82
- } | {
83
- $$seq$$: number;
84
- } | {
85
- $$updateAt$$: number;
86
- } | {
87
- relationId: number;
88
- } | {
89
- relation: Relation.SortAttr;
90
- } | {
91
- paths: number;
92
- } | {
93
- destEntity: number;
94
- } | {
95
- deActions: number;
96
- } | {
97
- [k: string]: any;
98
- } | OneOf<ExprOp<OpAttr | string>>;
99
- export declare type SortNode = {
100
- $attr: SortAttr;
101
- $direction?: "asc" | "desc";
102
- };
103
- export declare type Sorter = SortNode[];
104
- export declare type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
105
- export declare type Selection<P extends Object = Projection> = SelectOperation<P>;
106
- export declare type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
107
- export declare type CreateOperationData = FormCreateData<Omit<OpSchema, "relationId">> & (({
108
- relationId?: never;
109
- relation?: Relation.CreateSingleOperation;
110
- } | {
111
- relationId: ForeignKey<"relation">;
112
- relation?: Relation.UpdateOperation;
113
- } | {
114
- relationId?: ForeignKey<"relation">;
115
- })) & {
116
- modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
117
- operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
118
- };
119
- export declare type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
120
- export declare type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
121
- export declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
122
- export declare type UpdateOperationData = FormUpdateData<Omit<OpSchema, "relationId">> & (({
123
- relation: Relation.CreateSingleOperation;
124
- relationId?: never;
125
- } | {
126
- relation: Relation.UpdateOperation;
127
- relationId?: never;
128
- } | {
129
- relation: Relation.RemoveOperation;
130
- relationId?: never;
131
- } | {
132
- relation?: never;
133
- relationId?: ForeignKey<"relation"> | null;
134
- })) & {
135
- [k: string]: any;
136
- modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
137
- operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
138
- };
139
- export declare type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
140
- export declare type RemoveOperationData = {} & (({
141
- relation?: Relation.UpdateOperation | Relation.RemoveOperation;
142
- }));
143
- export declare type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
144
- export declare type Operation = CreateOperation | UpdateOperation | RemoveOperation;
145
- export declare type RelationIdSubQuery = Selection<RelationIdProjection>;
146
- export declare type ActionAuthIdSubQuery = Selection<ActionAuthIdProjection>;
147
- export declare type EntityDef = {
148
- Schema: Schema;
149
- OpSchema: OpSchema;
150
- Action: OakMakeAction<GenericAction> | string;
151
- Selection: Selection;
152
- Aggregation: Aggregation;
153
- Operation: Operation;
154
- Create: CreateOperation;
155
- Update: UpdateOperation;
156
- Remove: RemoveOperation;
157
- CreateSingle: CreateSingleOperation;
158
- CreateMulti: CreateMultipleOperation;
159
- };
160
- export {};
1
+ import { ForeignKey, JsonProjection } from "../../types/DataType";
2
+ import { Q_DateValue, Q_NumberValue, Q_StringValue, NodeId, MakeFilter, ExprOp, ExpressionKey, JsonFilter, SubQueryPredicateMetadata } from "../../types/Demand";
3
+ import { OneOf } from "../../types/Polyfill";
4
+ import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction, AggregationResult } from "../../types/Entity";
5
+ import { GenericAction } from "../../actions/action";
6
+ import { EntityShape } from "../../types/Entity";
7
+ import * as Relation from "../Relation/Schema";
8
+ import * as Path from "../Path/Schema";
9
+ import * as ModiEntity from "../ModiEntity/Schema";
10
+ import * as OperEntity from "../OperEntity/Schema";
11
+ type Actions = string[];
12
+ export type OpSchema = EntityShape & {
13
+ relationId?: ForeignKey<"relation"> | null;
14
+ pathId: ForeignKey<"path">;
15
+ deActions: Actions;
16
+ };
17
+ export type OpAttr = keyof OpSchema;
18
+ export type Schema = EntityShape & {
19
+ relationId?: ForeignKey<"relation"> | null;
20
+ pathId: ForeignKey<"path">;
21
+ deActions: Actions;
22
+ relation?: Relation.Schema | null;
23
+ path: Path.Schema;
24
+ modiEntity$entity?: Array<ModiEntity.Schema>;
25
+ modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
26
+ operEntity$entity?: Array<OperEntity.Schema>;
27
+ operEntity$entity$$aggr?: AggregationResult<OperEntity.Schema>;
28
+ } & {
29
+ [A in ExpressionKey]?: any;
30
+ };
31
+ type AttrFilter = {
32
+ id: Q_StringValue;
33
+ $$createAt$$: Q_DateValue;
34
+ $$seq$$: Q_NumberValue;
35
+ $$updateAt$$: Q_DateValue;
36
+ relationId: Q_StringValue;
37
+ relation: Relation.Filter;
38
+ pathId: Q_StringValue;
39
+ path: Path.Filter;
40
+ deActions: JsonFilter<Actions>;
41
+ modiEntity$entity: ModiEntity.Filter & SubQueryPredicateMetadata;
42
+ operEntity$entity: OperEntity.Filter & SubQueryPredicateMetadata;
43
+ };
44
+ export type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
45
+ export type Projection = {
46
+ "#id"?: NodeId;
47
+ [k: string]: any;
48
+ id?: number;
49
+ $$createAt$$?: number;
50
+ $$updateAt$$?: number;
51
+ $$seq$$?: number;
52
+ relationId?: number;
53
+ relation?: Relation.Projection;
54
+ pathId?: number;
55
+ path?: Path.Projection;
56
+ deActions?: number | JsonProjection<Actions>;
57
+ modiEntity$entity?: ModiEntity.Selection & {
58
+ $entity: "modiEntity";
59
+ };
60
+ modiEntity$entity$$aggr?: ModiEntity.Aggregation & {
61
+ $entity: "modiEntity";
62
+ };
63
+ operEntity$entity?: OperEntity.Selection & {
64
+ $entity: "operEntity";
65
+ };
66
+ operEntity$entity$$aggr?: OperEntity.Aggregation & {
67
+ $entity: "operEntity";
68
+ };
69
+ } & Partial<ExprOp<OpAttr | string>>;
70
+ type ActionAuthIdProjection = OneOf<{
71
+ id: number;
72
+ }>;
73
+ type RelationIdProjection = OneOf<{
74
+ relationId: number;
75
+ }>;
76
+ type PathIdProjection = OneOf<{
77
+ pathId: number;
78
+ }>;
79
+ export type SortAttr = {
80
+ id: number;
81
+ } | {
82
+ $$createAt$$: number;
83
+ } | {
84
+ $$seq$$: number;
85
+ } | {
86
+ $$updateAt$$: number;
87
+ } | {
88
+ relationId: number;
89
+ } | {
90
+ relation: Relation.SortAttr;
91
+ } | {
92
+ pathId: number;
93
+ } | {
94
+ path: Path.SortAttr;
95
+ } | {
96
+ deActions: number;
97
+ } | {
98
+ [k: string]: any;
99
+ } | OneOf<ExprOp<OpAttr | string>>;
100
+ export type SortNode = {
101
+ $attr: SortAttr;
102
+ $direction?: "asc" | "desc";
103
+ };
104
+ export type Sorter = SortNode[];
105
+ export type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
106
+ export type Selection<P extends Object = Projection> = SelectOperation<P>;
107
+ export type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
108
+ export type CreateOperationData = FormCreateData<Omit<OpSchema, "relationId" | "pathId">> & (({
109
+ relationId?: never;
110
+ relation?: Relation.CreateSingleOperation;
111
+ } | {
112
+ relationId: ForeignKey<"relation">;
113
+ relation?: Relation.UpdateOperation;
114
+ } | {
115
+ relation?: never;
116
+ relationId?: ForeignKey<"relation">;
117
+ }) & ({
118
+ pathId?: never;
119
+ path: Path.CreateSingleOperation;
120
+ } | {
121
+ pathId: ForeignKey<"path">;
122
+ path?: Path.UpdateOperation;
123
+ } | {
124
+ path?: never;
125
+ pathId: ForeignKey<"path">;
126
+ })) & {
127
+ modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
128
+ operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
129
+ };
130
+ export type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
131
+ export type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
132
+ export type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
133
+ export type UpdateOperationData = FormUpdateData<Omit<OpSchema, "relationId" | "pathId">> & (({
134
+ relation?: Relation.CreateSingleOperation;
135
+ relationId?: never;
136
+ } | {
137
+ relation?: Relation.UpdateOperation;
138
+ relationId?: never;
139
+ } | {
140
+ relation?: Relation.RemoveOperation;
141
+ relationId?: never;
142
+ } | {
143
+ relation?: never;
144
+ relationId?: ForeignKey<"relation"> | null;
145
+ }) & ({
146
+ path?: Path.CreateSingleOperation;
147
+ pathId?: never;
148
+ } | {
149
+ path?: Path.UpdateOperation;
150
+ pathId?: never;
151
+ } | {
152
+ path?: Path.RemoveOperation;
153
+ pathId?: never;
154
+ } | {
155
+ path?: never;
156
+ pathId?: ForeignKey<"path">;
157
+ })) & {
158
+ [k: string]: any;
159
+ modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
160
+ operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
161
+ };
162
+ export type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
163
+ export type RemoveOperationData = {} & (({
164
+ relation?: Relation.UpdateOperation | Relation.RemoveOperation;
165
+ }) & ({
166
+ path?: Path.UpdateOperation | Path.RemoveOperation;
167
+ }));
168
+ export type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
169
+ export type Operation = CreateOperation | UpdateOperation | RemoveOperation;
170
+ export type RelationIdSubQuery = Selection<RelationIdProjection>;
171
+ export type PathIdSubQuery = Selection<PathIdProjection>;
172
+ export type ActionAuthIdSubQuery = Selection<ActionAuthIdProjection>;
173
+ export type EntityDef = {
174
+ Schema: Schema;
175
+ OpSchema: OpSchema;
176
+ Action: OakMakeAction<GenericAction> | string;
177
+ Selection: Selection;
178
+ Aggregation: Aggregation;
179
+ Operation: Operation;
180
+ Create: CreateOperation;
181
+ Update: UpdateOperation;
182
+ Remove: RemoveOperation;
183
+ CreateSingle: CreateSingleOperation;
184
+ CreateMulti: CreateMultipleOperation;
185
+ };
186
+ export {};
@@ -1,42 +1,39 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.desc = void 0;
4
- var action_1 = require("../../actions/action");
5
- exports.desc = {
6
- attributes: {
7
- relationId: {
8
- type: "ref",
9
- ref: "relation"
10
- },
11
- paths: {
12
- notNull: true,
13
- type: "object"
14
- },
15
- destEntity: {
16
- notNull: true,
17
- type: "varchar",
18
- params: {
19
- length: 32
20
- }
21
- },
22
- deActions: {
23
- notNull: true,
24
- type: "object"
25
- }
26
- },
27
- actionType: "crud",
28
- actions: action_1.genericActions,
29
- indexes: [
30
- {
31
- name: 'index_entity_relation',
32
- attributes: [
33
- {
34
- name: 'destEntity'
35
- },
36
- {
37
- name: "relationId"
38
- },
39
- ]
40
- }
41
- ]
42
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.desc = void 0;
4
+ const action_1 = require("../../actions/action");
5
+ exports.desc = {
6
+ attributes: {
7
+ relationId: {
8
+ type: "ref",
9
+ ref: "relation"
10
+ },
11
+ pathId: {
12
+ notNull: true,
13
+ type: "ref",
14
+ ref: "path"
15
+ },
16
+ deActions: {
17
+ notNull: true,
18
+ type: "object"
19
+ }
20
+ },
21
+ actionType: "crud",
22
+ actions: action_1.genericActions,
23
+ indexes: [
24
+ {
25
+ name: 'index_relation_path',
26
+ attributes: [
27
+ {
28
+ name: "relationId",
29
+ },
30
+ {
31
+ name: "pathId",
32
+ }
33
+ ],
34
+ config: {
35
+ unique: true,
36
+ },
37
+ }
38
+ ]
39
+ };
@@ -1,9 +1,8 @@
1
- export declare const ActionDefDict: {
2
- modi: {
3
- iState: import("../types").ActionDef<string, string>;
4
- };
5
- user: {
6
- userState: import("../types").ActionDef<string, string>;
7
- };
8
- userEntityGrant: {};
9
- };
1
+ export declare const ActionDefDict: {
2
+ modi: {
3
+ iState: import("..").ActionDef<string, string>;
4
+ };
5
+ user: {
6
+ userState: import("..").ActionDef<string, string>;
7
+ };
8
+ };
@@ -1,11 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionDefDict = void 0;
4
- var Action_1 = require("./Modi/Action");
5
- var Action_2 = require("./User/Action");
6
- var Action_3 = require("./UserEntityGrant/Action");
7
- exports.ActionDefDict = {
8
- modi: Action_1.ActionDefDict,
9
- user: Action_2.ActionDefDict,
10
- userEntityGrant: Action_3.ActionDefDict
11
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionDefDict = void 0;
4
+ const Action_1 = require("./Modi/Action");
5
+ const Action_2 = require("./User/Action");
6
+ exports.ActionDefDict = {
7
+ modi: Action_1.ActionDefDict,
8
+ user: Action_2.ActionDefDict
9
+ };