oak-domain 3.0.1 → 3.0.2
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 +38 -38
- package/lib/base-app-domain/ActionAuth/Schema.d.ts +160 -160
- package/lib/base-app-domain/ActionAuth/Schema.js +2 -2
- package/lib/base-app-domain/ActionAuth/Storage.d.ts +3 -3
- package/lib/base-app-domain/ActionAuth/Storage.js +42 -42
- package/lib/base-app-domain/ActionDefDict.d.ts +9 -9
- package/lib/base-app-domain/ActionDefDict.js +11 -11
- package/lib/base-app-domain/EntityDict.d.ts +24 -24
- package/lib/base-app-domain/EntityDict.js +2 -2
- 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/Schema.js +2 -2
- package/lib/base-app-domain/Modi/Storage.d.ts +3 -3
- package/lib/base-app-domain/Modi/Storage.js +63 -63
- package/lib/base-app-domain/ModiEntity/Schema.d.ts +311 -311
- 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 +30 -30
- package/lib/base-app-domain/Oper/Schema.d.ts +152 -152
- 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 +38 -38
- package/lib/base-app-domain/OperEntity/Schema.d.ts +300 -300
- 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 +30 -30
- package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
- package/lib/base-app-domain/Relation/Schema.js +2 -2
- package/lib/base-app-domain/Relation/Storage.d.ts +3 -3
- package/lib/base-app-domain/Relation/Storage.js +54 -54
- package/lib/base-app-domain/Relation.d.ts +10 -10
- package/lib/base-app-domain/Relation.js +10 -10
- package/lib/base-app-domain/RelationAuth/Schema.d.ts +180 -180
- package/lib/base-app-domain/RelationAuth/Schema.js +2 -2
- package/lib/base-app-domain/RelationAuth/Storage.d.ts +3 -3
- package/lib/base-app-domain/RelationAuth/Storage.js +46 -46
- package/lib/base-app-domain/Storage.d.ts +3 -3
- package/lib/base-app-domain/Storage.js +27 -27
- 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 +197 -197
- 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 +33 -33
- package/lib/base-app-domain/UserEntityGrant/Action.d.ts +5 -5
- package/lib/base-app-domain/UserEntityGrant/Action.js +5 -5
- package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +157 -157
- package/lib/base-app-domain/UserEntityGrant/Schema.js +2 -2
- package/lib/base-app-domain/UserEntityGrant/Storage.d.ts +3 -3
- package/lib/base-app-domain/UserEntityGrant/Storage.js +29 -29
- package/lib/base-app-domain/UserRelation/Schema.d.ts +194 -194
- package/lib/base-app-domain/UserRelation/Schema.js +2 -2
- package/lib/base-app-domain/UserRelation/Storage.d.ts +3 -3
- package/lib/base-app-domain/UserRelation/Storage.js +56 -56
- package/lib/base-app-domain/_SubQuery.d.ts +112 -112
- package/lib/base-app-domain/_SubQuery.js +2 -2
- 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 +14 -14
- package/lib/compiler/env.d.ts +14 -14
- package/lib/compiler/env.js +50 -50
- package/lib/compiler/localeBuilder.d.ts +22 -22
- package/lib/compiler/localeBuilder.js +169 -169
- package/lib/compiler/schemalBuilder.d.ts +11 -11
- package/lib/compiler/schemalBuilder.js +3787 -3787
- package/lib/compiler/uiBuilder.d.ts +1 -1
- package/lib/compiler/uiBuilder.js +3 -3
- package/lib/entities/ActionAuth.d.ts +12 -12
- package/lib/entities/ActionAuth.js +29 -29
- package/lib/entities/I18n.d.ts +9 -9
- package/lib/entities/I18n.js +37 -37
- package/lib/entities/Modi.d.ts +11 -11
- package/lib/entities/Modi.js +49 -49
- package/lib/entities/ModiEntity.d.ts +8 -8
- package/lib/entities/ModiEntity.js +18 -18
- package/lib/entities/Oper.d.ts +11 -11
- package/lib/entities/Oper.js +21 -21
- package/lib/entities/OperEntity.d.ts +8 -8
- package/lib/entities/OperEntity.js +18 -18
- 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.d.ts +8 -8
- package/lib/entities/User.js +31 -31
- package/lib/entities/UserEntityGrant.d.ts +8 -8
- package/lib/entities/UserEntityGrant.js +18 -18
- package/lib/entities/UserRelation.d.ts +10 -10
- package/lib/entities/UserRelation.js +38 -38
- package/lib/store/AsyncRowStore.d.ts +58 -58
- package/lib/store/AsyncRowStore.js +190 -190
- package/lib/store/CascadeStore.d.ts +103 -103
- package/lib/store/CascadeStore.js +2035 -2035
- package/lib/store/RelationAuth.d.ts +103 -103
- package/lib/store/RelationAuth.js +1492 -1492
- package/lib/store/SyncRowStore.d.ts +29 -29
- package/lib/store/SyncRowStore.js +49 -48
- package/lib/store/TriggerExecutor.d.ts +31 -31
- package/lib/store/TriggerExecutor.js +532 -532
- package/lib/store/actionAuth.d.ts +4 -4
- package/lib/store/actionAuth.js +40 -40
- package/lib/store/actionDef.d.ts +10 -10
- package/lib/store/actionDef.js +351 -351
- package/lib/store/checker.d.ts +26 -26
- package/lib/store/checker.js +623 -623
- package/lib/store/filter.d.ts +123 -123
- package/lib/store/filter.js +1761 -1761
- package/lib/store/modi.d.ts +13 -13
- package/lib/store/modi.js +315 -315
- 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 +60 -60
- package/lib/timers/vaccum.d.ts +20 -20
- package/lib/timers/vaccum.js +176 -176
- 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/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 +13 -13
- package/lib/types/Aspect.js +4 -4
- package/lib/types/Auth.d.ts +74 -74
- package/lib/types/Auth.js +2 -2
- package/lib/types/Connector.d.ts +33 -33
- package/lib/types/Connector.js +9 -9
- package/lib/types/Context.d.ts +7 -7
- package/lib/types/Context.js +3 -3
- package/lib/types/DataType.d.ts +24 -24
- package/lib/types/DataType.js +6 -6
- package/lib/types/Demand.d.ts +88 -88
- package/lib/types/Demand.js +10 -10
- package/lib/types/Endpoint.d.ts +11 -11
- package/lib/types/Endpoint.js +3 -3
- package/lib/types/Entity.d.ts +193 -193
- package/lib/types/Entity.js +14 -14
- package/lib/types/EntityDesc.d.ts +8 -8
- package/lib/types/EntityDesc.js +2 -2
- package/lib/types/Environment.d.ts +57 -57
- package/lib/types/Environment.js +2 -2
- package/lib/types/Exception.d.ts +115 -115
- package/lib/types/Exception.js +389 -389
- package/lib/types/Expression.d.ts +163 -163
- package/lib/types/Expression.js +427 -427
- package/lib/types/Geo.d.ts +18 -18
- package/lib/types/Geo.js +2 -2
- package/lib/types/Locale.d.ts +25 -25
- package/lib/types/Locale.js +2 -2
- package/lib/types/Logger.d.ts +6 -6
- package/lib/types/Logger.js +3 -3
- package/lib/types/Polyfill.d.ts +24 -24
- package/lib/types/Polyfill.js +2 -2
- package/lib/types/Port.d.ts +18 -18
- package/lib/types/Port.js +2 -2
- package/lib/types/RowStore.d.ts +18 -18
- package/lib/types/RowStore.js +34 -34
- package/lib/types/Storage.d.ts +57 -57
- package/lib/types/Storage.js +2 -2
- package/lib/types/Style.d.ts +11 -11
- package/lib/types/Style.js +2 -2
- package/lib/types/Timer.d.ts +14 -14
- package/lib/types/Timer.js +2 -2
- package/lib/types/Trigger.d.ts +108 -108
- package/lib/types/Trigger.js +54 -54
- 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 +24 -24
- package/lib/types/index.js +27 -27
- package/lib/types/schema/DataTypes.d.ts +34 -34
- package/lib/types/schema/DataTypes.js +3 -3
- package/lib/utils/SimpleConnector.d.ts +48 -48
- package/lib/utils/SimpleConnector.js +180 -180
- 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/date.d.ts +1 -1
- package/lib/utils/date.js +18 -18
- package/lib/utils/geo.d.ts +4 -4
- package/lib/utils/geo.js +24 -24
- package/lib/utils/lodash.d.ts +20 -20
- package/lib/utils/lodash.js +55 -55
- package/lib/utils/mask.d.ts +5 -5
- package/lib/utils/mask.js +35 -35
- package/lib/utils/money.d.ts +6 -6
- package/lib/utils/money.js +40 -40
- 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 +28 -28
- package/lib/utils/string.js +82 -82
- package/lib/utils/url.d.ts +1 -1
- package/lib/utils/url.js +12 -12
- package/lib/utils/uuid.d.ts +17 -17
- package/lib/utils/uuid.js +257 -257
- package/lib/utils/validator.d.ts +25 -25
- package/lib/utils/validator.js +128 -128
- package/lib/utils/version.d.ts +7 -7
- package/lib/utils/version.js +21 -21
- package/package.json +49 -49
- package/src/entities/ActionAuth.ts +41 -41
- package/src/entities/I18n.ts +46 -46
- package/src/entities/Modi.ts +69 -69
- package/src/entities/ModiEntity.ts +26 -26
- package/src/entities/Oper.ts +32 -32
- package/src/entities/OperEntity.ts +27 -27
- package/src/entities/Relation.ts +43 -43
- package/src/entities/RelationAuth.ts +43 -43
- package/src/entities/User.ts +48 -48
- package/src/entities/UserEntityGrant.ts +27 -27
- package/src/entities/UserRelation.ts +50 -50
package/lib/store/relation.js
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.judgeRelation = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
-
var Demand_1 = require("../types/Demand");
|
|
7
|
-
var Entity_1 = require("../types/Entity");
|
|
8
|
-
/**
|
|
9
|
-
* 判断对象和属性之间的关系
|
|
10
|
-
* @param schema
|
|
11
|
-
* @param entity
|
|
12
|
-
* @param attr
|
|
13
|
-
* @param row
|
|
14
|
-
* @returns
|
|
15
|
-
*/
|
|
16
|
-
function judgeRelation(schema, entity, attr) {
|
|
17
|
-
var _a = schema, _b = entity, attributes = _a[_b].attributes;
|
|
18
|
-
if (attr.startsWith(Demand_1.EXPRESSION_PREFIX) || attr.startsWith('#')) {
|
|
19
|
-
// 表达式属性或者metadata
|
|
20
|
-
return 0;
|
|
21
|
-
}
|
|
22
|
-
if (attributes.hasOwnProperty(attr) || Entity_1.initinctiveAttributes.includes(attr)) {
|
|
23
|
-
// 原生属性
|
|
24
|
-
return 1;
|
|
25
|
-
}
|
|
26
|
-
if (attr.includes('$')) {
|
|
27
|
-
var firstDelimiter = attr.indexOf('$');
|
|
28
|
-
var entity2 = attr.slice(0, firstDelimiter);
|
|
29
|
-
(0, assert_1.default)(schema.hasOwnProperty(entity2));
|
|
30
|
-
var secondDelemiter = attr.indexOf('$', firstDelimiter + 1);
|
|
31
|
-
var foreignKey = attr.slice(firstDelimiter + 1, secondDelemiter > 0 ? secondDelemiter : attr.length);
|
|
32
|
-
var _c = schema, _d = entity2, attributes2 = _c[_d].attributes;
|
|
33
|
-
if (foreignKey === 'entity') {
|
|
34
|
-
// 基于反指对象的反向关联
|
|
35
|
-
return [entity2];
|
|
36
|
-
}
|
|
37
|
-
else if (attributes2.hasOwnProperty("".concat(foreignKey, "Id"))
|
|
38
|
-
&& attributes2["".concat(foreignKey, "Id")].type === 'ref'
|
|
39
|
-
&& attributes2["".concat(foreignKey, "Id")].ref === entity) {
|
|
40
|
-
// 基于外键的反向关联
|
|
41
|
-
return [entity2, "".concat(foreignKey, "Id")];
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
// 这种情况应该不会跑到
|
|
45
|
-
(0, assert_1.default)(false);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
else if ((attributes.hasOwnProperty("".concat(attr, "Id")))) {
|
|
49
|
-
var _e = attributes["".concat(attr, "Id")], type = _e.type, ref = _e.ref;
|
|
50
|
-
if (type === 'ref') {
|
|
51
|
-
return ref;
|
|
52
|
-
}
|
|
53
|
-
return 1;
|
|
54
|
-
}
|
|
55
|
-
else if (attributes.hasOwnProperty('entity')
|
|
56
|
-
&& attributes.hasOwnProperty('entityId')
|
|
57
|
-
&& schema.hasOwnProperty(attr)) {
|
|
58
|
-
(0, assert_1.default)(attributes.entity.ref.includes(attr), '不应当出现的case');
|
|
59
|
-
// 反向指针的外键
|
|
60
|
-
return 2;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
(0, assert_1.default)(Entity_1.initinctiveAttributes.includes(attr), "".concat(entity, "\u5BF9\u8C61\u4E2D\u7684").concat(attr, "\u5C5E\u6027\u627E\u4E0D\u5230"));
|
|
64
|
-
return 1;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.judgeRelation = judgeRelation;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.judgeRelation = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
+
var Demand_1 = require("../types/Demand");
|
|
7
|
+
var Entity_1 = require("../types/Entity");
|
|
8
|
+
/**
|
|
9
|
+
* 判断对象和属性之间的关系
|
|
10
|
+
* @param schema
|
|
11
|
+
* @param entity
|
|
12
|
+
* @param attr
|
|
13
|
+
* @param row
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
function judgeRelation(schema, entity, attr) {
|
|
17
|
+
var _a = schema, _b = entity, attributes = _a[_b].attributes;
|
|
18
|
+
if (attr.startsWith(Demand_1.EXPRESSION_PREFIX) || attr.startsWith('#')) {
|
|
19
|
+
// 表达式属性或者metadata
|
|
20
|
+
return 0;
|
|
21
|
+
}
|
|
22
|
+
if (attributes.hasOwnProperty(attr) || Entity_1.initinctiveAttributes.includes(attr)) {
|
|
23
|
+
// 原生属性
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
if (attr.includes('$')) {
|
|
27
|
+
var firstDelimiter = attr.indexOf('$');
|
|
28
|
+
var entity2 = attr.slice(0, firstDelimiter);
|
|
29
|
+
(0, assert_1.default)(schema.hasOwnProperty(entity2));
|
|
30
|
+
var secondDelemiter = attr.indexOf('$', firstDelimiter + 1);
|
|
31
|
+
var foreignKey = attr.slice(firstDelimiter + 1, secondDelemiter > 0 ? secondDelemiter : attr.length);
|
|
32
|
+
var _c = schema, _d = entity2, attributes2 = _c[_d].attributes;
|
|
33
|
+
if (foreignKey === 'entity') {
|
|
34
|
+
// 基于反指对象的反向关联
|
|
35
|
+
return [entity2];
|
|
36
|
+
}
|
|
37
|
+
else if (attributes2.hasOwnProperty("".concat(foreignKey, "Id"))
|
|
38
|
+
&& attributes2["".concat(foreignKey, "Id")].type === 'ref'
|
|
39
|
+
&& attributes2["".concat(foreignKey, "Id")].ref === entity) {
|
|
40
|
+
// 基于外键的反向关联
|
|
41
|
+
return [entity2, "".concat(foreignKey, "Id")];
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
// 这种情况应该不会跑到
|
|
45
|
+
(0, assert_1.default)(false);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if ((attributes.hasOwnProperty("".concat(attr, "Id")))) {
|
|
49
|
+
var _e = attributes["".concat(attr, "Id")], type = _e.type, ref = _e.ref;
|
|
50
|
+
if (type === 'ref') {
|
|
51
|
+
return ref;
|
|
52
|
+
}
|
|
53
|
+
return 1;
|
|
54
|
+
}
|
|
55
|
+
else if (attributes.hasOwnProperty('entity')
|
|
56
|
+
&& attributes.hasOwnProperty('entityId')
|
|
57
|
+
&& schema.hasOwnProperty(attr)) {
|
|
58
|
+
(0, assert_1.default)(attributes.entity.ref.includes(attr), '不应当出现的case');
|
|
59
|
+
// 反向指针的外键
|
|
60
|
+
return 2;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
(0, assert_1.default)(Entity_1.initinctiveAttributes.includes(attr), "".concat(entity, "\u5BF9\u8C61\u4E2D\u7684").concat(attr, "\u5C5E\u6027\u627E\u4E0D\u5230"));
|
|
64
|
+
return 1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.judgeRelation = judgeRelation;
|
package/lib/timers/oper.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { EntityDict } from '../types/Entity';
|
|
2
|
-
import { EntityDict as BaseEntityDict } from '../base-app-domain';
|
|
3
|
-
import { AsyncContext } from '../store/AsyncRowStore';
|
|
4
|
-
export declare type VaccumOperOption<ED extends EntityDict & BaseEntityDict> = {
|
|
5
|
-
aliveLine: number;
|
|
6
|
-
excludeOpers?: {
|
|
7
|
-
[T in keyof ED]?: ED[T]['Action'][];
|
|
8
|
-
};
|
|
9
|
-
backupDir?: string;
|
|
10
|
-
zip?: boolean;
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* 将一定日期之前的oper对象清空
|
|
14
|
-
* @param option
|
|
15
|
-
* @param context
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
export declare function vaccumOper<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(option: VaccumOperOption<ED>, context: Cxt): Promise<void>;
|
|
1
|
+
import { EntityDict } from '../types/Entity';
|
|
2
|
+
import { EntityDict as BaseEntityDict } from '../base-app-domain';
|
|
3
|
+
import { AsyncContext } from '../store/AsyncRowStore';
|
|
4
|
+
export declare type VaccumOperOption<ED extends EntityDict & BaseEntityDict> = {
|
|
5
|
+
aliveLine: number;
|
|
6
|
+
excludeOpers?: {
|
|
7
|
+
[T in keyof ED]?: ED[T]['Action'][];
|
|
8
|
+
};
|
|
9
|
+
backupDir?: string;
|
|
10
|
+
zip?: boolean;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* 将一定日期之前的oper对象清空
|
|
14
|
+
* @param option
|
|
15
|
+
* @param context
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function vaccumOper<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(option: VaccumOperOption<ED>, context: Cxt): Promise<void>;
|
package/lib/timers/oper.js
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.vaccumOper = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var vaccum_1 = require("./vaccum");
|
|
6
|
-
var filter_1 = require("../store/filter");
|
|
7
|
-
/**
|
|
8
|
-
* 将一定日期之前的oper对象清空
|
|
9
|
-
* @param option
|
|
10
|
-
* @param context
|
|
11
|
-
* @returns
|
|
12
|
-
*/
|
|
13
|
-
function vaccumOper(option, context) {
|
|
14
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
15
|
-
var aliveLine, excludeOpers, rest, operFilter, notFilters, key;
|
|
16
|
-
return tslib_1.__generator(this, function (_a) {
|
|
17
|
-
aliveLine = option.aliveLine, excludeOpers = option.excludeOpers, rest = tslib_1.__rest(option, ["aliveLine", "excludeOpers"]);
|
|
18
|
-
operFilter = {};
|
|
19
|
-
if (excludeOpers) {
|
|
20
|
-
notFilters = [];
|
|
21
|
-
for (key in excludeOpers) {
|
|
22
|
-
if (excludeOpers[key].length > 0) {
|
|
23
|
-
notFilters.push({
|
|
24
|
-
targetEntity: key,
|
|
25
|
-
action: {
|
|
26
|
-
$in: excludeOpers[key],
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
notFilters.push({
|
|
32
|
-
targetEntity: key,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (notFilters.length > 0) {
|
|
37
|
-
operFilter.$not = {
|
|
38
|
-
$or: notFilters,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return [2 /*return*/, (0, vaccum_1.vaccumEntities)(tslib_1.__assign({ entities: [{
|
|
43
|
-
entity: 'operEntity',
|
|
44
|
-
aliveLine: aliveLine + 10000,
|
|
45
|
-
filter: {
|
|
46
|
-
oper: (0, filter_1.combineFilters)('operEntity', context.getSchema(), [operFilter, {
|
|
47
|
-
$$createAt$$: {
|
|
48
|
-
$lt: aliveLine,
|
|
49
|
-
}
|
|
50
|
-
}]),
|
|
51
|
-
},
|
|
52
|
-
}, {
|
|
53
|
-
entity: 'oper',
|
|
54
|
-
aliveLine: aliveLine,
|
|
55
|
-
filter: operFilter,
|
|
56
|
-
}] }, rest), context)];
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
exports.vaccumOper = vaccumOper;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.vaccumOper = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var vaccum_1 = require("./vaccum");
|
|
6
|
+
var filter_1 = require("../store/filter");
|
|
7
|
+
/**
|
|
8
|
+
* 将一定日期之前的oper对象清空
|
|
9
|
+
* @param option
|
|
10
|
+
* @param context
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
function vaccumOper(option, context) {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
15
|
+
var aliveLine, excludeOpers, rest, operFilter, notFilters, key;
|
|
16
|
+
return tslib_1.__generator(this, function (_a) {
|
|
17
|
+
aliveLine = option.aliveLine, excludeOpers = option.excludeOpers, rest = tslib_1.__rest(option, ["aliveLine", "excludeOpers"]);
|
|
18
|
+
operFilter = {};
|
|
19
|
+
if (excludeOpers) {
|
|
20
|
+
notFilters = [];
|
|
21
|
+
for (key in excludeOpers) {
|
|
22
|
+
if (excludeOpers[key].length > 0) {
|
|
23
|
+
notFilters.push({
|
|
24
|
+
targetEntity: key,
|
|
25
|
+
action: {
|
|
26
|
+
$in: excludeOpers[key],
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
notFilters.push({
|
|
32
|
+
targetEntity: key,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (notFilters.length > 0) {
|
|
37
|
+
operFilter.$not = {
|
|
38
|
+
$or: notFilters,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return [2 /*return*/, (0, vaccum_1.vaccumEntities)(tslib_1.__assign({ entities: [{
|
|
43
|
+
entity: 'operEntity',
|
|
44
|
+
aliveLine: aliveLine + 10000,
|
|
45
|
+
filter: {
|
|
46
|
+
oper: (0, filter_1.combineFilters)('operEntity', context.getSchema(), [operFilter, {
|
|
47
|
+
$$createAt$$: {
|
|
48
|
+
$lt: aliveLine,
|
|
49
|
+
}
|
|
50
|
+
}]),
|
|
51
|
+
},
|
|
52
|
+
}, {
|
|
53
|
+
entity: 'oper',
|
|
54
|
+
aliveLine: aliveLine,
|
|
55
|
+
filter: operFilter,
|
|
56
|
+
}] }, rest), context)];
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
exports.vaccumOper = vaccumOper;
|
package/lib/timers/vaccum.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { EntityDict } from '../types/Entity';
|
|
2
|
-
import { EntityDict as BaseEntityDict } from '../base-app-domain';
|
|
3
|
-
import { AsyncContext } from '../store/AsyncRowStore';
|
|
4
|
-
declare type VaccumOptionEntity<ED extends EntityDict & BaseEntityDict, T extends keyof ED> = {
|
|
5
|
-
entity: T;
|
|
6
|
-
filter?: ED[T]['Selection']['filter'];
|
|
7
|
-
aliveLine: number;
|
|
8
|
-
};
|
|
9
|
-
declare type VaccumOption<ED extends EntityDict & BaseEntityDict> = {
|
|
10
|
-
entities: Array<VaccumOptionEntity<ED, keyof ED>>;
|
|
11
|
-
backupDir?: string;
|
|
12
|
-
zip?: boolean;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* 删除数据库中的部分数据,减少体积
|
|
16
|
-
* 一般只删除日志类数据
|
|
17
|
-
* @param option
|
|
18
|
-
*/
|
|
19
|
-
export declare function vaccumEntities<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(option: VaccumOption<ED>, context: Cxt): Promise<void>;
|
|
20
|
-
export {};
|
|
1
|
+
import { EntityDict } from '../types/Entity';
|
|
2
|
+
import { EntityDict as BaseEntityDict } from '../base-app-domain';
|
|
3
|
+
import { AsyncContext } from '../store/AsyncRowStore';
|
|
4
|
+
declare type VaccumOptionEntity<ED extends EntityDict & BaseEntityDict, T extends keyof ED> = {
|
|
5
|
+
entity: T;
|
|
6
|
+
filter?: ED[T]['Selection']['filter'];
|
|
7
|
+
aliveLine: number;
|
|
8
|
+
};
|
|
9
|
+
declare type VaccumOption<ED extends EntityDict & BaseEntityDict> = {
|
|
10
|
+
entities: Array<VaccumOptionEntity<ED, keyof ED>>;
|
|
11
|
+
backupDir?: string;
|
|
12
|
+
zip?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* 删除数据库中的部分数据,减少体积
|
|
16
|
+
* 一般只删除日志类数据
|
|
17
|
+
* @param option
|
|
18
|
+
*/
|
|
19
|
+
export declare function vaccumEntities<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(option: VaccumOption<ED>, context: Cxt): Promise<void>;
|
|
20
|
+
export {};
|