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,176 +1,176 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.vaccumEntities = void 0;
4
- var tslib_1 = require("tslib");
5
- var dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
- var fs_1 = require("fs");
7
- var filter_1 = require("../store/filter");
8
- var stream_1 = require("stream");
9
- var uuid_1 = require("../utils/uuid");
10
- /**
11
- * 删除数据库中的部分数据,减少体积
12
- * 一般只删除日志类数据
13
- * @param option
14
- */
15
- function vaccumEntities(option, context) {
16
- return tslib_1.__awaiter(this, void 0, void 0, function () {
17
- var entities, backupDir, _loop_1, entities_1, entities_1_1, ele, e_1_1;
18
- var e_1, _a;
19
- var _this = this;
20
- return tslib_1.__generator(this, function (_b) {
21
- switch (_b.label) {
22
- case 0:
23
- entities = option.entities, backupDir = option.backupDir;
24
- _loop_1 = function (ele) {
25
- var entity, filter, aliveLine, filter2, zip, now, backFile, fd_1, attributes_1, projection_1, attr, count_1, appendData_1, createGzip, gzip_1, source_1, destination_1, _c, _d, _e;
26
- var _f, _g;
27
- return tslib_1.__generator(this, function (_h) {
28
- switch (_h.label) {
29
- case 0:
30
- entity = ele.entity, filter = ele.filter, aliveLine = ele.aliveLine;
31
- filter2 = {
32
- $$createAt$$: {
33
- $lt: aliveLine,
34
- },
35
- };
36
- if (filter) {
37
- filter2 = (0, filter_1.combineFilters)(entity, context.getSchema(), [filter2, filter]);
38
- }
39
- if (!(backupDir && process.env.OAK_PLATFORM === 'server')) return [3 /*break*/, 4];
40
- zip = option.zip;
41
- now = (0, dayjs_1.default)();
42
- backFile = "".concat(backupDir, "/").concat(entity, "-").concat(now.format('YYYY-MM-DD HH:mm:ss'), ".csv");
43
- if ((0, fs_1.existsSync)(backFile)) {
44
- (0, fs_1.rmSync)(backFile);
45
- }
46
- fd_1 = (0, fs_1.openSync)(backFile, 'a');
47
- attributes_1 = ['id', '$$createAt$$', '$$updateAt$$', '$$deleteAt$$'];
48
- projection_1 = {
49
- id: 1,
50
- $$createAt$$: 1,
51
- $$updateAt$$: 1,
52
- $$deleteAt$$: 1,
53
- };
54
- for (attr in context.getSchema()[entity].attributes) {
55
- Object.assign(projection_1, (_f = {},
56
- _f[attr] = 1,
57
- _f));
58
- attributes_1.push(attr);
59
- }
60
- (0, fs_1.appendFileSync)(fd_1, attributes_1.join(','));
61
- (0, fs_1.appendFileSync)(fd_1, '\n');
62
- count_1 = 0;
63
- appendData_1 = function (minCreateAt) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
64
- var filter3, rows, csvTxt, maxCreateAt;
65
- return tslib_1.__generator(this, function (_a) {
66
- switch (_a.label) {
67
- case 0:
68
- filter3 = (0, filter_1.combineFilters)(entity, context.getSchema(), [filter2, {
69
- $$createAt$$: {
70
- $gt: minCreateAt,
71
- },
72
- }]);
73
- return [4 /*yield*/, context.select(entity, {
74
- data: projection_1,
75
- filter: filter3,
76
- sorter: [{
77
- $attr: {
78
- $$createAt$$: 1,
79
- },
80
- $direction: 'asc'
81
- }],
82
- indexFrom: 0,
83
- count: 1000,
84
- }, { includedDeleted: true })];
85
- case 1:
86
- rows = _a.sent();
87
- csvTxt = rows.map(function (row) { return attributes_1.map(function (attr) { return JSON.stringify(row[attr]); }).join(','); }).join('\n');
88
- (0, fs_1.appendFileSync)(fd_1, csvTxt);
89
- (0, fs_1.appendFileSync)(fd_1, '\n');
90
- count_1 += rows.length;
91
- if (rows.length === 1000) {
92
- maxCreateAt = rows[999].$$createAt$$;
93
- return [2 /*return*/, appendData_1(maxCreateAt)];
94
- }
95
- return [2 /*return*/];
96
- }
97
- });
98
- }); };
99
- return [4 /*yield*/, appendData_1(0)];
100
- case 1:
101
- _h.sent();
102
- (0, fs_1.closeSync)(fd_1);
103
- console.log("\u5907\u4EFD".concat(entity, "\u5BF9\u8C61\u5B8C\u6BD5\uFF0C\u5171\u5907\u4EFD\u4E86").concat(count_1, "\u884C\u6570\u636E"));
104
- if (!(count_1 === 0)) return [3 /*break*/, 2];
105
- (0, fs_1.rmSync)(backFile);
106
- return [3 /*break*/, 4];
107
- case 2:
108
- if (!zip) return [3 /*break*/, 4];
109
- createGzip = require('zlib').createGzip;
110
- gzip_1 = createGzip();
111
- source_1 = (0, fs_1.createReadStream)(backFile);
112
- destination_1 = (0, fs_1.createWriteStream)("".concat(backFile, ".zip"));
113
- return [4 /*yield*/, new Promise(function (resolve, reject) {
114
- (0, stream_1.pipeline)(source_1, gzip_1, destination_1, function (err) {
115
- if (err) {
116
- reject(err);
117
- }
118
- else {
119
- resolve(undefined);
120
- }
121
- });
122
- })];
123
- case 3:
124
- _h.sent();
125
- _h.label = 4;
126
- case 4:
127
- _d = (_c = context).operate;
128
- _e = [entity];
129
- _g = {};
130
- return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
131
- case 5:
132
- // 将对应的数据删除
133
- return [4 /*yield*/, _d.apply(_c, _e.concat([(_g.id = _h.sent(),
134
- _g.action = 'remove',
135
- _g.data = {},
136
- _g.filter = filter2,
137
- _g), { deletePhysically: true }]))];
138
- case 6:
139
- // 将对应的数据删除
140
- _h.sent();
141
- return [2 /*return*/];
142
- }
143
- });
144
- };
145
- _b.label = 1;
146
- case 1:
147
- _b.trys.push([1, 6, 7, 8]);
148
- entities_1 = tslib_1.__values(entities), entities_1_1 = entities_1.next();
149
- _b.label = 2;
150
- case 2:
151
- if (!!entities_1_1.done) return [3 /*break*/, 5];
152
- ele = entities_1_1.value;
153
- return [5 /*yield**/, _loop_1(ele)];
154
- case 3:
155
- _b.sent();
156
- _b.label = 4;
157
- case 4:
158
- entities_1_1 = entities_1.next();
159
- return [3 /*break*/, 2];
160
- case 5: return [3 /*break*/, 8];
161
- case 6:
162
- e_1_1 = _b.sent();
163
- e_1 = { error: e_1_1 };
164
- return [3 /*break*/, 8];
165
- case 7:
166
- try {
167
- if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);
168
- }
169
- finally { if (e_1) throw e_1.error; }
170
- return [7 /*endfinally*/];
171
- case 8: return [2 /*return*/];
172
- }
173
- });
174
- });
175
- }
176
- exports.vaccumEntities = vaccumEntities;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vaccumEntities = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var dayjs_1 = tslib_1.__importDefault(require("dayjs"));
6
+ var fs_1 = require("fs");
7
+ var filter_1 = require("../store/filter");
8
+ var stream_1 = require("stream");
9
+ var uuid_1 = require("../utils/uuid");
10
+ /**
11
+ * 删除数据库中的部分数据,减少体积
12
+ * 一般只删除日志类数据
13
+ * @param option
14
+ */
15
+ function vaccumEntities(option, context) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
17
+ var entities, backupDir, _loop_1, entities_1, entities_1_1, ele, e_1_1;
18
+ var e_1, _a;
19
+ var _this = this;
20
+ return tslib_1.__generator(this, function (_b) {
21
+ switch (_b.label) {
22
+ case 0:
23
+ entities = option.entities, backupDir = option.backupDir;
24
+ _loop_1 = function (ele) {
25
+ var entity, filter, aliveLine, filter2, zip, now, backFile, fd_1, attributes_1, projection_1, attr, count_1, appendData_1, createGzip, gzip_1, source_1, destination_1, _c, _d, _e;
26
+ var _f, _g;
27
+ return tslib_1.__generator(this, function (_h) {
28
+ switch (_h.label) {
29
+ case 0:
30
+ entity = ele.entity, filter = ele.filter, aliveLine = ele.aliveLine;
31
+ filter2 = {
32
+ $$createAt$$: {
33
+ $lt: aliveLine,
34
+ },
35
+ };
36
+ if (filter) {
37
+ filter2 = (0, filter_1.combineFilters)(entity, context.getSchema(), [filter2, filter]);
38
+ }
39
+ if (!(backupDir && process.env.OAK_PLATFORM === 'server')) return [3 /*break*/, 4];
40
+ zip = option.zip;
41
+ now = (0, dayjs_1.default)();
42
+ backFile = "".concat(backupDir, "/").concat(entity, "-").concat(now.format('YYYY-MM-DD HH:mm:ss'), ".csv");
43
+ if ((0, fs_1.existsSync)(backFile)) {
44
+ (0, fs_1.rmSync)(backFile);
45
+ }
46
+ fd_1 = (0, fs_1.openSync)(backFile, 'a');
47
+ attributes_1 = ['id', '$$createAt$$', '$$updateAt$$', '$$deleteAt$$'];
48
+ projection_1 = {
49
+ id: 1,
50
+ $$createAt$$: 1,
51
+ $$updateAt$$: 1,
52
+ $$deleteAt$$: 1,
53
+ };
54
+ for (attr in context.getSchema()[entity].attributes) {
55
+ Object.assign(projection_1, (_f = {},
56
+ _f[attr] = 1,
57
+ _f));
58
+ attributes_1.push(attr);
59
+ }
60
+ (0, fs_1.appendFileSync)(fd_1, attributes_1.join(','));
61
+ (0, fs_1.appendFileSync)(fd_1, '\n');
62
+ count_1 = 0;
63
+ appendData_1 = function (minCreateAt) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
64
+ var filter3, rows, csvTxt, maxCreateAt;
65
+ return tslib_1.__generator(this, function (_a) {
66
+ switch (_a.label) {
67
+ case 0:
68
+ filter3 = (0, filter_1.combineFilters)(entity, context.getSchema(), [filter2, {
69
+ $$createAt$$: {
70
+ $gt: minCreateAt,
71
+ },
72
+ }]);
73
+ return [4 /*yield*/, context.select(entity, {
74
+ data: projection_1,
75
+ filter: filter3,
76
+ sorter: [{
77
+ $attr: {
78
+ $$createAt$$: 1,
79
+ },
80
+ $direction: 'asc'
81
+ }],
82
+ indexFrom: 0,
83
+ count: 1000,
84
+ }, { includedDeleted: true })];
85
+ case 1:
86
+ rows = _a.sent();
87
+ csvTxt = rows.map(function (row) { return attributes_1.map(function (attr) { return JSON.stringify(row[attr]); }).join(','); }).join('\n');
88
+ (0, fs_1.appendFileSync)(fd_1, csvTxt);
89
+ (0, fs_1.appendFileSync)(fd_1, '\n');
90
+ count_1 += rows.length;
91
+ if (rows.length === 1000) {
92
+ maxCreateAt = rows[999].$$createAt$$;
93
+ return [2 /*return*/, appendData_1(maxCreateAt)];
94
+ }
95
+ return [2 /*return*/];
96
+ }
97
+ });
98
+ }); };
99
+ return [4 /*yield*/, appendData_1(0)];
100
+ case 1:
101
+ _h.sent();
102
+ (0, fs_1.closeSync)(fd_1);
103
+ console.log("\u5907\u4EFD".concat(entity, "\u5BF9\u8C61\u5B8C\u6BD5\uFF0C\u5171\u5907\u4EFD\u4E86").concat(count_1, "\u884C\u6570\u636E"));
104
+ if (!(count_1 === 0)) return [3 /*break*/, 2];
105
+ (0, fs_1.rmSync)(backFile);
106
+ return [3 /*break*/, 4];
107
+ case 2:
108
+ if (!zip) return [3 /*break*/, 4];
109
+ createGzip = require('zlib').createGzip;
110
+ gzip_1 = createGzip();
111
+ source_1 = (0, fs_1.createReadStream)(backFile);
112
+ destination_1 = (0, fs_1.createWriteStream)("".concat(backFile, ".zip"));
113
+ return [4 /*yield*/, new Promise(function (resolve, reject) {
114
+ (0, stream_1.pipeline)(source_1, gzip_1, destination_1, function (err) {
115
+ if (err) {
116
+ reject(err);
117
+ }
118
+ else {
119
+ resolve(undefined);
120
+ }
121
+ });
122
+ })];
123
+ case 3:
124
+ _h.sent();
125
+ _h.label = 4;
126
+ case 4:
127
+ _d = (_c = context).operate;
128
+ _e = [entity];
129
+ _g = {};
130
+ return [4 /*yield*/, (0, uuid_1.generateNewIdAsync)()];
131
+ case 5:
132
+ // 将对应的数据删除
133
+ return [4 /*yield*/, _d.apply(_c, _e.concat([(_g.id = _h.sent(),
134
+ _g.action = 'remove',
135
+ _g.data = {},
136
+ _g.filter = filter2,
137
+ _g), { deletePhysically: true }]))];
138
+ case 6:
139
+ // 将对应的数据删除
140
+ _h.sent();
141
+ return [2 /*return*/];
142
+ }
143
+ });
144
+ };
145
+ _b.label = 1;
146
+ case 1:
147
+ _b.trys.push([1, 6, 7, 8]);
148
+ entities_1 = tslib_1.__values(entities), entities_1_1 = entities_1.next();
149
+ _b.label = 2;
150
+ case 2:
151
+ if (!!entities_1_1.done) return [3 /*break*/, 5];
152
+ ele = entities_1_1.value;
153
+ return [5 /*yield**/, _loop_1(ele)];
154
+ case 3:
155
+ _b.sent();
156
+ _b.label = 4;
157
+ case 4:
158
+ entities_1_1 = entities_1.next();
159
+ return [3 /*break*/, 2];
160
+ case 5: return [3 /*break*/, 8];
161
+ case 6:
162
+ e_1_1 = _b.sent();
163
+ e_1 = { error: e_1_1 };
164
+ return [3 /*break*/, 8];
165
+ case 7:
166
+ try {
167
+ if (entities_1_1 && !entities_1_1.done && (_a = entities_1.return)) _a.call(entities_1);
168
+ }
169
+ finally { if (e_1) throw e_1.error; }
170
+ return [7 /*endfinally*/];
171
+ case 8: return [2 /*return*/];
172
+ }
173
+ });
174
+ });
175
+ }
176
+ exports.vaccumEntities = vaccumEntities;
@@ -1,5 +1,5 @@
1
- import { EntityDict as BaseEntityDict } from '../base-app-domain';
2
- import { StorageSchema, EntityDict } from '../types';
3
- import { AsyncContext } from '../store/AsyncRowStore';
4
- import { SyncContext } from '../store/SyncRowStore';
5
- export declare function createDynamicTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>>(schema: StorageSchema<ED>): import("../types").Trigger<ED, keyof ED, Cxt>[];
1
+ import { EntityDict as BaseEntityDict } from '../base-app-domain';
2
+ import { StorageSchema, EntityDict } from '../types';
3
+ import { AsyncContext } from '../store/AsyncRowStore';
4
+ import { SyncContext } from '../store/SyncRowStore';
5
+ export declare function createDynamicTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED> | SyncContext<ED>>(schema: StorageSchema<ED>): import("../types").Trigger<ED, keyof ED, Cxt>[];
@@ -1,8 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDynamicTriggers = void 0;
4
- var modi_1 = require("../store/modi");
5
- function createDynamicTriggers(schema) {
6
- return (0, modi_1.createModiRelatedTriggers)(schema);
7
- }
8
- exports.createDynamicTriggers = createDynamicTriggers;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDynamicTriggers = void 0;
4
+ var modi_1 = require("../store/modi");
5
+ function createDynamicTriggers(schema) {
6
+ return (0, modi_1.createModiRelatedTriggers)(schema);
7
+ }
8
+ exports.createDynamicTriggers = createDynamicTriggers;
@@ -1,20 +1,20 @@
1
- import { CascadeRelationItem, EntityDict } from "./Entity";
2
- import { GenericAction } from '../actions/action';
3
- export declare type Action = string;
4
- export declare type State = string;
5
- export declare type ActionDef<A extends Action, S extends State> = {
6
- stm: {
7
- [a in A]: [p: S | S[], n: S];
8
- };
9
- is?: S;
10
- };
11
- export declare type ActionDictOfEntityDict<E extends EntityDict> = {
12
- [T in keyof E]?: {
13
- [A in keyof E[T]['OpSchema']]?: ActionDef<string, string>;
14
- };
15
- };
16
- export declare type CascadeActionItem = CascadeRelationItem;
17
- export declare type CascadeActionAuth<A extends Action = ''> = {
18
- [K in A | GenericAction]?: CascadeActionItem | (CascadeActionItem | CascadeActionItem[])[];
19
- };
20
- export declare type ActionOnRemove = 'setNull' | 'remove';
1
+ import { CascadeRelationItem, EntityDict } from "./Entity";
2
+ import { GenericAction } from '../actions/action';
3
+ export declare type Action = string;
4
+ export declare type State = string;
5
+ export declare type ActionDef<A extends Action, S extends State> = {
6
+ stm: {
7
+ [a in A]: [p: S | S[], n: S];
8
+ };
9
+ is?: S;
10
+ };
11
+ export declare type ActionDictOfEntityDict<E extends EntityDict> = {
12
+ [T in keyof E]?: {
13
+ [A in keyof E[T]['OpSchema']]?: ActionDef<string, string>;
14
+ };
15
+ };
16
+ export declare type CascadeActionItem = CascadeRelationItem;
17
+ export declare type CascadeActionAuth<A extends Action = ''> = {
18
+ [K in A | GenericAction]?: CascadeActionItem | (CascadeActionItem | CascadeActionItem[])[];
19
+ };
20
+ export declare type ActionOnRemove = 'setNull' | 'remove';
@@ -1,2 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,11 +1,11 @@
1
- import { AsyncContext, AsyncRowStore } from "../store/AsyncRowStore";
2
- import { EntityDict } from "./Entity";
3
- export declare abstract class AppLoader<ED extends EntityDict, Cxt extends AsyncContext<ED>> {
4
- protected path: string;
5
- constructor(path: string);
6
- abstract execAspect(name: string, context: Cxt, params?: any): Promise<any>;
7
- abstract initialize(dropIfExists?: boolean): Promise<void>;
8
- abstract mount(): Promise<void>;
9
- abstract unmount(): Promise<void>;
10
- abstract getStore(): AsyncRowStore<ED, Cxt>;
11
- }
1
+ import { AsyncContext, AsyncRowStore } from "../store/AsyncRowStore";
2
+ import { EntityDict } from "./Entity";
3
+ export declare abstract class AppLoader<ED extends EntityDict, Cxt extends AsyncContext<ED>> {
4
+ protected path: string;
5
+ constructor(path: string);
6
+ abstract execAspect(name: string, context: Cxt, params?: any): Promise<any>;
7
+ abstract initialize(dropIfExists?: boolean): Promise<void>;
8
+ abstract mount(): Promise<void>;
9
+ abstract unmount(): Promise<void>;
10
+ abstract getStore(): AsyncRowStore<ED, Cxt>;
11
+ }
@@ -1,10 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AppLoader = void 0;
4
- var AppLoader = /** @class */ (function () {
5
- function AppLoader(path) {
6
- this.path = path;
7
- }
8
- return AppLoader;
9
- }());
10
- exports.AppLoader = AppLoader;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppLoader = void 0;
4
+ var AppLoader = /** @class */ (function () {
5
+ function AppLoader(path) {
6
+ this.path = path;
7
+ }
8
+ return AppLoader;
9
+ }());
10
+ exports.AppLoader = AppLoader;
@@ -1,13 +1,13 @@
1
- import { EntityDict } from "./Entity";
2
- import { OpRecord } from "./Entity";
3
- import { AsyncContext } from "../store/AsyncRowStore";
4
- export interface Aspect<ED extends EntityDict, Cxt extends AsyncContext<ED>> {
5
- (params: any, context: Cxt): Promise<any>;
6
- }
7
- export interface AspectWrapper<ED extends EntityDict, Cxt extends AsyncContext<ED>, AD extends Record<string, Aspect<ED, Cxt>>> {
8
- exec: <T extends keyof AD>(name: T, params: Parameters<AD[T]>[0]) => Promise<{
9
- result: Awaited<ReturnType<AD[T]>>;
10
- opRecords?: OpRecord<ED>[];
11
- message?: string | null;
12
- }>;
13
- }
1
+ import { EntityDict } from "./Entity";
2
+ import { OpRecord } from "./Entity";
3
+ import { AsyncContext } from "../store/AsyncRowStore";
4
+ export interface Aspect<ED extends EntityDict, Cxt extends AsyncContext<ED>> {
5
+ (params: any, context: Cxt): Promise<any>;
6
+ }
7
+ export interface AspectWrapper<ED extends EntityDict, Cxt extends AsyncContext<ED>, AD extends Record<string, Aspect<ED, Cxt>>> {
8
+ exec: <T extends keyof AD>(name: T, params: Parameters<AD[T]>[0]) => Promise<{
9
+ result: Awaited<ReturnType<AD[T]>>;
10
+ opRecords?: OpRecord<ED>[];
11
+ message?: string | null;
12
+ }>;
13
+ }
@@ -1,4 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- ;
4
- ;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ ;