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,311 +1,384 @@
1
- import { ForeignKey } from "../../types/DataType";
2
- import { Q_DateValue, Q_StringValue, Q_EnumValue, NodeId, MakeFilter, ExprOp, ExpressionKey } from "../../types/Demand";
3
- import { OneOf } from "../../types/Polyfill";
4
- import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction } from "../../types/Entity";
5
- import { AppendOnlyAction } from "../../actions/action";
6
- import { String } from "../../types/DataType";
7
- import { EntityShape } from "../../types/Entity";
8
- import * as Modi from "../Modi/Schema";
9
- import * as ActionAuth from "../ActionAuth/Schema";
10
- import * as I18n from "../I18n/Schema";
11
- import * as Relation from "../Relation/Schema";
12
- import * as RelationAuth from "../RelationAuth/Schema";
13
- import * as User from "../User/Schema";
14
- import * as UserEntityGrant from "../UserEntityGrant/Schema";
15
- import * as UserRelation from "../UserRelation/Schema";
16
- export declare type OpSchema = EntityShape & {
17
- modiId: ForeignKey<"modi">;
18
- entity: "actionAuth" | "i18n" | "relation" | "relationAuth" | "user" | "userEntityGrant" | "userRelation" | string;
19
- entityId: String<64>;
20
- };
21
- export declare type OpAttr = keyof OpSchema;
22
- export declare type Schema = EntityShape & {
23
- modiId: ForeignKey<"modi">;
24
- entity: "actionAuth" | "i18n" | "relation" | "relationAuth" | "user" | "userEntityGrant" | "userRelation" | string;
25
- entityId: String<64>;
26
- modi: Modi.Schema;
27
- actionAuth?: ActionAuth.Schema;
28
- i18n?: I18n.Schema;
29
- relation?: Relation.Schema;
30
- relationAuth?: RelationAuth.Schema;
31
- user?: User.Schema;
32
- userEntityGrant?: UserEntityGrant.Schema;
33
- userRelation?: UserRelation.Schema;
34
- } & {
35
- [A in ExpressionKey]?: any;
36
- };
37
- declare type AttrFilter = {
38
- id: Q_StringValue;
39
- $$createAt$$: Q_DateValue;
40
- $$seq$$: Q_StringValue;
41
- $$updateAt$$: Q_DateValue;
42
- modiId: Q_StringValue;
43
- modi: Modi.Filter;
44
- entity: Q_EnumValue<"actionAuth" | "i18n" | "relation" | "relationAuth" | "user" | "userEntityGrant" | "userRelation" | string>;
45
- entityId: Q_StringValue;
46
- actionAuth: ActionAuth.Filter;
47
- i18n: I18n.Filter;
48
- relation: Relation.Filter;
49
- relationAuth: RelationAuth.Filter;
50
- user: User.Filter;
51
- userEntityGrant: UserEntityGrant.Filter;
52
- userRelation: UserRelation.Filter;
53
- };
54
- export declare type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
55
- export declare type Projection = {
56
- "#id"?: NodeId;
57
- [k: string]: any;
58
- id?: number;
59
- $$createAt$$?: number;
60
- $$updateAt$$?: number;
61
- $$seq$$?: number;
62
- modiId?: number;
63
- modi?: Modi.Projection;
64
- entity?: number;
65
- entityId?: number;
66
- actionAuth?: ActionAuth.Projection;
67
- i18n?: I18n.Projection;
68
- relation?: Relation.Projection;
69
- relationAuth?: RelationAuth.Projection;
70
- user?: User.Projection;
71
- userEntityGrant?: UserEntityGrant.Projection;
72
- userRelation?: UserRelation.Projection;
73
- } & Partial<ExprOp<OpAttr | string>>;
74
- declare type ModiEntityIdProjection = OneOf<{
75
- id: number;
76
- }>;
77
- declare type ModiIdProjection = OneOf<{
78
- modiId: number;
79
- }>;
80
- declare type ActionAuthIdProjection = OneOf<{
81
- entityId: number;
82
- }>;
83
- declare type I18nIdProjection = OneOf<{
84
- entityId: number;
85
- }>;
86
- declare type RelationIdProjection = OneOf<{
87
- entityId: number;
88
- }>;
89
- declare type RelationAuthIdProjection = OneOf<{
90
- entityId: number;
91
- }>;
92
- declare type UserIdProjection = OneOf<{
93
- entityId: number;
94
- }>;
95
- declare type UserEntityGrantIdProjection = OneOf<{
96
- entityId: number;
97
- }>;
98
- declare type UserRelationIdProjection = OneOf<{
99
- entityId: number;
100
- }>;
101
- export declare type SortAttr = {
102
- id: number;
103
- } | {
104
- $$createAt$$: number;
105
- } | {
106
- $$seq$$: number;
107
- } | {
108
- $$updateAt$$: number;
109
- } | {
110
- modiId: number;
111
- } | {
112
- modi: Modi.SortAttr;
113
- } | {
114
- entity: number;
115
- } | {
116
- entityId: number;
117
- } | {
118
- actionAuth: ActionAuth.SortAttr;
119
- } | {
120
- i18n: I18n.SortAttr;
121
- } | {
122
- relation: Relation.SortAttr;
123
- } | {
124
- relationAuth: RelationAuth.SortAttr;
125
- } | {
126
- user: User.SortAttr;
127
- } | {
128
- userEntityGrant: UserEntityGrant.SortAttr;
129
- } | {
130
- userRelation: UserRelation.SortAttr;
131
- } | {
132
- [k: string]: any;
133
- } | OneOf<ExprOp<OpAttr | string>>;
134
- export declare type SortNode = {
135
- $attr: SortAttr;
136
- $direction?: "asc" | "desc";
137
- };
138
- export declare type Sorter = SortNode[];
139
- export declare type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
140
- export declare type Selection<P extends Object = Projection> = SelectOperation<P>;
141
- export declare type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
142
- export declare type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId" | "modiId">> & (({
143
- modiId?: never;
144
- modi: Modi.CreateSingleOperation;
145
- } | {
146
- modiId: ForeignKey<"modi">;
147
- modi?: Modi.UpdateOperation;
148
- } | {
149
- modiId: ForeignKey<"modi">;
150
- })) & ({
151
- entity?: never;
152
- entityId?: never;
153
- actionAuth: ActionAuth.CreateSingleOperation;
154
- } | {
155
- entity: "actionAuth";
156
- entityId: ForeignKey<"ActionAuth">;
157
- actionAuth: ActionAuth.UpdateOperation;
158
- } | {
159
- entity: "actionAuth";
160
- entityId: ForeignKey<"ActionAuth">;
161
- } | {
162
- entity: "i18n";
163
- entityId: ForeignKey<"I18n">;
164
- } | {
165
- entity?: never;
166
- entityId?: never;
167
- relation: Relation.CreateSingleOperation;
168
- } | {
169
- entity: "relation";
170
- entityId: ForeignKey<"Relation">;
171
- relation: Relation.UpdateOperation;
172
- } | {
173
- entity: "relation";
174
- entityId: ForeignKey<"Relation">;
175
- } | {
176
- entity?: never;
177
- entityId?: never;
178
- relationAuth: RelationAuth.CreateSingleOperation;
179
- } | {
180
- entity: "relationAuth";
181
- entityId: ForeignKey<"RelationAuth">;
182
- relationAuth: RelationAuth.UpdateOperation;
183
- } | {
184
- entity: "relationAuth";
185
- entityId: ForeignKey<"RelationAuth">;
186
- } | {
187
- entity?: never;
188
- entityId?: never;
189
- user: User.CreateSingleOperation;
190
- } | {
191
- entity: "user";
192
- entityId: ForeignKey<"User">;
193
- user: User.UpdateOperation;
194
- } | {
195
- entity: "user";
196
- entityId: ForeignKey<"User">;
197
- } | {
198
- entity?: never;
199
- entityId?: never;
200
- userEntityGrant: UserEntityGrant.CreateSingleOperation;
201
- } | {
202
- entity: "userEntityGrant";
203
- entityId: ForeignKey<"UserEntityGrant">;
204
- userEntityGrant: UserEntityGrant.UpdateOperation;
205
- } | {
206
- entity: "userEntityGrant";
207
- entityId: ForeignKey<"UserEntityGrant">;
208
- } | {
209
- entity?: never;
210
- entityId?: never;
211
- userRelation: UserRelation.CreateSingleOperation;
212
- } | {
213
- entity: "userRelation";
214
- entityId: ForeignKey<"UserRelation">;
215
- userRelation: UserRelation.UpdateOperation;
216
- } | {
217
- entity: "userRelation";
218
- entityId: ForeignKey<"UserRelation">;
219
- } | {
220
- entity?: string;
221
- entityId?: string;
222
- [K: string]: any;
223
- });
224
- export declare type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
225
- export declare type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
226
- export declare type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
227
- export declare type UpdateOperationData = FormUpdateData<Omit<OpSchema, "entity" | "entityId" | "modiId">> & (({
228
- modi: Modi.CreateSingleOperation;
229
- modiId?: never;
230
- } | {
231
- modi: Modi.UpdateOperation;
232
- modiId?: never;
233
- } | {
234
- modi: Modi.RemoveOperation;
235
- modiId?: never;
236
- } | {
237
- modi?: never;
238
- modiId?: ForeignKey<"modi"> | null;
239
- })) & ({
240
- actionAuth?: ActionAuth.CreateSingleOperation | ActionAuth.UpdateOperation | ActionAuth.RemoveOperation;
241
- entityId?: never;
242
- entity?: never;
243
- } | {
244
- relation?: Relation.CreateSingleOperation | Relation.UpdateOperation | Relation.RemoveOperation;
245
- entityId?: never;
246
- entity?: never;
247
- } | {
248
- relationAuth?: RelationAuth.CreateSingleOperation | RelationAuth.UpdateOperation | RelationAuth.RemoveOperation;
249
- entityId?: never;
250
- entity?: never;
251
- } | {
252
- user?: User.CreateSingleOperation | User.UpdateOperation | User.RemoveOperation;
253
- entityId?: never;
254
- entity?: never;
255
- } | {
256
- userEntityGrant?: UserEntityGrant.CreateSingleOperation | UserEntityGrant.UpdateOperation | UserEntityGrant.RemoveOperation;
257
- entityId?: never;
258
- entity?: never;
259
- } | {
260
- userRelation?: UserRelation.CreateSingleOperation | UserRelation.UpdateOperation | UserRelation.RemoveOperation;
261
- entityId?: never;
262
- entity?: never;
263
- } | {
264
- entity?: ("actionAuth" | "i18n" | "relation" | "relationAuth" | "user" | "userEntityGrant" | "userRelation" | string) | null;
265
- entityId?: ForeignKey<"ActionAuth" | "I18n" | "Relation" | "RelationAuth" | "User" | "UserEntityGrant" | "UserRelation"> | null;
266
- }) & {
267
- [k: string]: any;
268
- };
269
- export declare type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
270
- export declare type RemoveOperationData = {} & (({
271
- modi?: Modi.UpdateOperation | Modi.RemoveOperation;
272
- })) & ({
273
- actionAuth?: ActionAuth.UpdateOperation | ActionAuth.RemoveOperation;
274
- } | {
275
- relation?: Relation.UpdateOperation | Relation.RemoveOperation;
276
- } | {
277
- relationAuth?: RelationAuth.UpdateOperation | RelationAuth.RemoveOperation;
278
- } | {
279
- user?: User.UpdateOperation | User.RemoveOperation;
280
- } | {
281
- userEntityGrant?: UserEntityGrant.UpdateOperation | UserEntityGrant.RemoveOperation;
282
- } | {
283
- userRelation?: UserRelation.UpdateOperation | UserRelation.RemoveOperation;
284
- } | {
285
- [k: string]: any;
286
- });
287
- export declare type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
288
- export declare type Operation = CreateOperation | UpdateOperation | RemoveOperation;
289
- export declare type ModiIdSubQuery = Selection<ModiIdProjection>;
290
- export declare type ActionAuthIdSubQuery = Selection<ActionAuthIdProjection>;
291
- export declare type I18nIdSubQuery = Selection<I18nIdProjection>;
292
- export declare type RelationIdSubQuery = Selection<RelationIdProjection>;
293
- export declare type RelationAuthIdSubQuery = Selection<RelationAuthIdProjection>;
294
- export declare type UserIdSubQuery = Selection<UserIdProjection>;
295
- export declare type UserEntityGrantIdSubQuery = Selection<UserEntityGrantIdProjection>;
296
- export declare type UserRelationIdSubQuery = Selection<UserRelationIdProjection>;
297
- export declare type ModiEntityIdSubQuery = Selection<ModiEntityIdProjection>;
298
- export declare type EntityDef = {
299
- Schema: Schema;
300
- OpSchema: OpSchema;
301
- Action: OakMakeAction<AppendOnlyAction> | string;
302
- Selection: Selection;
303
- Aggregation: Aggregation;
304
- Operation: Operation;
305
- Create: CreateOperation;
306
- Update: UpdateOperation;
307
- Remove: RemoveOperation;
308
- CreateSingle: CreateSingleOperation;
309
- CreateMulti: CreateMultipleOperation;
310
- };
311
- export {};
1
+ import { ForeignKey } from "../../types/DataType";
2
+ import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, MakeFilter, ExprOp, ExpressionKey } from "../../types/Demand";
3
+ import { OneOf } from "../../types/Polyfill";
4
+ import { FormCreateData, FormUpdateData, DeduceAggregation, Operation as OakOperation, Selection as OakSelection, MakeAction as OakMakeAction } from "../../types/Entity";
5
+ import { AppendOnlyAction } from "../../actions/action";
6
+ import { String } from "../../types/DataType";
7
+ import { EntityShape } from "../../types/Entity";
8
+ import * as Modi from "../Modi/Schema";
9
+ import * as ActionAuth from "../ActionAuth/Schema";
10
+ import * as I18n from "../I18n/Schema";
11
+ import * as Path from "../Path/Schema";
12
+ import * as Relation from "../Relation/Schema";
13
+ import * as RelationAuth from "../RelationAuth/Schema";
14
+ import * as User from "../User/Schema";
15
+ import * as UserEntityClaim from "../UserEntityClaim/Schema";
16
+ import * as UserEntityGrant from "../UserEntityGrant/Schema";
17
+ import * as UserRelation from "../UserRelation/Schema";
18
+ export type OpSchema = EntityShape & {
19
+ modiId: ForeignKey<"modi">;
20
+ entity: "actionAuth" | "i18n" | "path" | "relation" | "relationAuth" | "user" | "userEntityClaim" | "userEntityGrant" | "userRelation" | string;
21
+ entityId: String<64>;
22
+ };
23
+ export type OpAttr = keyof OpSchema;
24
+ export type Schema = EntityShape & {
25
+ modiId: ForeignKey<"modi">;
26
+ entity: "actionAuth" | "i18n" | "path" | "relation" | "relationAuth" | "user" | "userEntityClaim" | "userEntityGrant" | "userRelation" | string;
27
+ entityId: String<64>;
28
+ modi: Modi.Schema;
29
+ actionAuth?: ActionAuth.Schema;
30
+ i18n?: I18n.Schema;
31
+ path?: Path.Schema;
32
+ relation?: Relation.Schema;
33
+ relationAuth?: RelationAuth.Schema;
34
+ user?: User.Schema;
35
+ userEntityClaim?: UserEntityClaim.Schema;
36
+ userEntityGrant?: UserEntityGrant.Schema;
37
+ userRelation?: UserRelation.Schema;
38
+ } & {
39
+ [A in ExpressionKey]?: any;
40
+ };
41
+ type AttrFilter = {
42
+ id: Q_StringValue;
43
+ $$createAt$$: Q_DateValue;
44
+ $$seq$$: Q_NumberValue;
45
+ $$updateAt$$: Q_DateValue;
46
+ modiId: Q_StringValue;
47
+ modi: Modi.Filter;
48
+ entity: Q_EnumValue<"actionAuth" | "i18n" | "path" | "relation" | "relationAuth" | "user" | "userEntityClaim" | "userEntityGrant" | "userRelation" | string>;
49
+ entityId: Q_StringValue;
50
+ actionAuth: ActionAuth.Filter;
51
+ i18n: I18n.Filter;
52
+ path: Path.Filter;
53
+ relation: Relation.Filter;
54
+ relationAuth: RelationAuth.Filter;
55
+ user: User.Filter;
56
+ userEntityClaim: UserEntityClaim.Filter;
57
+ userEntityGrant: UserEntityGrant.Filter;
58
+ userRelation: UserRelation.Filter;
59
+ };
60
+ export type Filter = MakeFilter<AttrFilter & ExprOp<OpAttr | string>>;
61
+ export type Projection = {
62
+ "#id"?: NodeId;
63
+ [k: string]: any;
64
+ id?: number;
65
+ $$createAt$$?: number;
66
+ $$updateAt$$?: number;
67
+ $$seq$$?: number;
68
+ modiId?: number;
69
+ modi?: Modi.Projection;
70
+ entity?: number;
71
+ entityId?: number;
72
+ actionAuth?: ActionAuth.Projection;
73
+ i18n?: I18n.Projection;
74
+ path?: Path.Projection;
75
+ relation?: Relation.Projection;
76
+ relationAuth?: RelationAuth.Projection;
77
+ user?: User.Projection;
78
+ userEntityClaim?: UserEntityClaim.Projection;
79
+ userEntityGrant?: UserEntityGrant.Projection;
80
+ userRelation?: UserRelation.Projection;
81
+ } & Partial<ExprOp<OpAttr | string>>;
82
+ type ModiEntityIdProjection = OneOf<{
83
+ id: number;
84
+ }>;
85
+ type ModiIdProjection = OneOf<{
86
+ modiId: number;
87
+ }>;
88
+ type ActionAuthIdProjection = OneOf<{
89
+ entityId: number;
90
+ }>;
91
+ type I18nIdProjection = OneOf<{
92
+ entityId: number;
93
+ }>;
94
+ type PathIdProjection = OneOf<{
95
+ entityId: number;
96
+ }>;
97
+ type RelationIdProjection = OneOf<{
98
+ entityId: number;
99
+ }>;
100
+ type RelationAuthIdProjection = OneOf<{
101
+ entityId: number;
102
+ }>;
103
+ type UserIdProjection = OneOf<{
104
+ entityId: number;
105
+ }>;
106
+ type UserEntityClaimIdProjection = OneOf<{
107
+ entityId: number;
108
+ }>;
109
+ type UserEntityGrantIdProjection = OneOf<{
110
+ entityId: number;
111
+ }>;
112
+ type UserRelationIdProjection = OneOf<{
113
+ entityId: number;
114
+ }>;
115
+ export type SortAttr = {
116
+ id: number;
117
+ } | {
118
+ $$createAt$$: number;
119
+ } | {
120
+ $$seq$$: number;
121
+ } | {
122
+ $$updateAt$$: number;
123
+ } | {
124
+ modiId: number;
125
+ } | {
126
+ modi: Modi.SortAttr;
127
+ } | {
128
+ entity: number;
129
+ } | {
130
+ entityId: number;
131
+ } | {
132
+ actionAuth: ActionAuth.SortAttr;
133
+ } | {
134
+ i18n: I18n.SortAttr;
135
+ } | {
136
+ path: Path.SortAttr;
137
+ } | {
138
+ relation: Relation.SortAttr;
139
+ } | {
140
+ relationAuth: RelationAuth.SortAttr;
141
+ } | {
142
+ user: User.SortAttr;
143
+ } | {
144
+ userEntityClaim: UserEntityClaim.SortAttr;
145
+ } | {
146
+ userEntityGrant: UserEntityGrant.SortAttr;
147
+ } | {
148
+ userRelation: UserRelation.SortAttr;
149
+ } | {
150
+ [k: string]: any;
151
+ } | OneOf<ExprOp<OpAttr | string>>;
152
+ export type SortNode = {
153
+ $attr: SortAttr;
154
+ $direction?: "asc" | "desc";
155
+ };
156
+ export type Sorter = SortNode[];
157
+ export type SelectOperation<P extends Object = Projection> = OakSelection<"select", P, Filter, Sorter>;
158
+ export type Selection<P extends Object = Projection> = SelectOperation<P>;
159
+ export type Aggregation = DeduceAggregation<Projection, Filter, Sorter>;
160
+ export type CreateOperationData = FormCreateData<Omit<OpSchema, "entity" | "entityId" | "modiId">> & (({
161
+ modiId?: never;
162
+ modi: Modi.CreateSingleOperation;
163
+ } | {
164
+ modiId: ForeignKey<"modi">;
165
+ modi?: Modi.UpdateOperation;
166
+ } | {
167
+ modi?: never;
168
+ modiId: ForeignKey<"modi">;
169
+ })) & ({
170
+ entity?: never;
171
+ entityId?: never;
172
+ actionAuth: ActionAuth.CreateSingleOperation;
173
+ } | {
174
+ entity: "actionAuth";
175
+ entityId: ForeignKey<"ActionAuth">;
176
+ actionAuth?: ActionAuth.UpdateOperation;
177
+ } | {
178
+ entity: "actionAuth";
179
+ entityId: ForeignKey<"ActionAuth">;
180
+ actionAuth?: never;
181
+ } | {
182
+ entity: "i18n";
183
+ entityId: ForeignKey<"I18n">;
184
+ i18n?: never;
185
+ } | {
186
+ entity?: never;
187
+ entityId?: never;
188
+ path: Path.CreateSingleOperation;
189
+ } | {
190
+ entity: "path";
191
+ entityId: ForeignKey<"Path">;
192
+ path?: Path.UpdateOperation;
193
+ } | {
194
+ entity: "path";
195
+ entityId: ForeignKey<"Path">;
196
+ path?: never;
197
+ } | {
198
+ entity?: never;
199
+ entityId?: never;
200
+ relation: Relation.CreateSingleOperation;
201
+ } | {
202
+ entity: "relation";
203
+ entityId: ForeignKey<"Relation">;
204
+ relation?: Relation.UpdateOperation;
205
+ } | {
206
+ entity: "relation";
207
+ entityId: ForeignKey<"Relation">;
208
+ relation?: never;
209
+ } | {
210
+ entity?: never;
211
+ entityId?: never;
212
+ relationAuth: RelationAuth.CreateSingleOperation;
213
+ } | {
214
+ entity: "relationAuth";
215
+ entityId: ForeignKey<"RelationAuth">;
216
+ relationAuth?: RelationAuth.UpdateOperation;
217
+ } | {
218
+ entity: "relationAuth";
219
+ entityId: ForeignKey<"RelationAuth">;
220
+ relationAuth?: never;
221
+ } | {
222
+ entity?: never;
223
+ entityId?: never;
224
+ user: User.CreateSingleOperation;
225
+ } | {
226
+ entity: "user";
227
+ entityId: ForeignKey<"User">;
228
+ user?: User.UpdateOperation;
229
+ } | {
230
+ entity: "user";
231
+ entityId: ForeignKey<"User">;
232
+ user?: never;
233
+ } | {
234
+ entity?: never;
235
+ entityId?: never;
236
+ userEntityClaim: UserEntityClaim.CreateSingleOperation;
237
+ } | {
238
+ entity: "userEntityClaim";
239
+ entityId: ForeignKey<"UserEntityClaim">;
240
+ userEntityClaim?: UserEntityClaim.UpdateOperation;
241
+ } | {
242
+ entity: "userEntityClaim";
243
+ entityId: ForeignKey<"UserEntityClaim">;
244
+ userEntityClaim?: never;
245
+ } | {
246
+ entity?: never;
247
+ entityId?: never;
248
+ userEntityGrant: UserEntityGrant.CreateSingleOperation;
249
+ } | {
250
+ entity: "userEntityGrant";
251
+ entityId: ForeignKey<"UserEntityGrant">;
252
+ userEntityGrant?: UserEntityGrant.UpdateOperation;
253
+ } | {
254
+ entity: "userEntityGrant";
255
+ entityId: ForeignKey<"UserEntityGrant">;
256
+ userEntityGrant?: never;
257
+ } | {
258
+ entity?: never;
259
+ entityId?: never;
260
+ userRelation: UserRelation.CreateSingleOperation;
261
+ } | {
262
+ entity: "userRelation";
263
+ entityId: ForeignKey<"UserRelation">;
264
+ userRelation?: UserRelation.UpdateOperation;
265
+ } | {
266
+ entity: "userRelation";
267
+ entityId: ForeignKey<"UserRelation">;
268
+ userRelation?: never;
269
+ } | {
270
+ entity?: string;
271
+ entityId?: string;
272
+ [K: string]: any;
273
+ });
274
+ export type CreateSingleOperation = OakOperation<"create", CreateOperationData>;
275
+ export type CreateMultipleOperation = OakOperation<"create", Array<CreateOperationData>>;
276
+ export type CreateOperation = CreateSingleOperation | CreateMultipleOperation;
277
+ export type UpdateOperationData = FormUpdateData<Omit<OpSchema, "entity" | "entityId" | "modiId">> & (({
278
+ modi?: Modi.CreateSingleOperation;
279
+ modiId?: never;
280
+ } | {
281
+ modi?: Modi.UpdateOperation;
282
+ modiId?: never;
283
+ } | {
284
+ modi?: Modi.RemoveOperation;
285
+ modiId?: never;
286
+ } | {
287
+ modi?: never;
288
+ modiId?: ForeignKey<"modi">;
289
+ })) & ({
290
+ actionAuth?: ActionAuth.CreateSingleOperation | ActionAuth.UpdateOperation | ActionAuth.RemoveOperation;
291
+ entityId?: never;
292
+ entity?: never;
293
+ } | {
294
+ path?: Path.CreateSingleOperation | Path.UpdateOperation | Path.RemoveOperation;
295
+ entityId?: never;
296
+ entity?: never;
297
+ } | {
298
+ relation?: Relation.CreateSingleOperation | Relation.UpdateOperation | Relation.RemoveOperation;
299
+ entityId?: never;
300
+ entity?: never;
301
+ } | {
302
+ relationAuth?: RelationAuth.CreateSingleOperation | RelationAuth.UpdateOperation | RelationAuth.RemoveOperation;
303
+ entityId?: never;
304
+ entity?: never;
305
+ } | {
306
+ user?: User.CreateSingleOperation | User.UpdateOperation | User.RemoveOperation;
307
+ entityId?: never;
308
+ entity?: never;
309
+ } | {
310
+ userEntityClaim?: UserEntityClaim.CreateSingleOperation | UserEntityClaim.UpdateOperation | UserEntityClaim.RemoveOperation;
311
+ entityId?: never;
312
+ entity?: never;
313
+ } | {
314
+ userEntityGrant?: UserEntityGrant.CreateSingleOperation | UserEntityGrant.UpdateOperation | UserEntityGrant.RemoveOperation;
315
+ entityId?: never;
316
+ entity?: never;
317
+ } | {
318
+ userRelation?: UserRelation.CreateSingleOperation | UserRelation.UpdateOperation | UserRelation.RemoveOperation;
319
+ entityId?: never;
320
+ entity?: never;
321
+ } | {
322
+ entity?: ("actionAuth" | "i18n" | "path" | "relation" | "relationAuth" | "user" | "userEntityClaim" | "userEntityGrant" | "userRelation" | string) | null;
323
+ entityId?: ForeignKey<"ActionAuth" | "I18n" | "Path" | "Relation" | "RelationAuth" | "User" | "UserEntityClaim" | "UserEntityGrant" | "UserRelation"> | null;
324
+ actionAuth?: never;
325
+ i18n?: never;
326
+ path?: never;
327
+ relation?: never;
328
+ relationAuth?: never;
329
+ user?: never;
330
+ userEntityClaim?: never;
331
+ userEntityGrant?: never;
332
+ userRelation?: never;
333
+ }) & {
334
+ [k: string]: any;
335
+ };
336
+ export type UpdateOperation = OakOperation<"update" | string, UpdateOperationData, Filter, Sorter>;
337
+ export type RemoveOperationData = {} & (({
338
+ modi?: Modi.UpdateOperation | Modi.RemoveOperation;
339
+ })) & ({
340
+ actionAuth?: ActionAuth.UpdateOperation | ActionAuth.RemoveOperation;
341
+ } | {
342
+ path?: Path.UpdateOperation | Path.RemoveOperation;
343
+ } | {
344
+ relation?: Relation.UpdateOperation | Relation.RemoveOperation;
345
+ } | {
346
+ relationAuth?: RelationAuth.UpdateOperation | RelationAuth.RemoveOperation;
347
+ } | {
348
+ user?: User.UpdateOperation | User.RemoveOperation;
349
+ } | {
350
+ userEntityClaim?: UserEntityClaim.UpdateOperation | UserEntityClaim.RemoveOperation;
351
+ } | {
352
+ userEntityGrant?: UserEntityGrant.UpdateOperation | UserEntityGrant.RemoveOperation;
353
+ } | {
354
+ userRelation?: UserRelation.UpdateOperation | UserRelation.RemoveOperation;
355
+ } | {
356
+ [k: string]: any;
357
+ });
358
+ export type RemoveOperation = OakOperation<"remove", RemoveOperationData, Filter, Sorter>;
359
+ export type Operation = CreateOperation | UpdateOperation | RemoveOperation;
360
+ export type ModiIdSubQuery = Selection<ModiIdProjection>;
361
+ export type ActionAuthIdSubQuery = Selection<ActionAuthIdProjection>;
362
+ export type I18nIdSubQuery = Selection<I18nIdProjection>;
363
+ export type PathIdSubQuery = Selection<PathIdProjection>;
364
+ export type RelationIdSubQuery = Selection<RelationIdProjection>;
365
+ export type RelationAuthIdSubQuery = Selection<RelationAuthIdProjection>;
366
+ export type UserIdSubQuery = Selection<UserIdProjection>;
367
+ export type UserEntityClaimIdSubQuery = Selection<UserEntityClaimIdProjection>;
368
+ export type UserEntityGrantIdSubQuery = Selection<UserEntityGrantIdProjection>;
369
+ export type UserRelationIdSubQuery = Selection<UserRelationIdProjection>;
370
+ export type ModiEntityIdSubQuery = Selection<ModiEntityIdProjection>;
371
+ export type EntityDef = {
372
+ Schema: Schema;
373
+ OpSchema: OpSchema;
374
+ Action: OakMakeAction<AppendOnlyAction> | string;
375
+ Selection: Selection;
376
+ Aggregation: Aggregation;
377
+ Operation: Operation;
378
+ Create: CreateOperation;
379
+ Update: UpdateOperation;
380
+ Remove: RemoveOperation;
381
+ CreateSingle: CreateSingleOperation;
382
+ CreateMulti: CreateMultipleOperation;
383
+ };
384
+ export {};