oak-domain 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/lib/actions/action.d.ts +8 -8
  2. package/lib/actions/action.js +2 -2
  3. package/lib/actions/relation.d.ts +1 -1
  4. package/lib/actions/relation.js +9 -22
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +68 -42
  6. package/lib/base-app-domain/ActionAuth/Storage.js +12 -15
  7. package/lib/base-app-domain/ActionDefDict.d.ts +2 -3
  8. package/lib/base-app-domain/ActionDefDict.js +3 -5
  9. package/lib/base-app-domain/EntityDict.d.ts +5 -1
  10. package/lib/base-app-domain/I18n/Schema.d.ts +24 -24
  11. package/lib/base-app-domain/I18n/Storage.js +5 -5
  12. package/lib/base-app-domain/Modi/Action.d.ts +4 -4
  13. package/lib/base-app-domain/Modi/Action.js +3 -3
  14. package/lib/base-app-domain/Modi/Schema.d.ts +24 -24
  15. package/lib/base-app-domain/Modi/Storage.js +3 -3
  16. package/lib/base-app-domain/ModiEntity/Schema.d.ts +128 -55
  17. package/lib/base-app-domain/ModiEntity/Storage.js +2 -2
  18. package/lib/base-app-domain/Oper/Schema.d.ts +30 -29
  19. package/lib/base-app-domain/Oper/Storage.js +1 -1
  20. package/lib/base-app-domain/OperEntity/Schema.d.ts +126 -53
  21. package/lib/base-app-domain/OperEntity/Storage.js +2 -2
  22. package/lib/base-app-domain/Path/Schema.d.ts +149 -0
  23. package/lib/base-app-domain/Path/Schema.js +2 -0
  24. package/lib/base-app-domain/Path/Storage.d.ts +3 -0
  25. package/lib/base-app-domain/Path/Storage.js +54 -0
  26. package/lib/base-app-domain/Relation/Schema.d.ts +34 -34
  27. package/lib/base-app-domain/Relation/Storage.js +6 -6
  28. package/lib/base-app-domain/Relation.d.ts +0 -8
  29. package/lib/base-app-domain/Relation.js +1 -7
  30. package/lib/base-app-domain/RelationAuth/Schema.d.ts +74 -40
  31. package/lib/base-app-domain/RelationAuth/Storage.js +9 -11
  32. package/lib/base-app-domain/Storage.js +20 -16
  33. package/lib/base-app-domain/User/Action.d.ts +4 -4
  34. package/lib/base-app-domain/User/Action.js +3 -3
  35. package/lib/base-app-domain/User/Schema.d.ts +40 -27
  36. package/lib/base-app-domain/User/Storage.js +1 -1
  37. package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -0
  38. package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -0
  39. package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -0
  40. package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -0
  41. package/lib/base-app-domain/UserEntityGrant/Action.d.ts +2 -2
  42. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +55 -81
  43. package/lib/base-app-domain/UserEntityGrant/Storage.js +7 -11
  44. package/lib/base-app-domain/UserRelation/Schema.d.ts +50 -36
  45. package/lib/base-app-domain/UserRelation/Storage.js +7 -7
  46. package/lib/base-app-domain/_SubQuery.d.ts +45 -15
  47. package/lib/base-app-domain/index.js +1 -1
  48. package/lib/checkers/index.js +6 -7
  49. package/lib/compiler/env.js +16 -18
  50. package/lib/compiler/localeBuilder.js +83 -79
  51. package/lib/compiler/schemalBuilder.d.ts +16 -0
  52. package/lib/compiler/schemalBuilder.js +1160 -1378
  53. package/lib/entities/ActionAuth.d.ts +3 -5
  54. package/lib/entities/ActionAuth.js +9 -7
  55. package/lib/entities/I18n.js +1 -1
  56. package/lib/entities/Modi.js +2 -2
  57. package/lib/entities/ModiEntity.js +1 -1
  58. package/lib/entities/Oper.js +1 -1
  59. package/lib/entities/OperEntity.js +1 -1
  60. package/lib/entities/Path.d.ts +8 -0
  61. package/lib/entities/Path.js +35 -0
  62. package/lib/entities/Relation.js +1 -1
  63. package/lib/entities/RelationAuth.d.ts +2 -2
  64. package/lib/entities/RelationAuth.js +1 -1
  65. package/lib/entities/User.js +2 -2
  66. package/lib/entities/UserEntityClaim.d.ts +13 -0
  67. package/lib/entities/UserEntityClaim.js +17 -0
  68. package/lib/entities/UserEntityGrant.d.ts +5 -4
  69. package/lib/entities/UserEntityGrant.js +4 -7
  70. package/lib/entities/UserRelation.js +1 -1
  71. package/lib/index.d.ts +23 -0
  72. package/lib/index.js +37 -0
  73. package/lib/store/AsyncRowStore.d.ts +2 -1
  74. package/lib/store/AsyncRowStore.js +75 -149
  75. package/lib/store/CascadeStore.js +968 -1341
  76. package/lib/store/RelationAuth.d.ts +9 -16
  77. package/lib/store/RelationAuth.js +752 -910
  78. package/lib/store/SyncRowStore.d.ts +1 -1
  79. package/lib/store/SyncRowStore.js +27 -26
  80. package/lib/store/TriggerExecutor.d.ts +17 -10
  81. package/lib/store/TriggerExecutor.js +350 -423
  82. package/lib/store/actionAuth.js +13 -28
  83. package/lib/store/actionDef.js +142 -215
  84. package/lib/store/checker.js +225 -361
  85. package/lib/store/filter.d.ts +2 -3
  86. package/lib/store/filter.js +451 -589
  87. package/lib/store/modi.js +116 -177
  88. package/lib/store/relation.js +17 -17
  89. package/lib/timers/oper.d.ts +1 -1
  90. package/lib/timers/oper.js +44 -47
  91. package/lib/timers/vaccum.d.ts +2 -2
  92. package/lib/timers/vaccum.js +100 -165
  93. package/lib/triggers/index.js +1 -1
  94. package/lib/types/Action.d.ts +7 -7
  95. package/lib/types/AppLoader.d.ts +8 -2
  96. package/lib/types/AppLoader.js +4 -4
  97. package/lib/types/Auth.d.ts +15 -19
  98. package/lib/types/Connector.d.ts +19 -14
  99. package/lib/types/Connector.js +0 -7
  100. package/lib/types/DataType.d.ts +19 -18
  101. package/lib/types/DataType.js +1 -1
  102. package/lib/types/Demand.d.ts +25 -25
  103. package/lib/types/Endpoint.d.ts +1 -1
  104. package/lib/types/Entity.d.ts +62 -53
  105. package/lib/types/Entity.js +4 -3
  106. package/lib/types/EntityDesc.d.ts +2 -1
  107. package/lib/types/Environment.d.ts +4 -4
  108. package/lib/types/Exception.d.ts +34 -2
  109. package/lib/types/Exception.js +214 -197
  110. package/lib/types/Expression.d.ts +14 -14
  111. package/lib/types/Expression.js +54 -87
  112. package/lib/types/Geo.d.ts +6 -6
  113. package/lib/types/Locale.d.ts +5 -5
  114. package/lib/types/Polyfill.d.ts +9 -9
  115. package/lib/types/Port.d.ts +4 -4
  116. package/lib/types/RowStore.d.ts +3 -3
  117. package/lib/types/RowStore.js +18 -19
  118. package/lib/types/Storage.d.ts +5 -4
  119. package/lib/types/Style.d.ts +2 -2
  120. package/lib/types/Timer.d.ts +3 -3
  121. package/lib/types/Trigger.d.ts +30 -14
  122. package/lib/types/Trigger.js +6 -2
  123. package/lib/types/Watcher.d.ts +2 -2
  124. package/lib/types/index.d.ts +1 -0
  125. package/lib/types/index.js +2 -1
  126. package/lib/types/schema/DataTypes.d.ts +7 -7
  127. package/lib/utils/SimpleConnector.d.ts +26 -10
  128. package/lib/utils/SimpleConnector.js +167 -141
  129. package/lib/utils/assert.js +2 -2
  130. package/lib/utils/concurrent.d.ts +1 -1
  131. package/lib/utils/concurrent.js +31 -57
  132. package/lib/utils/date.js +2 -2
  133. package/lib/utils/geo.js +8 -8
  134. package/lib/utils/lodash.d.ts +3 -1
  135. package/lib/utils/lodash.js +21 -34
  136. package/lib/utils/mask.js +12 -13
  137. package/lib/utils/money.d.ts +1 -1
  138. package/lib/utils/money.js +22 -11
  139. package/lib/utils/projection.d.ts +4 -0
  140. package/lib/utils/projection.js +15 -0
  141. package/lib/utils/random/random.js +11 -16
  142. package/lib/utils/random/random.mp.js +7 -18
  143. package/lib/utils/random/random.web.js +6 -12
  144. package/lib/utils/string.d.ts +4 -4
  145. package/lib/utils/string.js +19 -32
  146. package/lib/utils/url.js +5 -4
  147. package/lib/utils/uuid.d.ts +1 -1
  148. package/lib/utils/uuid.js +46 -85
  149. package/lib/utils/validator.d.ts +4 -3
  150. package/lib/utils/validator.js +35 -32
  151. package/lib/utils/version.js +6 -6
  152. package/package.json +7 -7
  153. package/src/entities/ActionAuth.ts +10 -10
  154. package/src/entities/Path.ts +43 -0
  155. package/src/entities/RelationAuth.ts +2 -1
  156. package/src/entities/UserEntityClaim.ts +30 -0
  157. package/src/entities/UserEntityGrant.ts +9 -12
