oak-domain 4.0.1 → 4.0.3
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.
- package/lib/actions/action.d.ts +16 -16
- package/lib/actions/action.js +17 -17
- package/lib/actions/relation.d.ts +5 -5
- package/lib/actions/relation.js +25 -25
- package/lib/base-app-domain/ActionAuth/Schema.d.ts +186 -186
- package/lib/base-app-domain/ActionAuth/Storage.js +39 -39
- package/lib/base-app-domain/ActionDefDict.d.ts +8 -8
- package/lib/base-app-domain/ActionDefDict.js +9 -9
- package/lib/base-app-domain/EntityDict.d.ts +28 -28
- package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
- package/lib/base-app-domain/I18n/Schema.js +2 -2
- package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
- package/lib/base-app-domain/I18n/Storage.js +59 -59
- package/lib/base-app-domain/Modi/Action.d.ts +10 -10
- package/lib/base-app-domain/Modi/Action.js +14 -14
- package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
- package/lib/base-app-domain/Modi/Storage.js +63 -63
- package/lib/base-app-domain/ModiEntity/Schema.d.ts +384 -384
- package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
- package/lib/base-app-domain/Oper/Schema.d.ts +153 -153
- package/lib/base-app-domain/Oper/Storage.js +38 -38
- package/lib/base-app-domain/OperEntity/Schema.d.ts +373 -373
- package/lib/base-app-domain/OperEntity/Storage.js +30 -30
- package/lib/base-app-domain/Path/Schema.d.ts +149 -149
- package/lib/base-app-domain/Path/Schema.js +2 -2
- package/lib/base-app-domain/Path/Storage.d.ts +3 -3
- package/lib/base-app-domain/Path/Storage.js +54 -54
- package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
- package/lib/base-app-domain/Relation/Storage.js +54 -54
- package/lib/base-app-domain/Relation.d.ts +2 -2
- package/lib/base-app-domain/Relation.js +4 -4
- package/lib/base-app-domain/RelationAuth/Schema.d.ts +214 -214
- package/lib/base-app-domain/RelationAuth/Storage.js +44 -44
- package/lib/base-app-domain/Storage.js +31 -31
- package/lib/base-app-domain/User/Action.d.ts +10 -10
- package/lib/base-app-domain/User/Action.js +12 -12
- package/lib/base-app-domain/User/Schema.d.ts +210 -210
- package/lib/base-app-domain/User/Storage.js +33 -33
- package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -264
- package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -2
- package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -3
- package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -37
- package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +131 -131
- package/lib/base-app-domain/UserEntityGrant/Storage.js +25 -25
- package/lib/base-app-domain/UserRelation/Schema.d.ts +208 -208
- package/lib/base-app-domain/UserRelation/Storage.js +56 -56
- package/lib/base-app-domain/_SubQuery.d.ts +142 -142
- package/lib/base-app-domain/index.d.ts +4 -4
- package/lib/base-app-domain/index.js +7 -7
- package/lib/checkers/index.d.ts +5 -5
- package/lib/checkers/index.js +13 -13
- package/lib/compiler/entities.d.ts +2 -2
- package/lib/compiler/entities.js +7 -7
- package/lib/compiler/env.d.ts +13 -13
- package/lib/compiler/env.js +45 -45
- package/lib/compiler/localeBuilder.d.ts +1 -1
- package/lib/compiler/localeBuilder.js +49 -18
- package/lib/compiler/routerBuilder.d.ts +1 -0
- package/lib/compiler/routerBuilder.js +263 -0
- package/lib/compiler/schemalBuilder.d.ts +27 -27
- package/lib/compiler/schemalBuilder.js +3565 -3565
- package/lib/entities/ActionAuth.d.ts +10 -10
- package/lib/entities/ActionAuth.js +31 -31
- package/lib/entities/I18n.d.ts +9 -9
- package/lib/entities/I18n.js +36 -36
- package/lib/entities/Modi.js +49 -49
- package/lib/entities/ModiEntity.js +18 -18
- package/lib/entities/Oper.js +21 -21
- package/lib/entities/OperEntity.js +18 -18
- package/lib/entities/Path.d.ts +8 -8
- package/lib/entities/Path.js +35 -35
- package/lib/entities/Relation.d.ts +8 -8
- package/lib/entities/Relation.js +35 -35
- package/lib/entities/RelationAuth.d.ts +8 -8
- package/lib/entities/RelationAuth.js +34 -34
- package/lib/entities/User.js +31 -31
- package/lib/entities/UserEntityClaim.d.ts +13 -13
- package/lib/entities/UserEntityClaim.js +17 -17
- package/lib/entities/UserEntityGrant.d.ts +9 -9
- package/lib/entities/UserEntityGrant.js +15 -15
- package/lib/entities/UserRelation.d.ts +10 -10
- package/lib/entities/UserRelation.js +38 -38
- package/lib/index.d.ts +23 -23
- package/lib/index.js +37 -37
- package/lib/store/AsyncRowStore.d.ts +65 -65
- package/lib/store/AsyncRowStore.js +9 -5
- package/lib/store/CascadeStore.d.ts +109 -106
- package/lib/store/CascadeStore.js +1748 -1740
- package/lib/store/RelationAuth.d.ts +7 -0
- package/lib/store/RelationAuth.js +11 -4
- package/lib/store/SyncRowStore.d.ts +29 -29
- package/lib/store/SyncRowStore.js +50 -50
- package/lib/store/TriggerExecutor.d.ts +41 -41
- package/lib/store/TriggerExecutor.js +468 -468
- package/lib/store/actionAuth.d.ts +4 -4
- package/lib/store/actionAuth.js +25 -25
- package/lib/store/actionDef.d.ts +10 -10
- package/lib/store/actionDef.js +278 -278
- package/lib/store/checker.d.ts +26 -26
- package/lib/store/checker.js +2 -2
- package/lib/store/filter.d.ts +85 -85
- package/lib/store/filter.js +1652 -1652
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +254 -254
- package/lib/store/relation.d.ts +12 -12
- package/lib/store/relation.js +67 -67
- package/lib/timers/oper.d.ts +18 -18
- package/lib/timers/oper.js +57 -57
- package/lib/timers/vaccum.d.ts +20 -20
- package/lib/timers/vaccum.js +111 -111
- package/lib/triggers/index.d.ts +5 -5
- package/lib/triggers/index.js +8 -8
- package/lib/types/Action.d.ts +20 -20
- package/lib/types/AppLoader.d.ts +17 -17
- package/lib/types/AppLoader.js +10 -10
- package/lib/types/Auth.d.ts +70 -70
- package/lib/types/Cluster.d.ts +5 -5
- package/lib/types/Cluster.js +2 -2
- package/lib/types/Connector.d.ts +38 -38
- package/lib/types/Connector.js +2 -2
- package/lib/types/DataType.d.ts +25 -25
- package/lib/types/DataType.js +6 -6
- package/lib/types/Demand.d.ts +89 -89
- package/lib/types/Demand.js +10 -10
- package/lib/types/Endpoint.d.ts +11 -11
- package/lib/types/Entity.d.ts +209 -209
- package/lib/types/Entity.js +15 -15
- package/lib/types/EntityDesc.d.ts +9 -9
- package/lib/types/EntityDesc.js +2 -2
- package/lib/types/Environment.d.ts +90 -90
- package/lib/types/Environment.js +2 -2
- package/lib/types/Exception.d.ts +10 -2
- package/lib/types/Exception.js +32 -2
- package/lib/types/Expression.d.ts +163 -163
- package/lib/types/Expression.js +397 -397
- package/lib/types/Geo.d.ts +18 -18
- package/lib/types/Locale.d.ts +25 -25
- package/lib/types/Logger.d.ts +6 -6
- package/lib/types/Polyfill.d.ts +24 -24
- package/lib/types/Port.d.ts +18 -18
- package/lib/types/RowStore.d.ts +19 -19
- package/lib/types/RowStore.js +33 -33
- package/lib/types/Storage.d.ts +58 -58
- package/lib/types/Style.d.ts +11 -11
- package/lib/types/Timer.d.ts +20 -20
- package/lib/types/Trigger.d.ts +118 -118
- package/lib/types/Trigger.js +35 -35
- package/lib/types/Watcher.d.ts +19 -19
- package/lib/types/index.d.ts +26 -26
- package/lib/types/index.js +29 -29
- package/lib/types/schema/DataTypes.d.ts +34 -34
- package/lib/utils/SimpleConnector.d.ts +64 -64
- package/lib/utils/SimpleConnector.js +206 -206
- package/lib/utils/assert.d.ts +6 -5
- package/lib/utils/assert.js +9 -9
- package/lib/utils/concurrent.d.ts +15 -15
- package/lib/utils/concurrent.js +63 -63
- package/lib/utils/date.js +18 -18
- package/lib/utils/domain.d.ts +1 -1
- package/lib/utils/domain.js +11 -11
- package/lib/utils/geo.js +24 -24
- package/lib/utils/lodash.d.ts +24 -24
- package/lib/utils/lodash.js +46 -46
- package/lib/utils/mask.js +34 -34
- package/lib/utils/money.d.ts +6 -6
- package/lib/utils/money.js +51 -51
- package/lib/utils/projection.d.ts +4 -4
- package/lib/utils/projection.js +15 -15
- package/lib/utils/random/random.js +19 -19
- package/lib/utils/random/random.mp.js +14 -14
- package/lib/utils/random/random.native.d.ts +1 -1
- package/lib/utils/random/random.native.js +14 -14
- package/lib/utils/random/random.web.js +11 -11
- package/lib/utils/string.d.ts +28 -28
- package/lib/utils/string.js +69 -69
- package/lib/utils/url/index.d.ts +7 -7
- package/lib/utils/url/index.js +8 -8
- package/lib/utils/url/index.mp.d.ts +3 -3
- package/lib/utils/url/index.mp.js +8 -8
- package/lib/utils/url/index.native.d.ts +12 -12
- package/lib/utils/url/index.native.js +7 -7
- package/lib/utils/url/index.web.d.ts +12 -12
- package/lib/utils/url/index.web.js +7 -7
- package/lib/utils/url/whatwg-url/index.d.ts +3 -3
- package/lib/utils/url/whatwg-url/index.js +16 -16
- package/lib/utils/url/whatwg-url/lib/URL-impl.d.ts +20 -20
- package/lib/utils/url/whatwg-url/lib/URL-impl.js +175 -175
- package/lib/utils/url/whatwg-url/lib/URL.d.ts +1 -1
- package/lib/utils/url/whatwg-url/lib/URL.js +298 -298
- package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.d.ts +19 -19
- package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.js +126 -126
- package/lib/utils/url/whatwg-url/lib/URLSearchParams.d.ts +1 -1
- package/lib/utils/url/whatwg-url/lib/URLSearchParams.js +426 -426
- package/lib/utils/url/whatwg-url/lib/infra.d.ts +12 -12
- package/lib/utils/url/whatwg-url/lib/infra.js +25 -25
- package/lib/utils/url/whatwg-url/lib/url-state-machine.d.ts +24 -24
- package/lib/utils/url/whatwg-url/lib/url-state-machine.js +1238 -1238
- package/lib/utils/url/whatwg-url/lib/urlencoded.d.ts +15 -15
- package/lib/utils/url/whatwg-url/lib/urlencoded.js +162 -162
- package/lib/utils/url/whatwg-url/lib/utils.d.ts +37 -37
- package/lib/utils/url/whatwg-url/lib/utils.js +101 -101
- package/lib/utils/uuid.d.ts +17 -17
- package/lib/utils/uuid.js +218 -218
- package/lib/utils/validator.d.ts +26 -26
- package/lib/utils/validator.js +131 -131
- package/lib/utils/version.js +21 -21
- package/package.json +2 -1
package/lib/entities/User.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
const UserActionDef = {
|
|
5
|
-
stm: {
|
|
6
|
-
mergeTo: ['normal', 'merged'],
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
const entityDesc = {
|
|
10
|
-
locales: {
|
|
11
|
-
zh_CN: {
|
|
12
|
-
name: '用户',
|
|
13
|
-
attr: {
|
|
14
|
-
name: '姓名',
|
|
15
|
-
nickname: '昵称',
|
|
16
|
-
password: '密码',
|
|
17
|
-
ref: '指向用户',
|
|
18
|
-
userState: '状态',
|
|
19
|
-
},
|
|
20
|
-
action: {
|
|
21
|
-
mergeTo: '合并',
|
|
22
|
-
},
|
|
23
|
-
v: {
|
|
24
|
-
userState: {
|
|
25
|
-
normal: '正常',
|
|
26
|
-
merged: '已被合并',
|
|
27
|
-
},
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
const UserActionDef = {
|
|
5
|
+
stm: {
|
|
6
|
+
mergeTo: ['normal', 'merged'],
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
const entityDesc = {
|
|
10
|
+
locales: {
|
|
11
|
+
zh_CN: {
|
|
12
|
+
name: '用户',
|
|
13
|
+
attr: {
|
|
14
|
+
name: '姓名',
|
|
15
|
+
nickname: '昵称',
|
|
16
|
+
password: '密码',
|
|
17
|
+
ref: '指向用户',
|
|
18
|
+
userState: '状态',
|
|
19
|
+
},
|
|
20
|
+
action: {
|
|
21
|
+
mergeTo: '合并',
|
|
22
|
+
},
|
|
23
|
+
v: {
|
|
24
|
+
userState: {
|
|
25
|
+
normal: '正常',
|
|
26
|
+
merged: '已被合并',
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
import { Schema as UserEntityGrant } from './UserEntityGrant';
|
|
4
|
-
import { Schema as User } from './User';
|
|
5
|
-
import { Schema as Relation } from './Relation';
|
|
6
|
-
import { Schema as UserRelation } from './UserRelation';
|
|
7
|
-
export interface Schema extends EntityShape {
|
|
8
|
-
ueg: UserEntityGrant;
|
|
9
|
-
user: User;
|
|
10
|
-
relation: Relation;
|
|
11
|
-
claimEntityId: String<64>;
|
|
12
|
-
userRelation: UserRelation;
|
|
13
|
-
}
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
import { Schema as UserEntityGrant } from './UserEntityGrant';
|
|
4
|
+
import { Schema as User } from './User';
|
|
5
|
+
import { Schema as Relation } from './Relation';
|
|
6
|
+
import { Schema as UserRelation } from './UserRelation';
|
|
7
|
+
export interface Schema extends EntityShape {
|
|
8
|
+
ueg: UserEntityGrant;
|
|
9
|
+
user: User;
|
|
10
|
+
relation: Relation;
|
|
11
|
+
claimEntityId: String<64>;
|
|
12
|
+
userRelation: UserRelation;
|
|
13
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
const entityDesc = {
|
|
5
|
-
locales: {
|
|
6
|
-
zh_CN: {
|
|
7
|
-
name: '用户授权领取',
|
|
8
|
-
attr: {
|
|
9
|
-
ueg: '授权',
|
|
10
|
-
user: '用户',
|
|
11
|
-
relation: '关系',
|
|
12
|
-
claimEntityId: '对象Id',
|
|
13
|
-
userRelation: '用户关系',
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
const entityDesc = {
|
|
5
|
+
locales: {
|
|
6
|
+
zh_CN: {
|
|
7
|
+
name: '用户授权领取',
|
|
8
|
+
attr: {
|
|
9
|
+
ueg: '授权',
|
|
10
|
+
user: '用户',
|
|
11
|
+
relation: '关系',
|
|
12
|
+
claimEntityId: '对象Id',
|
|
13
|
+
userRelation: '用户关系',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
type RelationIds = string[];
|
|
4
|
-
export interface Schema extends EntityShape {
|
|
5
|
-
relationEntity: String<32>;
|
|
6
|
-
relationEntityFilter: Object;
|
|
7
|
-
relationIds: RelationIds;
|
|
8
|
-
}
|
|
9
|
-
export {};
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
type RelationIds = string[];
|
|
4
|
+
export interface Schema extends EntityShape {
|
|
5
|
+
relationEntity: String<32>;
|
|
6
|
+
relationEntityFilter: Object;
|
|
7
|
+
relationIds: RelationIds;
|
|
8
|
+
}
|
|
9
|
+
export {};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
const entityDesc = {
|
|
5
|
-
locales: {
|
|
6
|
-
zh_CN: {
|
|
7
|
-
name: '用户授权',
|
|
8
|
-
attr: {
|
|
9
|
-
relationIds: '关系',
|
|
10
|
-
relationEntity: '关联对象',
|
|
11
|
-
relationEntityFilter: '对象限定条件',
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
const entityDesc = {
|
|
5
|
+
locales: {
|
|
6
|
+
zh_CN: {
|
|
7
|
+
name: '用户授权',
|
|
8
|
+
attr: {
|
|
9
|
+
relationIds: '关系',
|
|
10
|
+
relationEntity: '关联对象',
|
|
11
|
+
relationEntityFilter: '对象限定条件',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
import { Schema as User } from './User';
|
|
4
|
-
import { Schema as Relation } from './Relation';
|
|
5
|
-
export interface Schema extends EntityShape {
|
|
6
|
-
user: User;
|
|
7
|
-
relation: Relation;
|
|
8
|
-
entity: String<32>;
|
|
9
|
-
entityId: String<64>;
|
|
10
|
-
}
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
import { Schema as User } from './User';
|
|
4
|
+
import { Schema as Relation } from './Relation';
|
|
5
|
+
export interface Schema extends EntityShape {
|
|
6
|
+
user: User;
|
|
7
|
+
relation: Relation;
|
|
8
|
+
entity: String<32>;
|
|
9
|
+
entityId: String<64>;
|
|
10
|
+
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
const entityDesc = {
|
|
5
|
-
locales: {
|
|
6
|
-
zh_CN: {
|
|
7
|
-
name: '用户对象关系',
|
|
8
|
-
attr: {
|
|
9
|
-
user: '关系',
|
|
10
|
-
relation: '目标关系',
|
|
11
|
-
entity: '目标对象',
|
|
12
|
-
entityId: '目标对象ID',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
indexes: [
|
|
17
|
-
{
|
|
18
|
-
name: 'index_user_entity_entityId_relation',
|
|
19
|
-
attributes: [
|
|
20
|
-
{
|
|
21
|
-
name: 'user',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
name: 'entity',
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: 'entityId',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: 'relation',
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
config: {
|
|
34
|
-
unique: true,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
]
|
|
38
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
const entityDesc = {
|
|
5
|
+
locales: {
|
|
6
|
+
zh_CN: {
|
|
7
|
+
name: '用户对象关系',
|
|
8
|
+
attr: {
|
|
9
|
+
user: '关系',
|
|
10
|
+
relation: '目标关系',
|
|
11
|
+
entity: '目标对象',
|
|
12
|
+
entityId: '目标对象ID',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
indexes: [
|
|
17
|
+
{
|
|
18
|
+
name: 'index_user_entity_entityId_relation',
|
|
19
|
+
attributes: [
|
|
20
|
+
{
|
|
21
|
+
name: 'user',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'entity',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'entityId',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'relation',
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
config: {
|
|
34
|
+
unique: true,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
]
|
|
38
|
+
};
|
package/lib/index.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export { storageSchema } from './base-app-domain';
|
|
2
|
-
export type { EntityDict as BaseEntityDict } from './base-app-domain';
|
|
3
|
-
export * from './store/AsyncRowStore';
|
|
4
|
-
export * from './store/SyncRowStore';
|
|
5
|
-
export * from './store/CascadeStore';
|
|
6
|
-
export * from './store/relation';
|
|
7
|
-
export * from './store/RelationAuth';
|
|
8
|
-
export * from './store/TriggerExecutor';
|
|
9
|
-
export * from './store/actionDef';
|
|
10
|
-
export * from './store/checker';
|
|
11
|
-
export * from './store/filter';
|
|
12
|
-
export * from './store/modi';
|
|
13
|
-
export * from './timers/oper';
|
|
14
|
-
export * from './timers/vaccum';
|
|
15
|
-
export * from './actions/action';
|
|
16
|
-
export * from './actions/relation';
|
|
17
|
-
export { SimpleConnector } from './utils/SimpleConnector';
|
|
18
|
-
export { assert } from './utils/assert';
|
|
19
|
-
export { composeUrl } from './utils/domain';
|
|
20
|
-
export { checkAttributesNotNull, checkAttributesScope, } from './utils/validator';
|
|
21
|
-
export { compareVersion } from './utils/version';
|
|
22
|
-
export * from './types';
|
|
23
|
-
export { generateNewIdAsync, generateNewId, shrinkUuidTo32Bytes, expandUuidTo36Bytes, } from './utils/uuid';
|
|
1
|
+
export { storageSchema } from './base-app-domain';
|
|
2
|
+
export type { EntityDict as BaseEntityDict } from './base-app-domain';
|
|
3
|
+
export * from './store/AsyncRowStore';
|
|
4
|
+
export * from './store/SyncRowStore';
|
|
5
|
+
export * from './store/CascadeStore';
|
|
6
|
+
export * from './store/relation';
|
|
7
|
+
export * from './store/RelationAuth';
|
|
8
|
+
export * from './store/TriggerExecutor';
|
|
9
|
+
export * from './store/actionDef';
|
|
10
|
+
export * from './store/checker';
|
|
11
|
+
export * from './store/filter';
|
|
12
|
+
export * from './store/modi';
|
|
13
|
+
export * from './timers/oper';
|
|
14
|
+
export * from './timers/vaccum';
|
|
15
|
+
export * from './actions/action';
|
|
16
|
+
export * from './actions/relation';
|
|
17
|
+
export { SimpleConnector } from './utils/SimpleConnector';
|
|
18
|
+
export { assert } from './utils/assert';
|
|
19
|
+
export { composeUrl } from './utils/domain';
|
|
20
|
+
export { checkAttributesNotNull, checkAttributesScope, } from './utils/validator';
|
|
21
|
+
export { compareVersion } from './utils/version';
|
|
22
|
+
export * from './types';
|
|
23
|
+
export { generateNewIdAsync, generateNewId, shrinkUuidTo32Bytes, expandUuidTo36Bytes, } from './utils/uuid';
|
package/lib/index.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expandUuidTo36Bytes = exports.shrinkUuidTo32Bytes = exports.generateNewId = exports.generateNewIdAsync = exports.compareVersion = exports.checkAttributesScope = exports.checkAttributesNotNull = exports.composeUrl = exports.assert = exports.SimpleConnector = exports.storageSchema = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
var base_app_domain_1 = require("./base-app-domain");
|
|
6
|
-
Object.defineProperty(exports, "storageSchema", { enumerable: true, get: function () { return base_app_domain_1.storageSchema; } });
|
|
7
|
-
tslib_1.__exportStar(require("./store/AsyncRowStore"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./store/SyncRowStore"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./store/CascadeStore"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./store/relation"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./store/RelationAuth"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./store/TriggerExecutor"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./store/actionDef"), exports);
|
|
14
|
-
tslib_1.__exportStar(require("./store/checker"), exports);
|
|
15
|
-
tslib_1.__exportStar(require("./store/filter"), exports);
|
|
16
|
-
tslib_1.__exportStar(require("./store/modi"), exports);
|
|
17
|
-
tslib_1.__exportStar(require("./timers/oper"), exports);
|
|
18
|
-
tslib_1.__exportStar(require("./timers/vaccum"), exports);
|
|
19
|
-
tslib_1.__exportStar(require("./actions/action"), exports);
|
|
20
|
-
tslib_1.__exportStar(require("./actions/relation"), exports);
|
|
21
|
-
var SimpleConnector_1 = require("./utils/SimpleConnector");
|
|
22
|
-
Object.defineProperty(exports, "SimpleConnector", { enumerable: true, get: function () { return SimpleConnector_1.SimpleConnector; } });
|
|
23
|
-
var assert_1 = require("./utils/assert");
|
|
24
|
-
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } });
|
|
25
|
-
var domain_1 = require("./utils/domain");
|
|
26
|
-
Object.defineProperty(exports, "composeUrl", { enumerable: true, get: function () { return domain_1.composeUrl; } });
|
|
27
|
-
var validator_1 = require("./utils/validator");
|
|
28
|
-
Object.defineProperty(exports, "checkAttributesNotNull", { enumerable: true, get: function () { return validator_1.checkAttributesNotNull; } });
|
|
29
|
-
Object.defineProperty(exports, "checkAttributesScope", { enumerable: true, get: function () { return validator_1.checkAttributesScope; } });
|
|
30
|
-
var version_1 = require("./utils/version");
|
|
31
|
-
Object.defineProperty(exports, "compareVersion", { enumerable: true, get: function () { return version_1.compareVersion; } });
|
|
32
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
33
|
-
var uuid_1 = require("./utils/uuid");
|
|
34
|
-
Object.defineProperty(exports, "generateNewIdAsync", { enumerable: true, get: function () { return uuid_1.generateNewIdAsync; } });
|
|
35
|
-
Object.defineProperty(exports, "generateNewId", { enumerable: true, get: function () { return uuid_1.generateNewId; } });
|
|
36
|
-
Object.defineProperty(exports, "shrinkUuidTo32Bytes", { enumerable: true, get: function () { return uuid_1.shrinkUuidTo32Bytes; } });
|
|
37
|
-
Object.defineProperty(exports, "expandUuidTo36Bytes", { enumerable: true, get: function () { return uuid_1.expandUuidTo36Bytes; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expandUuidTo36Bytes = exports.shrinkUuidTo32Bytes = exports.generateNewId = exports.generateNewIdAsync = exports.compareVersion = exports.checkAttributesScope = exports.checkAttributesNotNull = exports.composeUrl = exports.assert = exports.SimpleConnector = exports.storageSchema = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var base_app_domain_1 = require("./base-app-domain");
|
|
6
|
+
Object.defineProperty(exports, "storageSchema", { enumerable: true, get: function () { return base_app_domain_1.storageSchema; } });
|
|
7
|
+
tslib_1.__exportStar(require("./store/AsyncRowStore"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./store/SyncRowStore"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./store/CascadeStore"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./store/relation"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./store/RelationAuth"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./store/TriggerExecutor"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./store/actionDef"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./store/checker"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./store/filter"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./store/modi"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./timers/oper"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./timers/vaccum"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./actions/action"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./actions/relation"), exports);
|
|
21
|
+
var SimpleConnector_1 = require("./utils/SimpleConnector");
|
|
22
|
+
Object.defineProperty(exports, "SimpleConnector", { enumerable: true, get: function () { return SimpleConnector_1.SimpleConnector; } });
|
|
23
|
+
var assert_1 = require("./utils/assert");
|
|
24
|
+
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } });
|
|
25
|
+
var domain_1 = require("./utils/domain");
|
|
26
|
+
Object.defineProperty(exports, "composeUrl", { enumerable: true, get: function () { return domain_1.composeUrl; } });
|
|
27
|
+
var validator_1 = require("./utils/validator");
|
|
28
|
+
Object.defineProperty(exports, "checkAttributesNotNull", { enumerable: true, get: function () { return validator_1.checkAttributesNotNull; } });
|
|
29
|
+
Object.defineProperty(exports, "checkAttributesScope", { enumerable: true, get: function () { return validator_1.checkAttributesScope; } });
|
|
30
|
+
var version_1 = require("./utils/version");
|
|
31
|
+
Object.defineProperty(exports, "compareVersion", { enumerable: true, get: function () { return version_1.compareVersion; } });
|
|
32
|
+
tslib_1.__exportStar(require("./types"), exports);
|
|
33
|
+
var uuid_1 = require("./utils/uuid");
|
|
34
|
+
Object.defineProperty(exports, "generateNewIdAsync", { enumerable: true, get: function () { return uuid_1.generateNewIdAsync; } });
|
|
35
|
+
Object.defineProperty(exports, "generateNewId", { enumerable: true, get: function () { return uuid_1.generateNewId; } });
|
|
36
|
+
Object.defineProperty(exports, "shrinkUuidTo32Bytes", { enumerable: true, get: function () { return uuid_1.shrinkUuidTo32Bytes; } });
|
|
37
|
+
Object.defineProperty(exports, "expandUuidTo36Bytes", { enumerable: true, get: function () { return uuid_1.expandUuidTo36Bytes; } });
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, Context, TxnOption, OpRecord, AggregationResult, ClusterInfo } from "../types";
|
|
3
|
-
import { IncomingHttpHeaders } from "http";
|
|
4
|
-
/**
|
|
5
|
-
* 服务器端执行的异步环境的底层抽象
|
|
6
|
-
*/
|
|
7
|
-
export declare abstract class AsyncContext<ED extends EntityDict> implements Context {
|
|
8
|
-
rowStore: AsyncRowStore<ED, this>;
|
|
9
|
-
private uuid?;
|
|
10
|
-
opRecords: OpRecord<ED>[];
|
|
11
|
-
private scene?;
|
|
12
|
-
headers?: IncomingHttpHeaders;
|
|
13
|
-
clusterInfo?: ClusterInfo;
|
|
14
|
-
opResult: OperationResult<ED>;
|
|
15
|
-
private message?;
|
|
16
|
-
events: {
|
|
17
|
-
commit: Array<() => Promise<void>>;
|
|
18
|
-
rollback: Array<() => Promise<void>>;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* 在返回结果前调用,对数据行进行一些预处理,比如将一些敏感的列隐藏
|
|
22
|
-
*/
|
|
23
|
-
abstract refineOpRecords(): Promise<void>;
|
|
24
|
-
constructor(store: AsyncRowStore<ED, AsyncContext<ED>>);
|
|
25
|
-
restartToExecute(routine: (context: this) => Promise<any>): Promise<void>;
|
|
26
|
-
getHeader(key: string): string | string[] | undefined;
|
|
27
|
-
getScene(): string | undefined;
|
|
28
|
-
setScene(scene?: string): void;
|
|
29
|
-
private resetEvents;
|
|
30
|
-
on(event: 'commit' | 'rollback', callback: () => Promise<void>): void;
|
|
31
|
-
saveOpRecord<T extends keyof ED>(entity: T, operation: ED[T]['Operation']): void;
|
|
32
|
-
/**
|
|
33
|
-
* 一个context中不应该有并发的事务,这里将事务串行化,使用的时候千万要注意不要自己等自己
|
|
34
|
-
* @param options
|
|
35
|
-
*/
|
|
36
|
-
begin(options?: TxnOption): Promise<void>;
|
|
37
|
-
commit(): Promise<void>;
|
|
38
|
-
rollback(): Promise<void>;
|
|
39
|
-
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): Promise<OperationResult<ED>>;
|
|
40
|
-
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Promise<Partial<ED[T]["Schema"]>[]>;
|
|
41
|
-
aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], option: OP): Promise<AggregationResult<ED[T]["Schema"]>>;
|
|
42
|
-
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): Promise<number>;
|
|
43
|
-
exec(script: string, txnId?: string): Promise<void>;
|
|
44
|
-
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
|
|
45
|
-
getCurrentTxnId(): string | undefined;
|
|
46
|
-
getSchema(): import("../types").StorageSchema<ED>;
|
|
47
|
-
setMessage(message: string): void;
|
|
48
|
-
getMessage(): string | undefined;
|
|
49
|
-
abstract isRoot(): boolean;
|
|
50
|
-
abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
51
|
-
abstract toString(): string;
|
|
52
|
-
abstract initialize(data: any): Promise<void>;
|
|
53
|
-
abstract allowUserUpdate(): boolean;
|
|
54
|
-
abstract openRootMode(): () => void;
|
|
55
|
-
}
|
|
56
|
-
export interface AsyncRowStore<ED extends EntityDict, Cxt extends AsyncContext<ED>> extends RowStore<ED> {
|
|
57
|
-
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise<OperationResult<ED>>;
|
|
58
|
-
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise<Partial<ED[T]['Schema']>[]>;
|
|
59
|
-
aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], context: Cxt, option: OP): Promise<AggregationResult<ED[T]['Schema']>>;
|
|
60
|
-
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): Promise<number>;
|
|
61
|
-
begin(option?: TxnOption): Promise<string>;
|
|
62
|
-
commit(txnId: string): Promise<void>;
|
|
63
|
-
rollback(txnId: string): Promise<void>;
|
|
64
|
-
exec(script: string, txnId?: string): Promise<void>;
|
|
65
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, Context, TxnOption, OpRecord, AggregationResult, ClusterInfo } from "../types";
|
|
3
|
+
import { IncomingHttpHeaders } from "http";
|
|
4
|
+
/**
|
|
5
|
+
* 服务器端执行的异步环境的底层抽象
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class AsyncContext<ED extends EntityDict> implements Context {
|
|
8
|
+
rowStore: AsyncRowStore<ED, this>;
|
|
9
|
+
private uuid?;
|
|
10
|
+
opRecords: OpRecord<ED>[];
|
|
11
|
+
private scene?;
|
|
12
|
+
headers?: IncomingHttpHeaders;
|
|
13
|
+
clusterInfo?: ClusterInfo;
|
|
14
|
+
opResult: OperationResult<ED>;
|
|
15
|
+
private message?;
|
|
16
|
+
events: {
|
|
17
|
+
commit: Array<() => Promise<void>>;
|
|
18
|
+
rollback: Array<() => Promise<void>>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* 在返回结果前调用,对数据行进行一些预处理,比如将一些敏感的列隐藏
|
|
22
|
+
*/
|
|
23
|
+
abstract refineOpRecords(): Promise<void>;
|
|
24
|
+
constructor(store: AsyncRowStore<ED, AsyncContext<ED>>);
|
|
25
|
+
restartToExecute(routine: (context: this) => Promise<any>): Promise<void>;
|
|
26
|
+
getHeader(key: string): string | string[] | undefined;
|
|
27
|
+
getScene(): string | undefined;
|
|
28
|
+
setScene(scene?: string): void;
|
|
29
|
+
private resetEvents;
|
|
30
|
+
on(event: 'commit' | 'rollback', callback: () => Promise<void>): void;
|
|
31
|
+
saveOpRecord<T extends keyof ED>(entity: T, operation: ED[T]['Operation']): void;
|
|
32
|
+
/**
|
|
33
|
+
* 一个context中不应该有并发的事务,这里将事务串行化,使用的时候千万要注意不要自己等自己
|
|
34
|
+
* @param options
|
|
35
|
+
*/
|
|
36
|
+
begin(options?: TxnOption): Promise<void>;
|
|
37
|
+
commit(): Promise<void>;
|
|
38
|
+
rollback(): Promise<void>;
|
|
39
|
+
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): Promise<OperationResult<ED>>;
|
|
40
|
+
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Promise<Partial<ED[T]["Schema"]>[]>;
|
|
41
|
+
aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], option: OP): Promise<AggregationResult<ED[T]["Schema"]>>;
|
|
42
|
+
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): Promise<number>;
|
|
43
|
+
exec(script: string, txnId?: string): Promise<void>;
|
|
44
|
+
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
|
|
45
|
+
getCurrentTxnId(): string | undefined;
|
|
46
|
+
getSchema(): import("../types").StorageSchema<ED>;
|
|
47
|
+
setMessage(message: string): void;
|
|
48
|
+
getMessage(): string | undefined;
|
|
49
|
+
abstract isRoot(): boolean;
|
|
50
|
+
abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
51
|
+
abstract toString(): string;
|
|
52
|
+
abstract initialize(data: any): Promise<void>;
|
|
53
|
+
abstract allowUserUpdate(): boolean;
|
|
54
|
+
abstract openRootMode(): () => void;
|
|
55
|
+
}
|
|
56
|
+
export interface AsyncRowStore<ED extends EntityDict, Cxt extends AsyncContext<ED>> extends RowStore<ED> {
|
|
57
|
+
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise<OperationResult<ED>>;
|
|
58
|
+
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise<Partial<ED[T]['Schema']>[]>;
|
|
59
|
+
aggregate<T extends keyof ED, OP extends SelectOption>(entity: T, aggregation: ED[T]['Aggregation'], context: Cxt, option: OP): Promise<AggregationResult<ED[T]['Schema']>>;
|
|
60
|
+
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): Promise<number>;
|
|
61
|
+
begin(option?: TxnOption): Promise<string>;
|
|
62
|
+
commit(txnId: string): Promise<void>;
|
|
63
|
+
rollback(txnId: string): Promise<void>;
|
|
64
|
+
exec(script: string, txnId?: string): Promise<void>;
|
|
65
|
+
}
|
|
@@ -118,24 +118,28 @@ class AsyncContext {
|
|
|
118
118
|
async commit() {
|
|
119
119
|
if (this.uuid) {
|
|
120
120
|
await this.rowStore.commit(this.uuid);
|
|
121
|
-
this.uuid = undefined;
|
|
122
121
|
const { commit: commitEvents } = this.events;
|
|
123
|
-
this.resetEvents();
|
|
124
122
|
for (const e of commitEvents) {
|
|
125
123
|
await e();
|
|
126
124
|
}
|
|
125
|
+
this.uuid = undefined;
|
|
126
|
+
this.resetEvents();
|
|
127
|
+
this.opRecords = [];
|
|
128
|
+
this.opResult = {};
|
|
129
|
+
this.message = '';
|
|
127
130
|
}
|
|
128
131
|
}
|
|
129
132
|
async rollback() {
|
|
130
133
|
if (this.uuid) {
|
|
131
134
|
await this.rowStore.rollback(this.uuid);
|
|
132
|
-
// console.log('rollback', this.uuid);
|
|
133
|
-
this.uuid = undefined;
|
|
134
135
|
const { rollback: rollbackEvents } = this.events;
|
|
135
|
-
this.resetEvents();
|
|
136
136
|
for (const e of rollbackEvents) {
|
|
137
137
|
await e();
|
|
138
138
|
}
|
|
139
|
+
this.uuid = undefined;
|
|
140
|
+
this.opRecords = [];
|
|
141
|
+
this.opResult = {};
|
|
142
|
+
this.resetEvents();
|
|
139
143
|
}
|
|
140
144
|
}
|
|
141
145
|
async operate(entity, operation, option) {
|