oak-domain 2.0.2 → 2.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 +1 -1
- package/lib/actions/relation.js +2 -2
- package/lib/base-app-domain/ActionDefDict.d.ts +5 -5
- package/lib/base-app-domain/ActionDefDict.js +7 -7
- package/lib/base-app-domain/EntityDict.d.ts +12 -12
- package/lib/base-app-domain/EntityDict.js +2 -2
- 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 +161 -161
- package/lib/base-app-domain/Modi/Schema.js +2 -2
- package/lib/base-app-domain/Modi/Storage.d.ts +3 -3
- package/lib/base-app-domain/Modi/Storage.js +60 -60
- package/lib/base-app-domain/ModiEntity/Schema.d.ts +176 -176
- package/lib/base-app-domain/ModiEntity/Schema.js +2 -2
- package/lib/base-app-domain/ModiEntity/Storage.d.ts +3 -3
- package/lib/base-app-domain/ModiEntity/Storage.js +26 -26
- package/lib/base-app-domain/Oper/Schema.d.ts +158 -158
- package/lib/base-app-domain/Oper/Schema.js +2 -2
- package/lib/base-app-domain/Oper/Storage.d.ts +3 -3
- package/lib/base-app-domain/Oper/Storage.js +29 -29
- package/lib/base-app-domain/OperEntity/Schema.d.ts +193 -193
- package/lib/base-app-domain/OperEntity/Schema.js +2 -2
- package/lib/base-app-domain/OperEntity/Storage.d.ts +3 -3
- package/lib/base-app-domain/OperEntity/Storage.js +26 -26
- package/lib/base-app-domain/Storage.d.ts +3 -3
- package/lib/base-app-domain/Storage.js +15 -15
- package/lib/base-app-domain/User/Schema.d.ts +137 -137
- package/lib/base-app-domain/User/Schema.js +2 -2
- package/lib/base-app-domain/User/Storage.d.ts +3 -3
- package/lib/base-app-domain/User/Storage.js +25 -25
- package/lib/base-app-domain/_SubQuery.d.ts +36 -36
- package/lib/base-app-domain/_SubQuery.js +2 -2
- package/lib/base-app-domain/index.d.ts +3 -3
- package/lib/base-app-domain/index.js +6 -6
- package/lib/checkers/index.d.ts +5 -5
- package/lib/checkers/index.js +8 -8
- package/lib/compiler/env.d.ts +11 -11
- package/lib/compiler/env.js +39 -39
- package/lib/compiler/schemalBuilder.d.ts +2 -2
- package/lib/compiler/schemalBuilder.js +3137 -3137
- package/lib/compiler/uiBuilder.d.ts +1 -1
- package/lib/compiler/uiBuilder.js +3 -3
- package/lib/entities/Modi.d.ts +11 -11
- package/lib/entities/Modi.js +46 -46
- package/lib/entities/ModiEntity.d.ts +8 -8
- package/lib/entities/ModiEntity.js +15 -15
- package/lib/entities/Oper.d.ts +10 -10
- package/lib/entities/Oper.js +17 -17
- package/lib/entities/OperEntity.d.ts +8 -8
- package/lib/entities/OperEntity.js +15 -15
- package/lib/entities/User.d.ts +7 -7
- package/lib/entities/User.js +12 -12
- package/lib/store/AsyncRowStore.d.ts +45 -45
- package/lib/store/AsyncRowStore.js +180 -180
- package/lib/store/CascadeStore.d.ts +89 -89
- package/lib/store/CascadeStore.js +1515 -1511
- package/lib/store/SyncRowStore.d.ts +26 -26
- package/lib/store/SyncRowStore.js +45 -45
- package/lib/store/TriggerExecutor.d.ts +32 -32
- package/lib/store/TriggerExecutor.js +470 -470
- package/lib/store/actionDef.d.ts +9 -9
- package/lib/store/actionDef.js +135 -135
- package/lib/store/checker.d.ts +6 -6
- package/lib/store/checker.js +218 -165
- package/lib/store/filter.d.ts +99 -99
- package/lib/store/filter.js +855 -855
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +172 -172
- package/lib/store/relation.d.ts +13 -13
- package/lib/store/relation.js +64 -64
- package/lib/store/selection.d.ts +7 -7
- package/lib/store/selection.js +228 -228
- package/lib/triggers/index.d.ts +6 -6
- package/lib/triggers/index.js +11 -11
- package/lib/triggers/modi.d.ts +5 -5
- package/lib/triggers/modi.js +72 -72
- package/lib/types/Action.d.ts +14 -14
- package/lib/types/Action.js +2 -2
- package/lib/types/AppLoader.d.ts +11 -11
- package/lib/types/AppLoader.js +10 -10
- package/lib/types/Aspect.d.ts +12 -12
- package/lib/types/Aspect.js +4 -4
- package/lib/types/Auth.d.ts +57 -31
- package/lib/types/Auth.js +2 -2
- package/lib/types/Connector.d.ts +26 -26
- package/lib/types/Connector.js +9 -9
- package/lib/types/Context.d.ts +6 -6
- package/lib/types/Context.js +3 -3
- package/lib/types/DataType.d.ts +18 -18
- package/lib/types/DataType.js +5 -5
- package/lib/types/Demand.d.ts +77 -77
- package/lib/types/Demand.js +9 -9
- package/lib/types/Entity.d.ts +159 -159
- package/lib/types/Entity.js +15 -15
- package/lib/types/Exception.d.ts +83 -83
- package/lib/types/Exception.js +252 -252
- package/lib/types/Expression.d.ts +141 -141
- package/lib/types/Expression.js +387 -387
- package/lib/types/Geo.d.ts +18 -18
- package/lib/types/Geo.js +2 -2
- package/lib/types/Locale.d.ts +24 -24
- package/lib/types/Locale.js +2 -2
- package/lib/types/Logger.d.ts +5 -5
- package/lib/types/Logger.js +3 -3
- package/lib/types/Polyfill.d.ts +23 -23
- package/lib/types/Polyfill.js +2 -2
- package/lib/types/RowStore.d.ts +12 -12
- package/lib/types/RowStore.js +34 -34
- package/lib/types/Storage.d.ts +55 -55
- package/lib/types/Storage.js +2 -2
- package/lib/types/Trigger.d.ts +88 -89
- package/lib/types/Trigger.js +39 -39
- package/lib/types/Txn.d.ts +2 -2
- package/lib/types/Txn.js +3 -3
- package/lib/types/Watcher.d.ts +19 -19
- package/lib/types/Watcher.js +4 -4
- package/lib/types/index.d.ts +18 -18
- package/lib/types/index.js +21 -21
- package/lib/types/schema/DataTypes.d.ts +32 -32
- package/lib/types/schema/DataTypes.js +3 -3
- package/lib/utils/SimpleConnector.d.ts +30 -30
- package/lib/utils/SimpleConnector.js +102 -102
- package/lib/utils/assert.d.ts +5 -5
- package/lib/utils/assert.js +9 -9
- package/lib/utils/concurrent.d.ts +15 -15
- package/lib/utils/concurrent.js +89 -89
- package/lib/utils/geo.d.ts +4 -4
- package/lib/utils/geo.js +24 -24
- package/lib/utils/lodash.d.ts +5 -5
- package/lib/utils/lodash.js +38 -38
- package/lib/utils/random/random.d.ts +1 -1
- package/lib/utils/random/random.js +24 -24
- package/lib/utils/random/random.mp.d.ts +1 -1
- package/lib/utils/random/random.mp.js +25 -25
- package/lib/utils/random/random.web.d.ts +1 -1
- package/lib/utils/random/random.web.js +17 -17
- package/lib/utils/string.d.ts +22 -22
- package/lib/utils/string.js +70 -70
- package/lib/utils/uuid.d.ts +12 -12
- package/lib/utils/uuid.js +182 -182
- package/lib/utils/validator.d.ts +23 -23
- package/lib/utils/validator.js +123 -123
- package/package.json +47 -47
- package/src/entities/Modi.ts +68 -68
- package/src/entities/ModiEntity.ts +24 -24
- package/src/entities/Oper.ts +28 -28
- package/src/entities/OperEntity.ts +24 -24
- package/src/entities/User.ts +19 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
declare function outputElement(): void;
|
|
1
|
+
declare function outputElement(): void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function outputElement() {
|
|
3
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
function outputElement() {
|
|
3
|
+
}
|
package/lib/entities/Modi.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
export interface Schema extends EntityShape {
|
|
4
|
-
targetEntity: String<32>;
|
|
5
|
-
entity: String<32>;
|
|
6
|
-
entityId: String<64>;
|
|
7
|
-
action: String<16>;
|
|
8
|
-
data: Object;
|
|
9
|
-
filter?: Object;
|
|
10
|
-
extra?: Object;
|
|
11
|
-
}
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
export interface Schema extends EntityShape {
|
|
4
|
+
targetEntity: String<32>;
|
|
5
|
+
entity: String<32>;
|
|
6
|
+
entityId: String<64>;
|
|
7
|
+
action: String<16>;
|
|
8
|
+
data: Object;
|
|
9
|
+
filter?: Object;
|
|
10
|
+
extra?: Object;
|
|
11
|
+
}
|
package/lib/entities/Modi.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
var IActionDef = {
|
|
5
|
-
stm: {
|
|
6
|
-
apply: ['active', 'applied'],
|
|
7
|
-
abandon: ['active', 'abandoned'],
|
|
8
|
-
},
|
|
9
|
-
is: 'active',
|
|
10
|
-
};
|
|
11
|
-
var indexes = [
|
|
12
|
-
{
|
|
13
|
-
name: 'index_state',
|
|
14
|
-
attributes: [
|
|
15
|
-
{
|
|
16
|
-
name: 'iState',
|
|
17
|
-
direction: 'ASC',
|
|
18
|
-
}
|
|
19
|
-
],
|
|
20
|
-
},
|
|
21
|
-
];
|
|
22
|
-
var locale = {
|
|
23
|
-
zh_CN: {
|
|
24
|
-
attr: {
|
|
25
|
-
targetEntity: '目标对象',
|
|
26
|
-
entity: '关联对象',
|
|
27
|
-
entityId: '关联对象Id',
|
|
28
|
-
action: '动作',
|
|
29
|
-
data: '数据',
|
|
30
|
-
filter: '条件',
|
|
31
|
-
extra: '其它',
|
|
32
|
-
iState: '状态',
|
|
33
|
-
},
|
|
34
|
-
action: {
|
|
35
|
-
abandon: '放弃',
|
|
36
|
-
apply: '应用',
|
|
37
|
-
},
|
|
38
|
-
v: {
|
|
39
|
-
iState: {
|
|
40
|
-
active: '活跃的',
|
|
41
|
-
abandoned: '放弃的',
|
|
42
|
-
applied: '应用的',
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
var IActionDef = {
|
|
5
|
+
stm: {
|
|
6
|
+
apply: ['active', 'applied'],
|
|
7
|
+
abandon: ['active', 'abandoned'],
|
|
8
|
+
},
|
|
9
|
+
is: 'active',
|
|
10
|
+
};
|
|
11
|
+
var indexes = [
|
|
12
|
+
{
|
|
13
|
+
name: 'index_state',
|
|
14
|
+
attributes: [
|
|
15
|
+
{
|
|
16
|
+
name: 'iState',
|
|
17
|
+
direction: 'ASC',
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
];
|
|
22
|
+
var locale = {
|
|
23
|
+
zh_CN: {
|
|
24
|
+
attr: {
|
|
25
|
+
targetEntity: '目标对象',
|
|
26
|
+
entity: '关联对象',
|
|
27
|
+
entityId: '关联对象Id',
|
|
28
|
+
action: '动作',
|
|
29
|
+
data: '数据',
|
|
30
|
+
filter: '条件',
|
|
31
|
+
extra: '其它',
|
|
32
|
+
iState: '状态',
|
|
33
|
+
},
|
|
34
|
+
action: {
|
|
35
|
+
abandon: '放弃',
|
|
36
|
+
apply: '应用',
|
|
37
|
+
},
|
|
38
|
+
v: {
|
|
39
|
+
iState: {
|
|
40
|
+
active: '活跃的',
|
|
41
|
+
abandoned: '放弃的',
|
|
42
|
+
applied: '应用的',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
import { Schema as Modi } from './Modi';
|
|
4
|
-
export interface Schema extends EntityShape {
|
|
5
|
-
modi: Modi;
|
|
6
|
-
entity: String<32>;
|
|
7
|
-
entityId: String<64>;
|
|
8
|
-
}
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
import { Schema as Modi } from './Modi';
|
|
4
|
+
export interface Schema extends EntityShape {
|
|
5
|
+
modi: Modi;
|
|
6
|
+
entity: String<32>;
|
|
7
|
+
entityId: String<64>;
|
|
8
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
var config = {
|
|
5
|
-
actionType: 'appendOnly',
|
|
6
|
-
};
|
|
7
|
-
var locale = {
|
|
8
|
-
zh_CN: {
|
|
9
|
-
attr: {
|
|
10
|
-
modi: '更新',
|
|
11
|
-
entity: '关联对象',
|
|
12
|
-
entityId: '关联对象id',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
var config = {
|
|
5
|
+
actionType: 'appendOnly',
|
|
6
|
+
};
|
|
7
|
+
var locale = {
|
|
8
|
+
zh_CN: {
|
|
9
|
+
attr: {
|
|
10
|
+
modi: '更新',
|
|
11
|
+
entity: '关联对象',
|
|
12
|
+
entityId: '关联对象id',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
package/lib/entities/Oper.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
import { Schema as User } from './User';
|
|
4
|
-
export interface Schema extends EntityShape {
|
|
5
|
-
action: String<16>;
|
|
6
|
-
data: Object;
|
|
7
|
-
filter?: Object;
|
|
8
|
-
extra?: Object;
|
|
9
|
-
operator?: User;
|
|
10
|
-
}
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
import { Schema as User } from './User';
|
|
4
|
+
export interface Schema extends EntityShape {
|
|
5
|
+
action: String<16>;
|
|
6
|
+
data: Object;
|
|
7
|
+
filter?: Object;
|
|
8
|
+
extra?: Object;
|
|
9
|
+
operator?: User;
|
|
10
|
+
}
|
package/lib/entities/Oper.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
var configuration = {
|
|
5
|
-
actionType: 'appendOnly',
|
|
6
|
-
};
|
|
7
|
-
var locale = {
|
|
8
|
-
zh_CN: {
|
|
9
|
-
attr: {
|
|
10
|
-
action: '动作',
|
|
11
|
-
data: '数据',
|
|
12
|
-
filter: '选择条件',
|
|
13
|
-
extra: '其它',
|
|
14
|
-
operator: '操作者',
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
var configuration = {
|
|
5
|
+
actionType: 'appendOnly',
|
|
6
|
+
};
|
|
7
|
+
var locale = {
|
|
8
|
+
zh_CN: {
|
|
9
|
+
attr: {
|
|
10
|
+
action: '动作',
|
|
11
|
+
data: '数据',
|
|
12
|
+
filter: '选择条件',
|
|
13
|
+
extra: '其它',
|
|
14
|
+
operator: '操作者',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { String } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
import { Schema as Oper } from './Oper';
|
|
4
|
-
export interface Schema extends EntityShape {
|
|
5
|
-
oper: Oper;
|
|
6
|
-
entity: String<32>;
|
|
7
|
-
entityId: String<64>;
|
|
8
|
-
}
|
|
1
|
+
import { String } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
import { Schema as Oper } from './Oper';
|
|
4
|
+
export interface Schema extends EntityShape {
|
|
5
|
+
oper: Oper;
|
|
6
|
+
entity: String<32>;
|
|
7
|
+
entityId: String<64>;
|
|
8
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
var config = {
|
|
5
|
-
actionType: 'appendOnly',
|
|
6
|
-
};
|
|
7
|
-
var locale = {
|
|
8
|
-
zh_CN: {
|
|
9
|
-
attr: {
|
|
10
|
-
oper: '操作',
|
|
11
|
-
entity: '关联对象',
|
|
12
|
-
entityId: '关联对象id',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
var config = {
|
|
5
|
+
actionType: 'appendOnly',
|
|
6
|
+
};
|
|
7
|
+
var locale = {
|
|
8
|
+
zh_CN: {
|
|
9
|
+
attr: {
|
|
10
|
+
oper: '操作',
|
|
11
|
+
entity: '关联对象',
|
|
12
|
+
entityId: '关联对象id',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
package/lib/entities/User.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { String, Text } from '../types/DataType';
|
|
2
|
-
import { EntityShape } from '../types/Entity';
|
|
3
|
-
export interface Schema extends EntityShape {
|
|
4
|
-
name?: String<16>;
|
|
5
|
-
nickname?: String<64>;
|
|
6
|
-
password?: Text;
|
|
7
|
-
}
|
|
1
|
+
import { String, Text } from '../types/DataType';
|
|
2
|
+
import { EntityShape } from '../types/Entity';
|
|
3
|
+
export interface Schema extends EntityShape {
|
|
4
|
+
name?: String<16>;
|
|
5
|
+
nickname?: String<64>;
|
|
6
|
+
password?: Text;
|
|
7
|
+
}
|
package/lib/entities/User.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
;
|
|
4
|
-
var locale = {
|
|
5
|
-
zh_CN: {
|
|
6
|
-
attr: {
|
|
7
|
-
name: '姓名',
|
|
8
|
-
nickname: '昵称',
|
|
9
|
-
password: '密码',
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
;
|
|
4
|
+
var locale = {
|
|
5
|
+
zh_CN: {
|
|
6
|
+
attr: {
|
|
7
|
+
name: '姓名',
|
|
8
|
+
nickname: '昵称',
|
|
9
|
+
password: '密码',
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
};
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, Context, TxnOption, OpRecord } from "../types";
|
|
3
|
-
import { IncomingHttpHeaders } from "http";
|
|
4
|
-
export declare abstract class AsyncContext<ED extends EntityDict> implements Context {
|
|
5
|
-
private rowStore;
|
|
6
|
-
private uuid?;
|
|
7
|
-
opRecords: OpRecord<ED>[];
|
|
8
|
-
private scene?;
|
|
9
|
-
private headers?;
|
|
10
|
-
events: {
|
|
11
|
-
commit: Array<() => Promise<void>>;
|
|
12
|
-
rollback: Array<() => Promise<void>>;
|
|
13
|
-
};
|
|
14
|
-
constructor(store: AsyncRowStore<ED, AsyncContext<ED>>, headers?: IncomingHttpHeaders);
|
|
15
|
-
setHeaders(headers: IncomingHttpHeaders): void;
|
|
16
|
-
getHeader(key: string): string | string[] | undefined;
|
|
17
|
-
getScene(): string | undefined;
|
|
18
|
-
setScene(scene?: string): void;
|
|
19
|
-
private resetEvents;
|
|
20
|
-
on(event: 'commit' | 'rollback', callback: () => Promise<void>): void;
|
|
21
|
-
/**
|
|
22
|
-
* 一个context中不应该有并发的事务,这里将事务串行化,使用的时候千万要注意不要自己等自己
|
|
23
|
-
* @param options
|
|
24
|
-
*/
|
|
25
|
-
begin(options?: TxnOption): Promise<void>;
|
|
26
|
-
commit(): Promise<void>;
|
|
27
|
-
rollback(): Promise<void>;
|
|
28
|
-
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): Promise<OperationResult<ED>>;
|
|
29
|
-
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Promise<Partial<ED[T]["Schema"]>[]>;
|
|
30
|
-
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): Promise<number>;
|
|
31
|
-
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
|
|
32
|
-
getCurrentTxnId(): string | undefined;
|
|
33
|
-
getSchema(): import("../types").StorageSchema<ED>;
|
|
34
|
-
abstract isRoot(): boolean;
|
|
35
|
-
abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
36
|
-
abstract toString(): string;
|
|
37
|
-
}
|
|
38
|
-
export interface AsyncRowStore<ED extends EntityDict, Cxt extends Context> extends RowStore<ED> {
|
|
39
|
-
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise<OperationResult<ED>>;
|
|
40
|
-
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise<Partial<ED[T]['Schema']>[]>;
|
|
41
|
-
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): Promise<number>;
|
|
42
|
-
begin(option?: TxnOption): Promise<string>;
|
|
43
|
-
commit(txnId: string): Promise<void>;
|
|
44
|
-
rollback(txnId: string): Promise<void>;
|
|
45
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EntityDict, RowStore, OperateOption, OperationResult, SelectOption, Context, TxnOption, OpRecord } from "../types";
|
|
3
|
+
import { IncomingHttpHeaders } from "http";
|
|
4
|
+
export declare abstract class AsyncContext<ED extends EntityDict> implements Context {
|
|
5
|
+
private rowStore;
|
|
6
|
+
private uuid?;
|
|
7
|
+
opRecords: OpRecord<ED>[];
|
|
8
|
+
private scene?;
|
|
9
|
+
private headers?;
|
|
10
|
+
events: {
|
|
11
|
+
commit: Array<() => Promise<void>>;
|
|
12
|
+
rollback: Array<() => Promise<void>>;
|
|
13
|
+
};
|
|
14
|
+
constructor(store: AsyncRowStore<ED, AsyncContext<ED>>, headers?: IncomingHttpHeaders);
|
|
15
|
+
setHeaders(headers: IncomingHttpHeaders): void;
|
|
16
|
+
getHeader(key: string): string | string[] | undefined;
|
|
17
|
+
getScene(): string | undefined;
|
|
18
|
+
setScene(scene?: string): void;
|
|
19
|
+
private resetEvents;
|
|
20
|
+
on(event: 'commit' | 'rollback', callback: () => Promise<void>): void;
|
|
21
|
+
/**
|
|
22
|
+
* 一个context中不应该有并发的事务,这里将事务串行化,使用的时候千万要注意不要自己等自己
|
|
23
|
+
* @param options
|
|
24
|
+
*/
|
|
25
|
+
begin(options?: TxnOption): Promise<void>;
|
|
26
|
+
commit(): Promise<void>;
|
|
27
|
+
rollback(): Promise<void>;
|
|
28
|
+
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], option: OP): Promise<OperationResult<ED>>;
|
|
29
|
+
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], option: OP): Promise<Partial<ED[T]["Schema"]>[]>;
|
|
30
|
+
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, option: OP): Promise<number>;
|
|
31
|
+
mergeMultipleResults(toBeMerged: OperationResult<ED>[]): OperationResult<ED>;
|
|
32
|
+
getCurrentTxnId(): string | undefined;
|
|
33
|
+
getSchema(): import("../types").StorageSchema<ED>;
|
|
34
|
+
abstract isRoot(): boolean;
|
|
35
|
+
abstract getCurrentUserId(allowUnloggedIn?: boolean): string | undefined;
|
|
36
|
+
abstract toString(): string;
|
|
37
|
+
}
|
|
38
|
+
export interface AsyncRowStore<ED extends EntityDict, Cxt extends Context> extends RowStore<ED> {
|
|
39
|
+
operate<T extends keyof ED, OP extends OperateOption>(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise<OperationResult<ED>>;
|
|
40
|
+
select<T extends keyof ED, OP extends SelectOption>(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise<Partial<ED[T]['Schema']>[]>;
|
|
41
|
+
count<T extends keyof ED, OP extends SelectOption>(entity: T, selection: Pick<ED[T]['Selection'], 'filter' | 'count'>, context: Cxt, option: OP): Promise<number>;
|
|
42
|
+
begin(option?: TxnOption): Promise<string>;
|
|
43
|
+
commit(txnId: string): Promise<void>;
|
|
44
|
+
rollback(txnId: string): Promise<void>;
|
|
45
|
+
}
|