@@ -1,24 +1,26 @@
1
- import { ForeignKey } from "../../types/DataType";
2
- import { Q_DateValue, Q_StringValue, NodeId, MakeFilter, ExprOp, ExpressionKey, SubQueryPredicateMetadata } from "../../types/Demand";
1
+ import { JsonProjection } from "../../types/DataType";
2
+ import { Q_DateValue, Q_StringValue, NodeId, MakeFilter, ExprOp, ExpressionKey, JsonFilter, SubQueryPredicateMetadata } from "../../types/Demand";
3
3
  import { OneOf } from "../../types/Polyfill";
4
4
  import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction, AggregationResult } from "../../types/Entity";
5
- import { Action, ParticularAction } from "./Action";
5
+ import { GenericAction } from "../../actions/action";
6
6
  import { String } from "../../types/DataType";
7
7
  import { EntityShape } from "../../types/Entity";
8
- import * as Relation from "../Relation/Schema";
8
+ import * as UserEntityClaim from "../UserEntityClaim/Schema";
9
9
  import * as ModiEntity from "../ModiEntity/Schema";
10
10
  import * as OperEntity from "../OperEntity/Schema";
11
- export declare type OpSchema = EntityShape & {
12
- entity: String<32>;
13
- entityId: String<64>;
14
- relationId: ForeignKey<"relation">;
11
+ type RelationIds = string[];
12
+ export type OpSchema = EntityShape & {
13
+ relationEntity: String<32>;
14
+ relationEntityFilter: Object;
15
+ relationIds: RelationIds;
15
16
  };
16
- export declare type OpAttr = keyof OpSchema;
17
- export declare type Schema = EntityShape & {
18
- entity: String<32>;
19
- entityId: String<64>;
20
- relationId: ForeignKey<"relation">;
21
- relation: Relation.Schema;
17
+ export type OpAttr = keyof OpSchema;
18
+ export type Schema = EntityShape & {
19
+ relationEntity: String<32>;
20
+ relationEntityFilter: Object;
21
+ relationIds: RelationIds;
22
+ userEntityClaim$ueg?: Array<UserEntityClaim.Schema>;
23
+ userEntityClaim$ueg$$aggr?: AggregationResult<UserEntityClaim.Schema>;
22
24
  modiEntity$entity?: Array<ModiEntity.Schema>;
23
25
  modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
24
26
  operEntity$entity?: Array<OperEntity.Schema>;
@@ -26,30 +28,35 @@ export declare type Schema = EntityShape & {
26
28
  } & {
27
29
  [A in ExpressionKey]?: any;
28
30
  };
29
- declare type AttrFilter = {
31
+ type AttrFilter = {
30
32
  id: Q_StringValue;
31
33
  $$createAt$$: Q_DateValue;
32
34
  $$seq$$: Q_StringValue;
33
35
  $$updateAt$$: Q_DateValue;
34
- entity: Q_StringValue;
35
- entityId: Q_StringValue;
36
- relationId: Q_StringValue;
37
- relation: Relation.Filter;
36
+ relationEntity: Q_StringValue;
37
+ relationEntityFilter: Object;
38
+ relationIds: JsonFilter<RelationIds>;
39
+ userEntityClaim$ueg: UserEntityClaim.Filter & SubQueryPredicateMetadata;
38
40
  modiEntity$entity: ModiEntity.Filter & SubQueryPredicateMetadata;
39
41
  operEntity$entity: OperEntity.Filter & SubQueryPredicateMetadata;
40
42
  };
41
- export declare type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
42
- export declare type Projection = {
43
+ export type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
44
+ export type Projection = {
43
45
  "#id"?: NodeId;
44
46
  [k: string]: any;
45
47
  id?: number;
46
48
  $$createAt$$?: number;
47
49
  $$updateAt$$?: number;
48
50
  $$seq$$?: number;
49
- entity?: number;
50
- entityId?: number;
51
- relationId?: number;
52
- relation?: Relation.Projection;
51
+ relationEntity?: number;
52
+ relationEntityFilter?: number | Object;
53
+ relationIds?: number | JsonProjection<RelationIds>;
54
+ userEntityClaim$ueg?: UserEntityClaim.Selection & {
55
+ $entity: "userEntityClaim";
56
+ };
57
+ userEntityClaim$ueg$$aggr?: UserEntityClaim.Aggregation & {
58
+ $entity: "userEntityClaim";
59
+ };
53
60
  modiEntity$entity?: ModiEntity.Selection & {
54
61
  $entity: "modiEntity";
55
62
  };
@@ -63,13 +70,10 @@ export declare type Projection = {
63
70
  $entity: "operEntity";
64
71
  };
65
72
  } & Partial<ExprOp<OpAttr | string>>;
66
- declare type UserEntityGrantIdProjection = OneOf<{
73
+ type UserEntityGrantIdProjection = OneOf<{
67
74
  id: number;
68
75
  }>;
69
- declare type RelationIdProjection = OneOf<{
70
- relationId: number;
71
- }>;
72
- export declare type SortAttr = {
76
+ export type SortAttr = {
73
77
  id: number;
74
78
  } | {
75
79
  $$createAt$$: number;
@@ -78,72 +82,43 @@ export declare type SortAttr = {
78
82
  } | {
79
83
  $$updateAt$$: number;
80
84
  } | {
81
- entity: number;
82
- } | {
83
- entityId: number;
84
- } | {
85
- relationId: number;
85
+ relationEntity: number;
86
86
  } | {
87
- relation: Relation.SortAttr;
87
+ relationIds: number;
88
88
  } | {
89
89
  [k: string]: any;
90
90
  } | OneOf<ExprOp<OpAttr | string>>;
91
- export declare type SortNode = {
91
+ export type SortNode = {
92
92
  $attr: SortAttr;
93
93
  $direction?: "asc" | "desc";
94
94
  };
95
- export declare type Sorter = SortNode[];
96
- export declare type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
97
- export declare type Selection<P extends Object = Projection> = SelectOperation<P>;
98
- export declare type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
99
- export declare type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId" | "relationId">> & (({
100
- relationId?: never;
101
- relation: Relation.CreateSingleOperation;
102
- } | {
103
- relationId: ForeignKey<"relation">;
104
- relation?: Relation.UpdateOperation;
105
- } | {
106
- relationId: ForeignKey<"relation">;
107
- })) & ({
108
- entity?: string;
109
- entityId?: string;
110
- [K: string]: any;
111
- }) & {
95
+ export type Sorter = SortNode[];
96
+ export type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
97
+ export type Selection<P extends Object = Projection> = SelectOperation<P>;
98
+ export type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
99
+ export type CreateOperationData = FormCreateData<OpSchema> & {
100
+ userEntityClaim$ueg?: OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "ueg" | "uegId">, Omit<UserEntityClaim.Filter, "ueg" | "uegId">> | OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "ueg" | "uegId">[]> | Array<OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "ueg" | "uegId">> | OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "ueg" | "uegId">, Omit<UserEntityClaim.Filter, "ueg" | "uegId">>>;
112
101
  modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
113
102
  operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
114
103
  };
115
- export declare type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
116
- export declare type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
117
- export declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
118
- export declare type UpdateOperationData = FormUpdateData<Omit<OpSchema, "relationId">> & (({
119
- relation: Relation.CreateSingleOperation;
120
- relationId?: never;
121
- } | {
122
- relation: Relation.UpdateOperation;
123
- relationId?: never;
124
- } | {
125
- relation: Relation.RemoveOperation;
126
- relationId?: never;
127
- } | {
128
- relation?: never;
129
- relationId?: ForeignKey<"relation"> | null;
130
- })) & {
104
+ export type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
105
+ export type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
106
+ export type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
107
+ export type UpdateOperationData = FormUpdateData<OpSchema> & {
131
108
  [k: string]: any;
109
+ userEntityClaim$ueg?: OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "ueg" | "uegId">, Omit<UserEntityClaim.Filter, "ueg" | "uegId">> | OakOperation<UserEntityClaim.RemoveOperation["action"], Omit<UserEntityClaim.RemoveOperationData, "ueg" | "uegId">, Omit<UserEntityClaim.Filter, "ueg" | "uegId">> | OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "ueg" | "uegId">[]> | Array<OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "ueg" | "uegId">> | OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "ueg" | "uegId">, Omit<UserEntityClaim.Filter, "ueg" | "uegId">> | OakOperation<UserEntityClaim.RemoveOperation["action"], Omit<UserEntityClaim.RemoveOperationData, "ueg" | "uegId">, Omit<UserEntityClaim.Filter, "ueg" | "uegId">>>;
132
110
  modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
133
111
  operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
134
112
  };
135
- export declare type UpdateOperation = OakOperation<"update" | ParticularAction | string, UpdateOperationData, Filter, Sorter>;
136
- export declare type RemoveOperationData = {} & (({
137
- relation?: Relation.UpdateOperation | Relation.RemoveOperation;
138
- }));
139
- export declare type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
140
- export declare type Operation = CreateOperation | UpdateOperation | RemoveOperation;
141
- export declare type RelationIdSubQuery = Selection<RelationIdProjection>;
142
- export declare type UserEntityGrantIdSubQuery = Selection<UserEntityGrantIdProjection>;
143
- export declare type EntityDef = {
113
+ export type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
114
+ export type RemoveOperationData = {};
115
+ export type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
116
+ export type Operation = CreateOperation | UpdateOperation | RemoveOperation;
117
+ export type UserEntityGrantIdSubQuery = Selection<UserEntityGrantIdProjection>;
118
+ export type EntityDef = {
144
119
  Schema: Schema;
145
120
  OpSchema: OpSchema;
146
- Action: OakMakeAction<Action> | string;
121
+ Action: OakMakeAction<GenericAction> | string;
147
122
  Selection: Selection;
148
123
  Aggregation: Aggregation;
149
124
  Operation: Operation;
@@ -152,6 +127,5 @@ export declare type EntityDef = {
152
127
  Remove: RemoveOperation;
153
128
  CreateSingle: CreateSingleOperation;
154
129
  CreateMulti: CreateMultipleOperation;
155
- ParticularAction: ParticularAction;
156
130
  };
157
131
  export {};
@@ -1,29 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.desc = void 0;
4
- var Action_1 = require("./Action");
4
+ const action_1 = require("../../actions/action");
5
5
  exports.desc = {
6
6
  attributes: {
7
- entity: {
7
+ relationEntity: {
8
8
  notNull: true,
9
9
  type: "varchar",
10
10
  params: {
11
11
  length: 32
12
12
  }
13
13
  },
14
- entityId: {
14
+ relationEntityFilter: {
15
15
  notNull: true,
16
- type: "varchar",
17
- params: {
18
- length: 64
19
- }
16
+ type: "object"
20
17
  },
21
- relationId: {
18
+ relationIds: {
22
19
  notNull: true,
23
- type: "ref",
24
- ref: "relation"
20
+ type: "object"
25
21
  }
26
22
  },
27
23
  actionType: "crud",
28
- actions: Action_1.actions
24
+ actions: action_1.genericActions
29
25
  };
@@ -7,22 +7,25 @@ import { String } from "../../types/DataType";
7
7
  import { EntityShape } from "../../types/Entity";
8
8
  import * as User from "../User/Schema";
9
9
  import * as Relation from "../Relation/Schema";
10
+ import * as UserEntityClaim from "../UserEntityClaim/Schema";
10
11
  import * as ModiEntity from "../ModiEntity/Schema";
11
12
  import * as OperEntity from "../OperEntity/Schema";
12
- export declare type OpSchema = EntityShape & {
13
+ export type OpSchema = EntityShape & {
13
14
  userId: ForeignKey<"user">;
14
15
  relationId: ForeignKey<"relation">;
15
16
  entity: String<32>;
16
17
  entityId: String<64>;
17
18
  };
18
- export declare type OpAttr = keyof OpSchema;
19
- export declare type Schema = EntityShape & {
19
+ export type OpAttr = keyof OpSchema;
20
+ export type Schema = EntityShape & {
20
21
  userId: ForeignKey<"user">;
21
22
  relationId: ForeignKey<"relation">;
22
23
  entity: String<32>;
23
24
  entityId: String<64>;
24
25
  user: User.Schema;
25
26
  relation: Relation.Schema;
27
+ userEntityClaim$userRelation?: Array<UserEntityClaim.Schema>;
28
+ userEntityClaim$userRelation$$aggr?: AggregationResult<UserEntityClaim.Schema>;
26
29
  modiEntity$entity?: Array<ModiEntity.Schema>;
27
30
  modiEntity$entity$$aggr?: AggregationResult<ModiEntity.Schema>;
28
31
  operEntity$entity?: Array<OperEntity.Schema>;
@@ -30,7 +33,7 @@ export declare type Schema = EntityShape & {
30
33
  } & {
31
34
  [A in ExpressionKey]?: any;
32
35
  };
33
- declare type AttrFilter = {
36
+ type AttrFilter = {
34
37
  id: Q_StringValue;
35
38
  $$createAt$$: Q_DateValue;
36
39
  $$seq$$: Q_StringValue;
@@ -41,11 +44,12 @@ declare type AttrFilter = {
41
44
  relation: Relation.Filter;
42
45
  entity: Q_StringValue;
43
46
  entityId: Q_StringValue;
47
+ userEntityClaim$userRelation: UserEntityClaim.Filter & SubQueryPredicateMetadata;
44
48
  modiEntity$entity: ModiEntity.Filter & SubQueryPredicateMetadata;
45
49
  operEntity$entity: OperEntity.Filter & SubQueryPredicateMetadata;
46
50
  };
47
- export declare type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
48
- export declare type Projection = {
51
+ export type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
52
+ export type Projection = {
49
53
  "#id"?: NodeId;
50
54
  [k: string]: any;
51
55
  id?: number;
@@ -58,6 +62,12 @@ export declare type Projection = {
58
62
  relation?: Relation.Projection;
59
63
  entity?: number;
60
64
  entityId?: number;
65
+ userEntityClaim$userRelation?: UserEntityClaim.Selection & {
66
+ $entity: "userEntityClaim";
67
+ };
68
+ userEntityClaim$userRelation$$aggr?: UserEntityClaim.Aggregation & {
69
+ $entity: "userEntityClaim";
70
+ };
61
71
  modiEntity$entity?: ModiEntity.Selection & {
62
72
  $entity: "modiEntity";
63
73
  };
@@ -71,16 +81,16 @@ export declare type Projection = {
71
81
  $entity: "operEntity";
72
82
  };
73
83
  } & Partial<ExprOp<OpAttr | string>>;
74
- declare type UserRelationIdProjection = OneOf<{
84
+ type UserRelationIdProjection = OneOf<{
75
85
  id: number;
76
86
  }>;
77
- declare type UserIdProjection = OneOf<{
87
+ type UserIdProjection = OneOf<{
78
88
  userId: number;
79
89
  }>;
80
- declare type RelationIdProjection = OneOf<{
90
+ type RelationIdProjection = OneOf<{
81
91
  relationId: number;
82
92
  }>;
83
- export declare type SortAttr = {
93
+ export type SortAttr = {
84
94
  id: number;
85
95
  } | {
86
96
  $$createAt$$: number;
@@ -103,21 +113,22 @@ export declare type SortAttr = {
103
113
  } | {
104
114
  [k: string]: any;
105
115
  } | OneOf<ExprOp<OpAttr | string>>;
106
- export declare type SortNode = {
116
+ export type SortNode = {
107
117
  $attr: SortAttr;
108
118
  $direction?: "asc" | "desc";
109
119
  };
110
- export declare type Sorter = SortNode[];
111
- export declare type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
112
- export declare type Selection<P extends Object = Projection> = SelectOperation<P>;
113
- export declare type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
114
- export declare type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId" | "userId" | "relationId">> & (({
120
+ export type Sorter = SortNode[];
121
+ export type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
122
+ export type Selection<P extends Object = Projection> = SelectOperation<P>;
123
+ export type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
124
+ export type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId" | "userId" | "relationId">> & (({
115
125
  userId?: never;
116
126
  user: User.CreateSingleOperation;
117
127
  } | {
118
128
  userId: ForeignKey<"user">;
119
129
  user?: User.UpdateOperation;
120
130
  } | {
131
+ user?: never;
121
132
  userId: ForeignKey<"user">;
122
133
  }) & ({
123
134
  relationId?: never;
@@ -126,59 +137,62 @@ export declare type CreateOperationData = FormCreateData<Omit<OpSchema, "entity"
126
137
  relationId: ForeignKey<"relation">;
127
138
  relation?: Relation.UpdateOperation;
128
139
  } | {
140
+ relation?: never;
129
141
  relationId: ForeignKey<"relation">;
130
142
  })) & ({
131
143
  entity?: string;
132
144
  entityId?: string;
133
145
  [K: string]: any;
134
146
  }) & {
147
+ userEntityClaim$userRelation?: OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "userRelation" | "userRelationId">, Omit<UserEntityClaim.Filter, "userRelation" | "userRelationId">> | OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "userRelation" | "userRelationId">[]> | Array<OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "userRelation" | "userRelationId">> | OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "userRelation" | "userRelationId">, Omit<UserEntityClaim.Filter, "userRelation" | "userRelationId">>>;
135
148
  modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
136
149
  operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
137
150
  };
138
- export declare type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
139
- export declare type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
140
- export declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
141
- export declare type UpdateOperationData = FormUpdateData<Omit<OpSchema, "userId" | "relationId">> & (({
142
- user: User.CreateSingleOperation;
151
+ export type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
152
+ export type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
153
+ export type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
154
+ export type UpdateOperationData = FormUpdateData<Omit<OpSchema, "userId" | "relationId">> & (({
155
+ user?: User.CreateSingleOperation;
143
156
  userId?: never;
144
157
  } | {
145
- user: User.UpdateOperation;
158
+ user?: User.UpdateOperation;
146
159
  userId?: never;
147
160
  } | {
148
- user: User.RemoveOperation;
161
+ user?: User.RemoveOperation;
149
162
  userId?: never;
150
163
  } | {
151
164
  user?: never;
152
- userId?: ForeignKey<"user"> | null;
165
+ userId?: ForeignKey<"user">;
153
166
  }) & ({
154
- relation: Relation.CreateSingleOperation;
167
+ relation?: Relation.CreateSingleOperation;
155
168
  relationId?: never;
156
169
  } | {
157
- relation: Relation.UpdateOperation;
170
+ relation?: Relation.UpdateOperation;
158
171
  relationId?: never;
159
172
  } | {
160
- relation: Relation.RemoveOperation;
173
+ relation?: Relation.RemoveOperation;
161
174
  relationId?: never;
162
175
  } | {
163
176
  relation?: never;
164
- relationId?: ForeignKey<"relation"> | null;
177
+ relationId?: ForeignKey<"relation">;
165
178
  })) & {
166
179
  [k: string]: any;
180
+ userEntityClaim$userRelation?: OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "userRelation" | "userRelationId">, Omit<UserEntityClaim.Filter, "userRelation" | "userRelationId">> | OakOperation<UserEntityClaim.RemoveOperation["action"], Omit<UserEntityClaim.RemoveOperationData, "userRelation" | "userRelationId">, Omit<UserEntityClaim.Filter, "userRelation" | "userRelationId">> | OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "userRelation" | "userRelationId">[]> | Array<OakOperation<"create", Omit<UserEntityClaim.CreateOperationData, "userRelation" | "userRelationId">> | OakOperation<UserEntityClaim.UpdateOperation["action"], Omit<UserEntityClaim.UpdateOperationData, "userRelation" | "userRelationId">, Omit<UserEntityClaim.Filter, "userRelation" | "userRelationId">> | OakOperation<UserEntityClaim.RemoveOperation["action"], Omit<UserEntityClaim.RemoveOperationData, "userRelation" | "userRelationId">, Omit<UserEntityClaim.Filter, "userRelation" | "userRelationId">>>;
167
181
  modiEntity$entity?: OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<ModiEntity.CreateOperationData, "entity" | "entityId">>>;
168
182
  operEntity$entity?: OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">[]> | Array<OakOperation<"create", Omit<OperEntity.CreateOperationData, "entity" | "entityId">>>;
169
183
  };
170
- export declare type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
171
- export declare type RemoveOperationData = {} & (({
184
+ export type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
185
+ export type RemoveOperationData = {} & (({
172
186
  user?: User.UpdateOperation | User.RemoveOperation;
173
187
  }) & ({
174
188
  relation?: Relation.UpdateOperation | Relation.RemoveOperation;
175
189
  }));
176
- export declare type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
177
- export declare type Operation = CreateOperation | UpdateOperation | RemoveOperation;
178
- export declare type UserIdSubQuery = Selection<UserIdProjection>;
179
- export declare type RelationIdSubQuery = Selection<RelationIdProjection>;
180
- export declare type UserRelationIdSubQuery = Selection<UserRelationIdProjection>;
181
- export declare type EntityDef = {
190
+ export type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
191
+ export type Operation = CreateOperation | UpdateOperation | RemoveOperation;
192
+ export type UserIdSubQuery = Selection<UserIdProjection>;
193
+ export type RelationIdSubQuery = Selection<RelationIdProjection>;
194
+ export type UserRelationIdSubQuery = Selection<UserRelationIdProjection>;
195
+ export type EntityDef = {
182
196
  Schema: Schema;
183
197
  OpSchema: OpSchema;
184
198
  Action: OakMakeAction<GenericAction> | string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.desc = void 0;
4
- var action_1 = require("../../actions/action");
4
+ const action_1 = require("../../actions/action");
5
5
  exports.desc = {
6
6
  attributes: {
7
7
  userId: {
@@ -36,21 +36,21 @@ exports.desc = {
36
36
  name: 'index_user_entity_entityId_relation',
37
37
  attributes: [
38
38
  {
39
- name: "userId"
39
+ name: "userId",
40
40
  },
41
41
  {
42
- name: 'entity'
42
+ name: 'entity',
43
43
  },
44
44
  {
45
- name: 'entityId'
45
+ name: 'entityId',
46
46
  },
47
47
  {
48
- name: "relationId"
48
+ name: "relationId",
49
49
  },
50
50
  ],
51
51
  config: {
52
- unique: true
53
- }
52
+ unique: true,
53
+ },
54
54
  }
55
55
  ]
56
56
  };
@@ -4,12 +4,14 @@ import * as Modi from "./Modi/Schema";
4
4
  import * as ModiEntity from "./ModiEntity/Schema";
5
5
  import * as Oper from "./Oper/Schema";
6
6
  import * as OperEntity from "./OperEntity/Schema";
7
+ import * as Path from "./Path/Schema";
7
8
  import * as Relation from "./Relation/Schema";
8
9
  import * as RelationAuth from "./RelationAuth/Schema";
9
10
  import * as User from "./User/Schema";
11
+ import * as UserEntityClaim from "./UserEntityClaim/Schema";
10
12
  import * as UserEntityGrant from "./UserEntityGrant/Schema";
11
13
  import * as UserRelation from "./UserRelation/Schema";
12
- export declare type ActionAuthIdSubQuery = {
14
+ export type ActionAuthIdSubQuery = {
13
15
  [K in "$in" | "$nin"]?: (ModiEntity.ActionAuthIdSubQuery & {
14
16
  entity: "modiEntity";
15
17
  }) | (OperEntity.ActionAuthIdSubQuery & {
@@ -18,7 +20,7 @@ export declare type ActionAuthIdSubQuery = {
18
20
  entity: "actionAuth";
19
21
  }) | any;
20
22
  };
21
- export declare type I18nIdSubQuery = {
23
+ export type I18nIdSubQuery = {
22
24
  [K in "$in" | "$nin"]?: (ModiEntity.I18nIdSubQuery & {
23
25
  entity: "modiEntity";
24
26
  }) | (OperEntity.I18nIdSubQuery & {
@@ -27,37 +29,50 @@ export declare type I18nIdSubQuery = {
27
29
  entity: "i18n";
28
30
  }) | any;
29
31
  };
30
- export declare type ModiIdSubQuery = {
32
+ export type ModiIdSubQuery = {
31
33
  [K in "$in" | "$nin"]?: (ModiEntity.ModiIdSubQuery & {
32
34
  entity: "modiEntity";
33
35
  }) | (Modi.ModiIdSubQuery & {
34
36
  entity: "modi";
35
37
  }) | any;
36
38
  };
37
- export declare type ModiEntityIdSubQuery = {
39
+ export type ModiEntityIdSubQuery = {
38
40
  [K in "$in" | "$nin"]?: (ModiEntity.ModiEntityIdSubQuery & {
39
41
  entity: "modiEntity";
40
42
  }) | any;
41
43
  };
42
- export declare type OperIdSubQuery = {
44
+ export type OperIdSubQuery = {
43
45
  [K in "$in" | "$nin"]?: (OperEntity.OperIdSubQuery & {
44
46
  entity: "operEntity";
45
47
  }) | (Oper.OperIdSubQuery & {
46
48
  entity: "oper";
47
49
  }) | any;
48
50
  };
49
- export declare type OperEntityIdSubQuery = {
51
+ export type OperEntityIdSubQuery = {
50
52
  [K in "$in" | "$nin"]?: (OperEntity.OperEntityIdSubQuery & {
51
53
  entity: "operEntity";
52
54
  }) | any;
53
55
  };
54
- export declare type RelationIdSubQuery = {
56
+ export type PathIdSubQuery = {
57
+ [K in "$in" | "$nin"]?: (ActionAuth.PathIdSubQuery & {
58
+ entity: "actionAuth";
59
+ }) | (RelationAuth.PathIdSubQuery & {
60
+ entity: "relationAuth";
61
+ }) | (ModiEntity.PathIdSubQuery & {
62
+ entity: "modiEntity";
63
+ }) | (OperEntity.PathIdSubQuery & {
64
+ entity: "operEntity";
65
+ }) | (Path.PathIdSubQuery & {
66
+ entity: "path";
67
+ }) | any;
68
+ };
69
+ export type RelationIdSubQuery = {
55
70
  [K in "$in" | "$nin"]?: (ActionAuth.RelationIdSubQuery & {
56
71
  entity: "actionAuth";
57
72
  }) | (RelationAuth.RelationIdSubQuery & {
58
73
  entity: "relationAuth";
59
- }) | (UserEntityGrant.RelationIdSubQuery & {
60
- entity: "userEntityGrant";
74
+ }) | (UserEntityClaim.RelationIdSubQuery & {
75
+ entity: "userEntityClaim";
61
76
  }) | (UserRelation.RelationIdSubQuery & {
62
77
  entity: "userRelation";
63
78
  }) | (ModiEntity.RelationIdSubQuery & {
@@ -68,7 +83,7 @@ export declare type RelationIdSubQuery = {
68
83
  entity: "relation";
69
84
  }) | any;
70
85
  };
71
- export declare type RelationAuthIdSubQuery = {
86
+ export type RelationAuthIdSubQuery = {
72
87
  [K in "$in" | "$nin"]?: (ModiEntity.RelationAuthIdSubQuery & {
73
88
  entity: "modiEntity";
74
89
  }) | (OperEntity.RelationAuthIdSubQuery & {
@@ -77,11 +92,13 @@ export declare type RelationAuthIdSubQuery = {
77
92
  entity: "relationAuth";
78
93
  }) | any;
79
94
  };
80
- export declare type UserIdSubQuery = {
95
+ export type UserIdSubQuery = {
81
96
  [K in "$in" | "$nin"]?: (Oper.UserIdSubQuery & {
82
97
  entity: "oper";
83
98
  }) | (User.UserIdSubQuery & {
84
99
  entity: "user";
100
+ }) | (UserEntityClaim.UserIdSubQuery & {
101
+ entity: "userEntityClaim";
85
102
  }) | (UserRelation.UserIdSubQuery & {
86
103
  entity: "userRelation";
87
104
  }) | (ModiEntity.UserIdSubQuery & {
@@ -92,8 +109,19 @@ export declare type UserIdSubQuery = {
92
109
  entity: "user";
93
110
  }) | any;
94
111
  };
95
- export declare type UserEntityGrantIdSubQuery = {
96
- [K in "$in" | "$nin"]?: (ModiEntity.UserEntityGrantIdSubQuery & {
112
+ export type UserEntityClaimIdSubQuery = {
113
+ [K in "$in" | "$nin"]?: (ModiEntity.UserEntityClaimIdSubQuery & {
114
+ entity: "modiEntity";
115
+ }) | (OperEntity.UserEntityClaimIdSubQuery & {
116
+ entity: "operEntity";
117
+ }) | (UserEntityClaim.UserEntityClaimIdSubQuery & {
118
+ entity: "userEntityClaim";
119
+ }) | any;
120
+ };
121
+ export type UserEntityGrantIdSubQuery = {
122
+ [K in "$in" | "$nin"]?: (UserEntityClaim.UserEntityGrantIdSubQuery & {
123
+ entity: "userEntityClaim";
124
+ }) | (ModiEntity.UserEntityGrantIdSubQuery & {
97
125
  entity: "modiEntity";
98
126
  }) | (OperEntity.UserEntityGrantIdSubQuery & {
99
127
  entity: "operEntity";
@@ -101,8 +129,10 @@ export declare type UserEntityGrantIdSubQuery = {
101
129
  entity: "userEntityGrant";
102
130
  }) | any;
103
131
  };
104
- export declare type UserRelationIdSubQuery = {
105
- [K in "$in" | "$nin"]?: (ModiEntity.UserRelationIdSubQuery & {
132
+ export type UserRelationIdSubQuery = {
133
+ [K in "$in" | "$nin"]?: (UserEntityClaim.UserRelationIdSubQuery & {
134
+ entity: "userEntityClaim";
135
+ }) | (ModiEntity.UserRelationIdSubQuery & {
106
136
  entity: "modiEntity";
107
137
  }) | (OperEntity.UserRelationIdSubQuery & {
108
138
  entity: "operEntity";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./EntityDict"), exports);
5
5
  tslib_1.__exportStar(require("./Storage"), exports);
6
6
  tslib_1.__exportStar(require("./ActionDefDict"), exports);
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createDynamicCheckers = void 0;
4
- var tslib_1 = require("tslib");
5
- var checker_1 = require("../store/checker");
6
- var modi_1 = require("../store/modi");
4
+ const checker_1 = require("../store/checker");
5
+ const modi_1 = require("../store/modi");
7
6
  function createDynamicCheckers(schema) {
8
- var checkers = [];
9
- checkers.push.apply(checkers, tslib_1.__spreadArray([], tslib_1.__read((0, modi_1.createModiRelatedCheckers)(schema)), false));
10
- checkers.push.apply(checkers, tslib_1.__spreadArray([], tslib_1.__read((0, checker_1.createRemoveCheckers)(schema)), false));
11
- checkers.push.apply(checkers, tslib_1.__spreadArray([], tslib_1.__read((0, checker_1.createCreateCheckers)(schema)), false));
7
+ const checkers = [];
8
+ checkers.push(...(0, modi_1.createModiRelatedCheckers)(schema));
9
+ checkers.push(...(0, checker_1.createRemoveCheckers)(schema));
10
+ checkers.push(...(0, checker_1.createCreateCheckers)(schema));
12
11
  return checkers;
13
12
  }
14
13
  exports.createDynamicCheckers = createDynamicCheckers;