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.
Files changed (226) 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 +38 -38
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +160 -160
  6. package/lib/base-app-domain/ActionAuth/Schema.js +2 -2
  7. package/lib/base-app-domain/ActionAuth/Storage.d.ts +3 -3
  8. package/lib/base-app-domain/ActionAuth/Storage.js +42 -42
  9. package/lib/base-app-domain/ActionDefDict.d.ts +9 -9
  10. package/lib/base-app-domain/ActionDefDict.js +11 -11
  11. package/lib/base-app-domain/EntityDict.d.ts +24 -24
  12. package/lib/base-app-domain/EntityDict.js +2 -2
  13. package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
  14. package/lib/base-app-domain/I18n/Schema.js +2 -2
  15. package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
  16. package/lib/base-app-domain/I18n/Storage.js +59 -59
  17. package/lib/base-app-domain/Modi/Action.d.ts +10 -10
  18. package/lib/base-app-domain/Modi/Action.js +14 -14
  19. package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
  20. package/lib/base-app-domain/Modi/Schema.js +2 -2
  21. package/lib/base-app-domain/Modi/Storage.d.ts +3 -3
  22. package/lib/base-app-domain/Modi/Storage.js +63 -63
  23. package/lib/base-app-domain/ModiEntity/Schema.d.ts +311 -311
  24. package/lib/base-app-domain/ModiEntity/Schema.js +2 -2
  25. package/lib/base-app-domain/ModiEntity/Storage.d.ts +3 -3
  26. package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
  27. package/lib/base-app-domain/Oper/Schema.d.ts +152 -152
  28. package/lib/base-app-domain/Oper/Schema.js +2 -2
  29. package/lib/base-app-domain/Oper/Storage.d.ts +3 -3
  30. package/lib/base-app-domain/Oper/Storage.js +38 -38
  31. package/lib/base-app-domain/OperEntity/Schema.d.ts +300 -300
  32. package/lib/base-app-domain/OperEntity/Schema.js +2 -2
  33. package/lib/base-app-domain/OperEntity/Storage.d.ts +3 -3
  34. package/lib/base-app-domain/OperEntity/Storage.js +30 -30
  35. package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
  36. package/lib/base-app-domain/Relation/Schema.js +2 -2
  37. package/lib/base-app-domain/Relation/Storage.d.ts +3 -3
  38. package/lib/base-app-domain/Relation/Storage.js +54 -54
  39. package/lib/base-app-domain/Relation.d.ts +10 -10
  40. package/lib/base-app-domain/Relation.js +10 -10
  41. package/lib/base-app-domain/RelationAuth/Schema.d.ts +180 -180
  42. package/lib/base-app-domain/RelationAuth/Schema.js +2 -2
  43. package/lib/base-app-domain/RelationAuth/Storage.d.ts +3 -3
  44. package/lib/base-app-domain/RelationAuth/Storage.js +46 -46
  45. package/lib/base-app-domain/Storage.d.ts +3 -3
  46. package/lib/base-app-domain/Storage.js +27 -27
  47. package/lib/base-app-domain/User/Action.d.ts +10 -10
  48. package/lib/base-app-domain/User/Action.js +12 -12
  49. package/lib/base-app-domain/User/Schema.d.ts +197 -197
  50. package/lib/base-app-domain/User/Schema.js +2 -2
  51. package/lib/base-app-domain/User/Storage.d.ts +3 -3
  52. package/lib/base-app-domain/User/Storage.js +33 -33
  53. package/lib/base-app-domain/UserEntityGrant/Action.d.ts +5 -5
  54. package/lib/base-app-domain/UserEntityGrant/Action.js +5 -5
  55. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +157 -157
  56. package/lib/base-app-domain/UserEntityGrant/Schema.js +2 -2
  57. package/lib/base-app-domain/UserEntityGrant/Storage.d.ts +3 -3
  58. package/lib/base-app-domain/UserEntityGrant/Storage.js +29 -29
  59. package/lib/base-app-domain/UserRelation/Schema.d.ts +194 -194
  60. package/lib/base-app-domain/UserRelation/Schema.js +2 -2
  61. package/lib/base-app-domain/UserRelation/Storage.d.ts +3 -3
  62. package/lib/base-app-domain/UserRelation/Storage.js +56 -56
  63. package/lib/base-app-domain/_SubQuery.d.ts +112 -112
  64. package/lib/base-app-domain/_SubQuery.js +2 -2
  65. package/lib/base-app-domain/index.d.ts +4 -4
  66. package/lib/base-app-domain/index.js +7 -7
  67. package/lib/checkers/index.d.ts +5 -5
  68. package/lib/checkers/index.js +14 -14
  69. package/lib/compiler/env.d.ts +14 -14
  70. package/lib/compiler/env.js +50 -50
  71. package/lib/compiler/localeBuilder.d.ts +22 -22
  72. package/lib/compiler/localeBuilder.js +169 -169
  73. package/lib/compiler/schemalBuilder.d.ts +11 -11
  74. package/lib/compiler/schemalBuilder.js +3787 -3787
  75. package/lib/compiler/uiBuilder.d.ts +1 -1
  76. package/lib/compiler/uiBuilder.js +3 -3
  77. package/lib/entities/ActionAuth.d.ts +12 -12
  78. package/lib/entities/ActionAuth.js +29 -29
  79. package/lib/entities/I18n.d.ts +9 -9
  80. package/lib/entities/I18n.js +37 -37
  81. package/lib/entities/Modi.d.ts +11 -11
  82. package/lib/entities/Modi.js +49 -49
  83. package/lib/entities/ModiEntity.d.ts +8 -8
  84. package/lib/entities/ModiEntity.js +18 -18
  85. package/lib/entities/Oper.d.ts +11 -11
  86. package/lib/entities/Oper.js +21 -21
  87. package/lib/entities/OperEntity.d.ts +8 -8
  88. package/lib/entities/OperEntity.js +18 -18
  89. package/lib/entities/Relation.d.ts +8 -8
  90. package/lib/entities/Relation.js +35 -35
  91. package/lib/entities/RelationAuth.d.ts +8 -8
  92. package/lib/entities/RelationAuth.js +34 -34
  93. package/lib/entities/User.d.ts +8 -8
  94. package/lib/entities/User.js +31 -31
  95. package/lib/entities/UserEntityGrant.d.ts +8 -8
  96. package/lib/entities/UserEntityGrant.js +18 -18
  97. package/lib/entities/UserRelation.d.ts +10 -10
  98. package/lib/entities/UserRelation.js +38 -38
  99. package/lib/store/AsyncRowStore.d.ts +58 -58
  100. package/lib/store/AsyncRowStore.js +190 -190
  101. package/lib/store/CascadeStore.d.ts +103 -103
  102. package/lib/store/CascadeStore.js +2035 -2035
  103. package/lib/store/RelationAuth.d.ts +103 -103
  104. package/lib/store/RelationAuth.js +1492 -1492
  105. package/lib/store/SyncRowStore.d.ts +29 -29
  106. package/lib/store/SyncRowStore.js +49 -48
  107. package/lib/store/TriggerExecutor.d.ts +31 -31
  108. package/lib/store/TriggerExecutor.js +532 -532
  109. package/lib/store/actionAuth.d.ts +4 -4
  110. package/lib/store/actionAuth.js +40 -40
  111. package/lib/store/actionDef.d.ts +10 -10
  112. package/lib/store/actionDef.js +351 -351
  113. package/lib/store/checker.d.ts +26 -26
  114. package/lib/store/checker.js +623 -623
  115. package/lib/store/filter.d.ts +123 -123
  116. package/lib/store/filter.js +1761 -1761
  117. package/lib/store/modi.d.ts +13 -13
  118. package/lib/store/modi.js +315 -315
  119. package/lib/store/relation.d.ts +12 -12
  120. package/lib/store/relation.js +67 -67
  121. package/lib/timers/oper.d.ts +18 -18
  122. package/lib/timers/oper.js +60 -60
  123. package/lib/timers/vaccum.d.ts +20 -20
  124. package/lib/timers/vaccum.js +176 -176
  125. package/lib/triggers/index.d.ts +5 -5
  126. package/lib/triggers/index.js +8 -8
  127. package/lib/types/Action.d.ts +20 -20
  128. package/lib/types/Action.js +2 -2
  129. package/lib/types/AppLoader.d.ts +11 -11
  130. package/lib/types/AppLoader.js +10 -10
  131. package/lib/types/Aspect.d.ts +13 -13
  132. package/lib/types/Aspect.js +4 -4
  133. package/lib/types/Auth.d.ts +74 -74
  134. package/lib/types/Auth.js +2 -2
  135. package/lib/types/Connector.d.ts +33 -33
  136. package/lib/types/Connector.js +9 -9
  137. package/lib/types/Context.d.ts +7 -7
  138. package/lib/types/Context.js +3 -3
  139. package/lib/types/DataType.d.ts +24 -24
  140. package/lib/types/DataType.js +6 -6
  141. package/lib/types/Demand.d.ts +88 -88
  142. package/lib/types/Demand.js +10 -10
  143. package/lib/types/Endpoint.d.ts +11 -11
  144. package/lib/types/Endpoint.js +3 -3
  145. package/lib/types/Entity.d.ts +193 -193
  146. package/lib/types/Entity.js +14 -14
  147. package/lib/types/EntityDesc.d.ts +8 -8
  148. package/lib/types/EntityDesc.js +2 -2
  149. package/lib/types/Environment.d.ts +57 -57
  150. package/lib/types/Environment.js +2 -2
  151. package/lib/types/Exception.d.ts +115 -115
  152. package/lib/types/Exception.js +389 -389
  153. package/lib/types/Expression.d.ts +163 -163
  154. package/lib/types/Expression.js +427 -427
  155. package/lib/types/Geo.d.ts +18 -18
  156. package/lib/types/Geo.js +2 -2
  157. package/lib/types/Locale.d.ts +25 -25
  158. package/lib/types/Locale.js +2 -2
  159. package/lib/types/Logger.d.ts +6 -6
  160. package/lib/types/Logger.js +3 -3
  161. package/lib/types/Polyfill.d.ts +24 -24
  162. package/lib/types/Polyfill.js +2 -2
  163. package/lib/types/Port.d.ts +18 -18
  164. package/lib/types/Port.js +2 -2
  165. package/lib/types/RowStore.d.ts +18 -18
  166. package/lib/types/RowStore.js +34 -34
  167. package/lib/types/Storage.d.ts +57 -57
  168. package/lib/types/Storage.js +2 -2
  169. package/lib/types/Style.d.ts +11 -11
  170. package/lib/types/Style.js +2 -2
  171. package/lib/types/Timer.d.ts +14 -14
  172. package/lib/types/Timer.js +2 -2
  173. package/lib/types/Trigger.d.ts +108 -108
  174. package/lib/types/Trigger.js +54 -54
  175. package/lib/types/Txn.d.ts +2 -2
  176. package/lib/types/Txn.js +3 -3
  177. package/lib/types/Watcher.d.ts +19 -19
  178. package/lib/types/Watcher.js +4 -4
  179. package/lib/types/index.d.ts +24 -24
  180. package/lib/types/index.js +27 -27
  181. package/lib/types/schema/DataTypes.d.ts +34 -34
  182. package/lib/types/schema/DataTypes.js +3 -3
  183. package/lib/utils/SimpleConnector.d.ts +48 -48
  184. package/lib/utils/SimpleConnector.js +180 -180
  185. package/lib/utils/assert.d.ts +5 -5
  186. package/lib/utils/assert.js +9 -9
  187. package/lib/utils/concurrent.d.ts +15 -15
  188. package/lib/utils/concurrent.js +89 -89
  189. package/lib/utils/date.d.ts +1 -1
  190. package/lib/utils/date.js +18 -18
  191. package/lib/utils/geo.d.ts +4 -4
  192. package/lib/utils/geo.js +24 -24
  193. package/lib/utils/lodash.d.ts +20 -20
  194. package/lib/utils/lodash.js +55 -55
  195. package/lib/utils/mask.d.ts +5 -5
  196. package/lib/utils/mask.js +35 -35
  197. package/lib/utils/money.d.ts +6 -6
  198. package/lib/utils/money.js +40 -40
  199. package/lib/utils/random/random.d.ts +1 -1
  200. package/lib/utils/random/random.js +24 -24
  201. package/lib/utils/random/random.mp.d.ts +1 -1
  202. package/lib/utils/random/random.mp.js +25 -25
  203. package/lib/utils/random/random.web.d.ts +1 -1
  204. package/lib/utils/random/random.web.js +17 -17
  205. package/lib/utils/string.d.ts +28 -28
  206. package/lib/utils/string.js +82 -82
  207. package/lib/utils/url.d.ts +1 -1
  208. package/lib/utils/url.js +12 -12
  209. package/lib/utils/uuid.d.ts +17 -17
  210. package/lib/utils/uuid.js +257 -257
  211. package/lib/utils/validator.d.ts +25 -25
  212. package/lib/utils/validator.js +128 -128
  213. package/lib/utils/version.d.ts +7 -7
  214. package/lib/utils/version.js +21 -21
  215. package/package.json +49 -49
  216. package/src/entities/ActionAuth.ts +41 -41
  217. package/src/entities/I18n.ts +46 -46
  218. package/src/entities/Modi.ts +69 -69
  219. package/src/entities/ModiEntity.ts +26 -26
  220. package/src/entities/Oper.ts +32 -32
  221. package/src/entities/OperEntity.ts +27 -27
  222. package/src/entities/Relation.ts +43 -43
  223. package/src/entities/RelationAuth.ts +43 -43
  224. package/src/entities/User.ts +48 -48
  225. package/src/entities/UserEntityGrant.ts +27 -27
  226. package/src/entities/UserRelation.ts +50 -50
@@ -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;
@@ -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>;
@@ -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;
@@ -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 {};