cnpmcore 3.69.0 → 3.71.0
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/README.md +3 -12
- package/dist/app/common/adapter/binary/ChromeForTestingBinary.js +22 -1
- package/dist/app/core/service/PackageManagerService.js +4 -3
- package/dist/app/core/service/PackageVersionFileService.js +4 -2
- package/dist/app/port/config.d.ts +7 -0
- package/dist/app/port/config.js +1 -1
- package/dist/app/repository/PackageRepository.d.ts +1 -1
- package/dist/app/repository/PackageRepository.js +23 -17
- package/dist/app/repository/TaskRepository.d.ts +1 -1
- package/dist/app/repository/TaskRepository.js +5 -4
- package/dist/app/repository/util/ErrorUtil.d.ts +1 -0
- package/dist/app/repository/util/ErrorUtil.js +15 -0
- package/dist/config/config.default.d.ts +1 -1
- package/dist/config/config.default.js +10 -7
- package/dist/config/config.unittest.js +3 -2
- package/dist/config/database.d.ts +15 -0
- package/dist/config/database.js +49 -0
- package/package.json +17 -10
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://github.com/cnpm/cnpmcore/actions/workflows/codeql-analysis.yml)
|
|
6
6
|
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fcnpm%2Fcnpmcore?ref=badge_shield)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Reimplement based on [cnpmjs.org](https://github.com/cnpm/cnpmjs.org) with TypeScript.
|
|
9
9
|
|
|
10
10
|
## Registry HTTP API
|
|
11
11
|
|
|
@@ -23,19 +23,10 @@ See [INTEGRATE.md](INTEGRATE.md)
|
|
|
23
23
|
|
|
24
24
|
[MIT](LICENSE)
|
|
25
25
|
|
|
26
|
-
<!-- GITCONTRIBUTOR_START -->
|
|
27
|
-
|
|
28
26
|
## Contributors
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
| :---: | :---: | :---: | :---: | :---: | :---: |
|
|
32
|
-
|[<img src="https://avatars.githubusercontent.com/u/4635838?v=4" width="100px;"/><br/><sub><b>gemwuu</b></sub>](https://github.com/gemwuu)<br/>|[<img src="https://avatars.githubusercontent.com/u/26033663?v=4" width="100px;"/><br/><sub><b>Zian502</b></sub>](https://github.com/Zian502)<br/>|[<img src="https://avatars.githubusercontent.com/u/17879221?v=4" width="100px;"/><br/><sub><b>laibao101</b></sub>](https://github.com/laibao101)<br/>|[<img src="https://avatars.githubusercontent.com/u/3478550?v=4" width="100px;"/><br/><sub><b>coolyuantao</b></sub>](https://github.com/coolyuantao)<br/>|[<img src="https://avatars.githubusercontent.com/u/10163680?v=4" width="100px;"/><br/><sub><b>Wellaiyo</b></sub>](https://github.com/Wellaiyo)<br/>|[<img src="https://avatars.githubusercontent.com/u/227713?v=4" width="100px;"/><br/><sub><b>atian25</b></sub>](https://github.com/atian25)<br/>|
|
|
33
|
-
|[<img src="https://avatars.githubusercontent.com/u/33210001?v=4" width="100px;"/><br/><sub><b>hljwkwm</b></sub>](https://github.com/hljwkwm)<br/>|[<img src="https://avatars.githubusercontent.com/u/8198408?v=4" width="100px;"/><br/><sub><b>BlackHole1</b></sub>](https://github.com/BlackHole1)<br/>|[<img src="https://avatars.githubusercontent.com/u/1814071?v=4" width="100px;"/><br/><sub><b>xiekw2010</b></sub>](https://github.com/xiekw2010)<br/>|[<img src="https://avatars.githubusercontent.com/u/7054676?v=4" width="100px;"/><br/><sub><b>Zheaoli</b></sub>](https://github.com/Zheaoli)<br/>|[<img src="https://avatars.githubusercontent.com/u/13471233?v=4" width="100px;"/><br/><sub><b>OpportunityLiu</b></sub>](https://github.com/OpportunityLiu)<br/>|[<img src="https://avatars.githubusercontent.com/u/958063?v=4" width="100px;"/><br/><sub><b>thonatos</b></sub>](https://github.com/thonatos)<br/>|
|
|
34
|
-
|[<img src="https://avatars.githubusercontent.com/u/26962197?v=4" width="100px;"/><br/><sub><b>chilingling</b></sub>](https://github.com/chilingling)<br/>|[<img src="https://avatars.githubusercontent.com/u/11039003?v=4" width="100px;"/><br/><sub><b>chenpx976</b></sub>](https://github.com/chenpx976)<br/>|[<img src="https://avatars.githubusercontent.com/u/29791463?v=4" width="100px;"/><br/><sub><b>fossabot</b></sub>](https://github.com/fossabot)<br/>|[<img src="https://avatars.githubusercontent.com/u/1119126?v=4" width="100px;"/><br/><sub><b>looksgood</b></sub>](https://github.com/looksgood)<br/>|[<img src="https://avatars.githubusercontent.com/u/23701019?v=4" width="100px;"/><br/><sub><b>laoboxie</b></sub>](https://github.com/laoboxie)<br/>|[<img src="https://avatars.githubusercontent.com/u/5772358?v=4" width="100px;"/><br/><sub><b>unbyte</b></sub>](https://github.com/unbyte)<br/>|
|
|
35
|
-
[<img src="https://avatars.githubusercontent.com/u/5799374?v=4" width="100px;"/><br/><sub><b>wandergis</b></sub>](https://github.com/wandergis)<br/>|[<img src="https://avatars.githubusercontent.com/u/13448833?v=4" width="100px;"/><br/><sub><b>windhc</b></sub>](https://github.com/windhc)<br/>|[<img src="https://avatars.githubusercontent.com/u/2784308?v=4" width="100px;"/><br/><sub><b>yisibl</b></sub>](https://github.com/yisibl)<br/>|[<img src="https://avatars.githubusercontent.com/u/13127586?v=4" width="100px;"/><br/><sub><b>vimplus</b></sub>](https://github.com/vimplus)<br/>|[<img src="https://avatars.githubusercontent.com/u/5550931?v=4" width="100px;"/><br/><sub><b>feichao93</b></sub>](https://github.com/feichao93)<br/>
|
|
36
|
-
|
|
37
|
-
This project follows the git-contributor [spec](https://github.com/xudafeng/git-contributor), auto updated at `Fri May 17 2024 22:31:22 GMT+0800`.
|
|
28
|
+
[](https://github.com/cnpm/cnpmcore/graphs/contributors)
|
|
38
29
|
|
|
39
|
-
|
|
30
|
+
Made with [contributors-img](https://contrib.rocks).
|
|
40
31
|
|
|
41
32
|
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fcnpm%2Fcnpmcore?ref=badge_large)
|
|
@@ -69,6 +69,27 @@ _ChromeForTestingBinary_syncDirItems = async function _ChromeForTestingBinary_sy
|
|
|
69
69
|
if (!hasNewData) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
+
this.dirItems['/'].push({
|
|
73
|
+
name: 'known-good-versions-with-downloads.json',
|
|
74
|
+
date: data.timestamp,
|
|
75
|
+
size: '-',
|
|
76
|
+
isDir: false,
|
|
77
|
+
url: jsonApiEndpoint,
|
|
78
|
+
});
|
|
79
|
+
this.dirItems['/'].push({
|
|
80
|
+
name: 'latest-patch-versions-per-build.json',
|
|
81
|
+
date: data.timestamp,
|
|
82
|
+
size: '-',
|
|
83
|
+
isDir: false,
|
|
84
|
+
url: 'https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build.json',
|
|
85
|
+
});
|
|
86
|
+
this.dirItems['/'].push({
|
|
87
|
+
name: 'last-known-good-versions.json',
|
|
88
|
+
date: data.timestamp,
|
|
89
|
+
size: '-',
|
|
90
|
+
isDir: false,
|
|
91
|
+
url: 'https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json',
|
|
92
|
+
});
|
|
72
93
|
// "timestamp": "2023-09-16T00:21:21.964Z",
|
|
73
94
|
// "versions": [
|
|
74
95
|
// {
|
|
@@ -142,4 +163,4 @@ exports.ChromeForTestingBinary = ChromeForTestingBinary = ChromeForTestingBinary
|
|
|
142
163
|
(0, tegg_1.SingletonProto)(),
|
|
143
164
|
(0, AbstractBinary_1.BinaryAdapter)(Binary_1.BinaryType.ChromeForTesting)
|
|
144
165
|
], ChromeForTestingBinary);
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hyb21lRm9yVGVzdGluZ0JpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvQ2hyb21lRm9yVGVzdGluZ0JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQWdDO0FBQ2hDLHNDQUE2QztBQUM3Qyw4Q0FBK0M7QUFDL0MscURBQTBGO0FBSW5GLElBQU0sc0JBQXNCLG1DQUE1QixNQUFNLHNCQUF1QixTQUFRLCtCQUFjO0lBQW5EOzs7UUFFTCw0Q0FBYSxFQUFFLEVBQUM7SUFrSmxCLENBQUM7SUE1SUMsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLE9BQU8sSUFBSSx1QkFBQSxJQUFJLHlDQUFXLElBQUksd0JBQXNCLENBQUMsYUFBYSxLQUFLLHVCQUFBLElBQUkseUNBQVcsRUFBRTtZQUMxRix3QkFBc0IsQ0FBQyxhQUFhLEdBQUcsdUJBQUEsSUFBSSx5Q0FBVyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQTZIRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVc7UUFDckIsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE1BQU0sdUJBQUEsSUFBSSwrRUFBYyxNQUFsQixJQUFJLENBQWdCLENBQUM7U0FDNUI7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUM7O0FBbkpVLHdEQUFzQjs7O3VDQWtCakMsS0FBSztJQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ25CLElBQUksQ0FBQyxRQUFRLENB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
|
|
@@ -20,12 +20,14 @@ const tegg_1 = require("@eggjs/tegg");
|
|
|
20
20
|
const egg_errors_1 = require("egg-errors");
|
|
21
21
|
const npm_package_arg_1 = __importDefault(require("npm-package-arg"));
|
|
22
22
|
const semver_1 = __importDefault(require("semver"));
|
|
23
|
+
const p_map_1 = __importDefault(require("p-map"));
|
|
23
24
|
const PackageUtil_1 = require("../../common/PackageUtil");
|
|
24
25
|
const AbstractService_1 = require("../../common/AbstractService");
|
|
25
26
|
const PackageRepository_1 = require("../../repository/PackageRepository");
|
|
26
27
|
const PackageVersionBlockRepository_1 = require("../../repository/PackageVersionBlockRepository");
|
|
27
28
|
const PackageVersionDownloadRepository_1 = require("../../repository/PackageVersionDownloadRepository");
|
|
28
29
|
const DistRepository_1 = require("../../repository/DistRepository");
|
|
30
|
+
const ErrorUtil_1 = require("../../repository/util/ErrorUtil");
|
|
29
31
|
const Package_1 = require("../entity/Package");
|
|
30
32
|
const PackageVersion_1 = require("../entity/PackageVersion");
|
|
31
33
|
const PackageVersionBlock_1 = require("../entity/PackageVersionBlock");
|
|
@@ -34,7 +36,6 @@ const event_1 = require("../event");
|
|
|
34
36
|
const BugVersionService_1 = require("./BugVersionService");
|
|
35
37
|
const RegistryManagerService_1 = require("./RegistryManagerService");
|
|
36
38
|
const PackageVersionService_1 = require("./PackageVersionService");
|
|
37
|
-
const p_map_1 = __importDefault(require("p-map"));
|
|
38
39
|
const TOTAL = '@@TOTAL@@';
|
|
39
40
|
const SCOPE_TOTAL_PREFIX = '@@SCOPE@@:';
|
|
40
41
|
const DESCRIPTION_LIMIT = 1024 * 10;
|
|
@@ -201,7 +202,7 @@ let PackageManagerService = PackageManagerService_1 = class PackageManagerServic
|
|
|
201
202
|
await this.packageRepository.createPackageVersion(pkgVersion);
|
|
202
203
|
}
|
|
203
204
|
catch (e) {
|
|
204
|
-
if (
|
|
205
|
+
if ((0, ErrorUtil_1.isDuplicateKeyError)(e)) {
|
|
205
206
|
throw new egg_errors_1.ForbiddenError(`Can't modify pre-existing version: ${pkg.fullname}@${cmd.version}`);
|
|
206
207
|
}
|
|
207
208
|
throw e;
|
|
@@ -933,4 +934,4 @@ exports.PackageManagerService = PackageManagerService = PackageManagerService_1
|
|
|
933
934
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
934
935
|
})
|
|
935
936
|
], PackageManagerService);
|
|
936
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9QYWNrYWdlTWFuYWdlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFrRDtBQUNsRCw2Q0FBK0M7QUFDL0Msc0NBS3FCO0FBQ3JCLDJDQUE0RTtBQUU1RSxzRUFBa0M7QUFDbEMsb0RBQTRCO0FBQzVCLDBEQU9rQztBQUNsQyxrRUFBK0Q7QUFDL0QsMEVBQXlLO0FBQ3pLLGtHQUErRjtBQUMvRix3R0FBcUc7QUFDckcsb0VBQWlFO0FBQ2pFLCtDQUE0QztBQUM1Qyw2REFBMEQ7QUFDMUQsdUVBQW9FO0FBQ3BFLHFEQUFrRDtBQUdsRCxvQ0FZa0I7QUFDbEIsMkRBQXdEO0FBRXhELHFFQUFrRTtBQUVsRSxtRUFBZ0U7QUFDaEUsa0RBQXlCO0FBMkJ6QixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUM7QUFDMUIsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUM7QUFDeEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBSzdCLElBQU0scUJBQXFCLDZCQUEzQixNQUFNLHFCQUFzQixTQUFRLGlDQUFlO0lBb0J4RCw4RUFBOEU7SUFDOUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFzQixFQUFFLFNBQWU7UUFDbkQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRTtZQUNsRCxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZ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
|
|
937
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9QYWNrYWdlTWFuYWdlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFrRDtBQUNsRCw2Q0FBK0M7QUFDL0Msc0NBS3FCO0FBQ3JCLDJDQUE0RTtBQUU1RSxzRUFBa0M7QUFDbEMsb0RBQTRCO0FBQzVCLGtEQUF5QjtBQUN6QiwwREFPa0M7QUFDbEMsa0VBQStEO0FBQy9ELDBFQUF5SztBQUN6SyxrR0FBK0Y7QUFDL0Ysd0dBQXFHO0FBQ3JHLG9FQUFpRTtBQUNqRSwrREFBc0U7QUFDdEUsK0NBQTRDO0FBQzVDLDZEQUEwRDtBQUMxRCx1RUFBb0U7QUFDcEUscURBQWtEO0FBR2xELG9DQVlrQjtBQUNsQiwyREFBd0Q7QUFFeEQscUVBQWtFO0FBRWxFLG1FQUFnRTtBQTJCaEUsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDO0FBQzFCLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDO0FBQ3hDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUs3QixJQUFNLHFCQUFxQiw2QkFBM0IsTUFBTSxxQkFBc0IsU0FBUSxpQ0FBZTtJQW9CeEQsOEVBQThFO0lBQzlFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBc0IsRUFBRSxTQUFlO1FBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMseUJBQXlCLEVBQUU7WUFDbEQsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3REO1FBQ0QsSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FB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
|
|
@@ -39,6 +39,7 @@ const PackageRepository_1 = require("../../repository/PackageRepository");
|
|
|
39
39
|
const PackageVersionFileRepository_1 = require("../../repository/PackageVersionFileRepository");
|
|
40
40
|
const PackageVersionRepository_1 = require("../../repository/PackageVersionRepository");
|
|
41
41
|
const DistRepository_1 = require("../../repository/DistRepository");
|
|
42
|
+
const ErrorUtil_1 = require("../../repository/util/ErrorUtil");
|
|
42
43
|
const PackageVersionFile_1 = require("../entity/PackageVersionFile");
|
|
43
44
|
const PackageManagerService_1 = require("./PackageManagerService");
|
|
44
45
|
const CacheAdapter_1 = require("../../common/adapter/CacheAdapter");
|
|
@@ -269,8 +270,9 @@ _PackageVersionFileService_savePackageVersionFile = async function _PackageVersi
|
|
|
269
270
|
}
|
|
270
271
|
catch (err) {
|
|
271
272
|
// ignore Duplicate entry
|
|
272
|
-
if (err
|
|
273
|
+
if ((0, ErrorUtil_1.isDuplicateKeyError)(err)) {
|
|
273
274
|
return file;
|
|
275
|
+
}
|
|
274
276
|
throw err;
|
|
275
277
|
}
|
|
276
278
|
return file;
|
|
@@ -342,4 +344,4 @@ exports.PackageVersionFileService = PackageVersionFileService = __decorate([
|
|
|
342
344
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
343
345
|
})
|
|
344
346
|
], PackageVersionFileService);
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25GaWxlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3NlcnZpY2UvUGFja2FnZVZlcnNpb25GaWxlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0M7QUFDbEMseUNBQW9EO0FBQ3BELDZDQUF5QztBQUN6Qyx1REFBK0I7QUFDL0Isc0NBSXFCO0FBQ3JCLDJDQUEyRDtBQUMzRCxvREFBNEI7QUFDNUIsa0VBQStEO0FBQy9ELDBEQUdrQztBQUNsQyxvREFBa0U7QUFDbEUsMEVBRTRDO0FBQzVDLGdHQUE2RjtBQUM3Rix3RkFBcUY7QUFDckYsb0VBQWlFO0FBQ2pFLHFFQUFrRTtBQUdsRSxtRUFBZ0U7QUFDaEUsb0VBQWlFO0FBRWpFLE1BQU0saUJBQWlCLEdBQUcsMENBQTBDLENBQUM7QUFDckUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUszRCxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUEwQixTQUFRLGlDQUFlO0lBQXZEOzs7UUFjTCw2REFBbUMsQ0FBQyxFQUFDO1FBQ3JDLGtFQUF3QyxFQUFFLEVBQUM7UUFDM0MsaUVBRUssRUFBRSxFQUFDO1FBQ1IsK0RBQXVDLEVBQUUsRUFBQztJQXlRNUMsQ0FBQztJQXZRQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsVUFBMEIsRUFBRSxTQUFpQjtRQUN6RSxNQUFNLHVCQUFBLElBQUksc0dBQStCLE1BQW5DLElBQUksRUFBZ0MsVUFBVSxDQUFDLENBQUM7UUFDdEQsT0FBTyxNQUFNLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakgs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
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25GaWxlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3NlcnZpY2UvUGFja2FnZVZlcnNpb25GaWxlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0M7QUFDbEMseUNBQW9EO0FBQ3BELDZDQUF5QztBQUN6Qyx1REFBK0I7QUFDL0Isc0NBSXFCO0FBQ3JCLDJDQUEyRDtBQUMzRCxvREFBNEI7QUFDNUIsa0VBQStEO0FBQy9ELDBEQUdrQztBQUNsQyxvREFBa0U7QUFDbEUsMEVBRTRDO0FBQzVDLGdHQUE2RjtBQUM3Rix3RkFBcUY7QUFDckYsb0VBQWlFO0FBQ2pFLCtEQUFzRTtBQUN0RSxxRUFBa0U7QUFHbEUsbUVBQWdFO0FBQ2hFLG9FQUFpRTtBQUVqRSxNQUFNLGlCQUFpQixHQUFHLDBDQUEwQyxDQUFDO0FBQ3JFLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFLM0QsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSxpQ0FBZTtJQUF2RDs7O1FBY0wsNkRBQW1DLENBQUMsRUFBQztRQUNyQyxrRUFBd0MsRUFBRSxFQUFDO1FBQzNDLGlFQUVLLEVBQUUsRUFBQztRQUNSLCtEQUF1QyxFQUFFLEVBQUM7SUEyUTVDLENBQUM7SUF6UUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFVBQTBCLEVBQUUsU0FBaUI7UUFDekUsTUFBTSx1QkFBQSxJQUFJLHNHQUErQixNQUFuQyxJQUFJLEVBQWdDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FB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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SyncDeleteMode, SyncMode, ChangesStreamMode } from '../common/constants';
|
|
2
|
+
import { DATABASE_TYPE } from '../../config/database';
|
|
2
3
|
export { cnpmcoreConfig } from '../../config/config.default';
|
|
3
4
|
export type CnpmcoreConfig = {
|
|
4
5
|
name: string;
|
|
@@ -172,4 +173,10 @@ export type CnpmcoreConfig = {
|
|
|
172
173
|
* strictly enforces/validates dependencies version when publish or sync
|
|
173
174
|
*/
|
|
174
175
|
strictValidatePackageDeps?: boolean;
|
|
176
|
+
/**
|
|
177
|
+
* database config
|
|
178
|
+
*/
|
|
179
|
+
database: {
|
|
180
|
+
type: DATABASE_TYPE | string;
|
|
181
|
+
};
|
|
175
182
|
};
|
package/dist/app/port/config.js
CHANGED
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.cnpmcoreConfig = void 0;
|
|
4
4
|
var config_default_1 = require("../../config/config.default");
|
|
5
5
|
Object.defineProperty(exports, "cnpmcoreConfig", { enumerable: true, get: function () { return config_default_1.cnpmcoreConfig; } });
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL3BvcnQvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDhEQUE2RDtBQUFwRCxnSEFBQSxjQUFjLE9BQUEifQ==
|
|
@@ -164,7 +164,7 @@ export declare class PackageRepository extends AbstractRepository {
|
|
|
164
164
|
removePackageVersion(pkgVersion: PackageVersionEntity): Promise<void>;
|
|
165
165
|
savePackageVersionManifest(manifestEntity: PackageVersionManifestEntity): Promise<void>;
|
|
166
166
|
findPackageVersionManifest(packageVersionId: string): Promise<PackageVersionManifestModel | null>;
|
|
167
|
-
private
|
|
167
|
+
private getTotalCountByModel;
|
|
168
168
|
queryTotal(): Promise<{
|
|
169
169
|
packageCount: number;
|
|
170
170
|
packageVersionCount: number;
|
|
@@ -27,6 +27,7 @@ const Dist_1 = require("../core/entity/Dist");
|
|
|
27
27
|
const PackageTag_1 = require("../core/entity/PackageTag");
|
|
28
28
|
const User_1 = require("../core/entity/User");
|
|
29
29
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
30
|
+
const database_1 = require("../../config/database");
|
|
30
31
|
let PackageRepository = class PackageRepository extends AbstractRepository_1.AbstractRepository {
|
|
31
32
|
constructor() {
|
|
32
33
|
super(...arguments);
|
|
@@ -216,18 +217,25 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
216
217
|
return null;
|
|
217
218
|
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, this.PackageVersionManifest);
|
|
218
219
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
220
|
+
async getTotalCountByModel(model) {
|
|
221
|
+
if (this.config.cnpmcore.database.type === database_1.DATABASE_TYPE.MySQL) {
|
|
222
|
+
const { database } = this.config.orm;
|
|
223
|
+
const sql = `
|
|
224
|
+
SELECT
|
|
225
|
+
TABLE_ROWS as table_rows
|
|
226
|
+
FROM
|
|
227
|
+
information_schema.tables
|
|
228
|
+
WHERE
|
|
229
|
+
table_schema = '${database}'
|
|
230
|
+
AND table_name = '${model.table}';
|
|
231
|
+
`;
|
|
232
|
+
const result = await this.orm.client.query(sql);
|
|
233
|
+
return result.rows?.[0].table_rows;
|
|
234
|
+
}
|
|
235
|
+
const sql = `SELECT count(id) as total FROM ${model.table};`;
|
|
236
|
+
const result = await this.orm.client.query(sql);
|
|
237
|
+
const total = Number(result.rows?.[0].total);
|
|
238
|
+
return total;
|
|
231
239
|
}
|
|
232
240
|
async queryTotal() {
|
|
233
241
|
const lastPkg = await this.Package.findOne().order('id', 'desc');
|
|
@@ -240,8 +248,7 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
240
248
|
lastPackage = lastPkg.scope ? `${lastPkg.scope}/${lastPkg.name}` : lastPkg.name;
|
|
241
249
|
// FIXME: id will be out of range number
|
|
242
250
|
// 可能存在 id 增长不连续的情况,通过 count 查询
|
|
243
|
-
|
|
244
|
-
packageCount = queryRes.rows?.[0].TABLE_ROWS;
|
|
251
|
+
packageCount = await this.getTotalCountByModel(Package_1.Package);
|
|
245
252
|
}
|
|
246
253
|
if (lastVersion) {
|
|
247
254
|
const pkg = await this.Package.findOne({ packageId: lastVersion.packageId });
|
|
@@ -249,8 +256,7 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
249
256
|
const fullname = pkg.scope ? `${pkg.scope}/${pkg.name}` : pkg.name;
|
|
250
257
|
lastPackageVersion = `${fullname}@${lastVersion.version}`;
|
|
251
258
|
}
|
|
252
|
-
|
|
253
|
-
packageVersionCount = queryRes.rows?.[0].TABLE_ROWS;
|
|
259
|
+
packageVersionCount = await this.getTotalCountByModel(PackageVersion_2.PackageVersion);
|
|
254
260
|
}
|
|
255
261
|
return {
|
|
256
262
|
packageCount,
|
|
@@ -362,4 +368,4 @@ exports.PackageRepository = PackageRepository = __decorate([
|
|
|
362
368
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
363
369
|
})
|
|
364
370
|
], PackageRepository);
|
|
365
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9QYWNrYWdlUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBa0U7QUFDbEUsMEVBQThEO0FBRzlELDZDQUEwRDtBQUMxRCxvREFBa0U7QUFDbEUsMERBQXVEO0FBQ3ZELGtFQUF1RjtBQUN2RiwyREFBK0U7QUFJL0UsOENBQXlEO0FBQ3pELDBEQUEyRTtBQUkzRSw4Q0FBeUQ7QUFDekQsNkRBQTBEO0FBdUpuRCxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFrQixTQUFRLHVDQUFrQjtJQUFsRDs7O0lBdVZQLENBQUM7SUFoVEMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFhLEVBQUUsSUFBWTtRQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QixPQUFPLE1BQU0sdUJBQUEsSUFBSSxvRkFBNkIsTUFBakMsSUFBSSxFQUE4QixLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFNBQWlCO1FBQzVDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxNQUFNLHVCQUFBLElBQUksb0ZBQTZCLE1BQWpDLElBQUksRUFBOEIsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDN0MsTUFB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
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9QYWNrYWdlUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBa0U7QUFDbEUsMEVBQThEO0FBRzlELDZDQUEwRDtBQUMxRCxvREFBa0U7QUFDbEUsMERBQXVEO0FBQ3ZELGtFQUF1RjtBQUN2RiwyREFBK0U7QUFJL0UsOENBQXlEO0FBQ3pELDBEQUEyRTtBQUkzRSw4Q0FBeUQ7QUFDekQsNkRBQTBEO0FBRTFELG9EQUFzRDtBQXNKL0MsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSx1Q0FBa0I7SUFBbEQ7OztJQTRWUCxDQUFDO0lBclRDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDM0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxNQUFNLHVCQUFBLElBQUksb0ZBQTZCLE1BQWpDLElBQUksRUFBOEIsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxTQUFpQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE9BQU8sTUFBTSx1QkFBQSxJQUFJLG9GQUE2QixNQUFqQyxJQUFJLEVBQThCLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBd0I7UUFDeEMsSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixNQUFNLCtCQUFjLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzFEO2FBQU07WUFDTCxNQUFNLEtBQUssR0FBRyxNQUFNLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyREFBMkQsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQXdCLEVBQUUsZUFBd0I7UUFDdEUsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7UUFDcEYsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixNQUFNLCtCQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxNQUFNLEtBQUssR0FBRyxNQUFNLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywyRUFBMkUsRUFDMUYsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtRQUNELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQXdCLEVBQUUsZUFBd0I7UUFDeEUsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7UUFDcEYsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdGQUFnRixFQUMvRixLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELHNCQUFzQjtJQUN0Qix3Q0FBd0M7SUFDeEMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFNBQWlCLEVBQUUsTUFBYztRQUMzRCxJQUFJLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0ZBQWdGLEVBQy9GLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsU0FBaUI7UUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxXQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsU0FBaUIsRUFBRSxPQUFpQjtRQUNsRSxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7WUFDekQsZ0JBQWdCO1lBQ2hCLDBGQUEwRjtZQUMxRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2RUFBNkUsRUFDNUYsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzFCLFdBQVc7WUFDWCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUIsa0ZBQWtGO2dCQUNsRixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUZBQXFGLEVBQ3BHLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBaUIsRUFBRSxNQUFjO1FBQzdELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNGQUFzRixFQUNyRyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQWM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQywrQkFBYyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxpQkFBYSxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLGdCQUFzQztRQUMvRCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBQyxXQUFXLEVBQUMsRUFBRTtZQUN4RCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLHdDQUF3QztnQkFDeEMsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztnQkFDdkYsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUM7Z0JBQzFGLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO2dCQUNyRiwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztnQkFDeEYsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUM7YUFDOUYsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGdCQUFzQztRQUM3RCxtRkFBbUY7UUFDbkYsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5RSxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sK0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDOUU7UUFDRCxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3RSxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sK0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDakY7UUFDRCxJQUFJLGdCQUFnQixDQUFDLEVBQUUsRUFBRTtZQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0UsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsTUFBTSwrQkFBYyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2pFO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsT0FBZTtRQUN6RCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNsQyxPQUFPLE1BQU0sSUFBSSxDQUFDLDRCQUE0QixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CLENBQUMsU0FBaUI7UUFDekMscURBQXFEO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RSxNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFDO1FBQzVDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBaUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELHdCQUF3QjtJQUN4QixLQUFLLENBQUMscUJBQXFCLENBQUMsU0FBaUI7UUFDM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUVBQXlFLEVBQ3hGLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLFVBQWdDO1FBQ3pELE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDN0MsTUFBTSxFQUFFO2dCQUNOLFVBQVUsQ0FBQyxlQUFlLENBQUMsTUFBTTtnQkFDakMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNO2dCQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU07Z0JBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTTthQUMxQjtTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDZGQUE2RixFQUM1RyxlQUFlLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxLQUFLLENBQUMsMEJBQTBCLENBQUMsY0FBNEM7UUFDM0UsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUM3RyxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztZQUN6QyxNQUFNLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjthQUFNO1lBQ0wsS0FBSyxHQUFHLE1BQU0sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUZBQWlGLEVBQ2hHLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLDBCQUEwQixDQUFDLGdCQUF3QjtRQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN4QixPQUFPLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTyxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBa0I7UUFDbkQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLHdCQUFhLENBQUMsS0FBSyxFQUFFO1lBQzlELE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQTJCLENBQUM7WUFDN0QsTUFBTSxHQUFHLEdBQUc7Ozs7Ozs4QkFNWSxRQUFRO2dDQUNOLEtBQUssQ0FBQyxLQUFLO09BQ3BDLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFvQixDQUFDO1NBQzlDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsa0NBQWtDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUM3RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVFLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFFNUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxXQUFXLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoRix3Q0FBd0M7WUFDeEMsK0JBQStCO1lBQy9CLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBWSxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDN0UsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztnQkFDbkUsa0JBQWtCLEdBQUcsR0FBRyxRQUFRLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzNEO1lBQ0QsbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsK0JBQW1CLENBQUMsQ0FBQztTQUM1RTtRQUNELE9BQU87WUFDTCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxrQkFBa0I7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBMEI7UUFDbkUsTUFBTSxDQUNKLFlBQVksRUFDWixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNyQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN2RCxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRztZQUNYLE9BQU8sRUFBRSxZQUFZLElBQUksK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsV0FBVSxDQUFDO1lBQ3RGLFVBQVUsRUFBRSxlQUFlLElBQUksK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsV0FBVSxDQUFDO1lBQy9GLFlBQVksRUFBRSxpQkFBaUIsSUFBSSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLFdBQVUsQ0FBQztZQUNyRyxlQUFlLEVBQUUsb0JBQW9CLElBQUksK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsRUFBRSxXQUFVLENBQUM7U0FDL0csQ0FBQztRQUNGLE9BQU8sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsK0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBaUIsRUFBRSxHQUFXO1FBQ2pELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLHVCQUFnQixDQUFDLENBQUM7UUFDNUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsZ0JBQWtDO1FBQ3JELElBQUksZ0JBQWdCLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPO1lBQ25CLE1BQU0sK0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNqRTthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsTUFBTSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpRkFBaUYsRUFDaEcsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBa0M7UUFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixNQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxRkFBcUYsRUFDcEcsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFpQjtRQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsdUJBQWdCLENBQUMsQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUVGLENBQUE7QUE1VlksOENBQWlCOztpREE0QjVCLEtBQUsseURBQThCLEtBQW1CO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JILE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM5SCxNQUFNLElBQUksR0FBRztRQUNYLGFBQWEsRUFBRSxrQkFBa0IsSUFBSSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFdBQVUsQ0FBQztRQUN4RyxnQkFBZ0IsRUFBRSxxQkFBcUIsSUFBSSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixFQUFFLFdBQVUsQ0FBQztLQUNsSCxDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsaUJBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBbkNnQjtJQURoQixJQUFBLGFBQU0sR0FBRTs7a0RBQ3FDO0FBRzdCO0lBRGhCLElBQUEsYUFBTSxHQUFFOzsrQ0FDK0I7QUFHdkI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7O3lEQUNtRDtBQUczQztJQURoQixJQUFBLGFBQU0sR0FBRTs7aUVBQ21FO0FBRzNEO0lBRGhCLElBQUEsYUFBTSxHQUFFOztxREFDMkM7QUFHbkM7SUFEaEIsSUFBQSxhQUFNLEdBQUU7O3FEQUMyQztBQUduQztJQURoQixJQUFBLGFBQU0sR0FBRTs7K0NBQytCO0FBR3ZCO0lBRGhCLElBQUEsYUFBTSxHQUFFOztpREFDNkI7QUFHckI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQ2Esa0JBQUc7OENBQUM7NEJBMUJmLGlCQUFpQjtJQUg3QixJQUFBLHFCQUFjLEVBQUM7UUFDZCxXQUFXLEVBQUUsa0JBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDVyxpQkFBaUIsQ0E0VjdCIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Task as TaskEntity, TaskUpdateCondition } from '../core/entity/Task';
|
|
2
1
|
import { AbstractRepository } from './AbstractRepository';
|
|
3
2
|
import { TaskType, TaskState } from '../../app/common/enum/Task';
|
|
3
|
+
import { Task as TaskEntity, TaskUpdateCondition } from '../core/entity/Task';
|
|
4
4
|
export declare class TaskRepository extends AbstractRepository {
|
|
5
5
|
private readonly Task;
|
|
6
6
|
private readonly HistoryTask;
|
|
@@ -11,11 +11,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TaskRepository = void 0;
|
|
13
13
|
const node_assert_1 = require("node:assert");
|
|
14
|
+
const lodash_1 = require("lodash");
|
|
14
15
|
const tegg_1 = require("@eggjs/tegg");
|
|
15
16
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
16
|
-
const
|
|
17
|
+
const ErrorUtil_1 = require("./util/ErrorUtil");
|
|
17
18
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
18
|
-
const
|
|
19
|
+
const Task_1 = require("../core/entity/Task");
|
|
19
20
|
let TaskRepository = class TaskRepository extends AbstractRepository_1.AbstractRepository {
|
|
20
21
|
async saveTask(task) {
|
|
21
22
|
if (task.id) {
|
|
@@ -30,7 +31,7 @@ let TaskRepository = class TaskRepository extends AbstractRepository_1.AbstractR
|
|
|
30
31
|
}
|
|
31
32
|
catch (e) {
|
|
32
33
|
e.message = '[TaskRepository] insert Task failed: ' + e.message;
|
|
33
|
-
if (
|
|
34
|
+
if ((0, ErrorUtil_1.isDuplicateKeyError)(e)) {
|
|
34
35
|
this.logger.warn(e);
|
|
35
36
|
const taskModel = await this.Task.findOne({ bizId: task.bizId });
|
|
36
37
|
// 覆盖 bizId 相同的 id 和 taskId
|
|
@@ -156,4 +157,4 @@ exports.TaskRepository = TaskRepository = __decorate([
|
|
|
156
157
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
157
158
|
})
|
|
158
159
|
], TaskRepository);
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9UYXNrUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBK0M7QUFDL0MsbUNBQThCO0FBQzlCLHNDQUFrRTtBQUNsRSwwREFBdUQ7QUFDdkQsZ0RBQXVEO0FBR3ZELDZEQUEwRDtBQUUxRCw4Q0FBOEU7QUFLdkUsSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBZSxTQUFRLHVDQUFrQjtJQU9wRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixNQUFNLCtCQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxJQUFJO2dCQUNGLE1BQU0sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsQ0FBQyxDQUFDLE9BQU8sR0FBRyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNoRSxJQUFJLElBQUEsK0JBQW1CLEVBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isDuplicateKeyError(err: any): true | undefined;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDuplicateKeyError = void 0;
|
|
4
|
+
function isDuplicateKeyError(err) {
|
|
5
|
+
if (err.code === 'ER_DUP_ENTRY') {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
if (err.message.includes('duplicate key value violates unique constraint')) {
|
|
9
|
+
// pg: duplicate key value violates unique constraint "tasks_uk_task_id"
|
|
10
|
+
// code: '23505'
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.isDuplicateKeyError = isDuplicateKeyError;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3JlcG9zaXRvcnkvdXRpbC9FcnJvclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsbUJBQW1CLENBQUMsR0FBUTtJQUMxQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGdEQUFnRCxDQUFDLEVBQUU7UUFDMUUsd0VBQXdFO1FBQ3hFLGdCQUFnQjtRQUNoQixPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQVRELGtEQVNDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EggAppConfig, PowerPartial } from 'egg';
|
|
2
|
-
import { CnpmcoreConfig } from '../app/port/config';
|
|
2
|
+
import type { CnpmcoreConfig } from '../app/port/config';
|
|
3
3
|
export declare const cnpmcoreConfig: CnpmcoreConfig;
|
|
4
4
|
declare const _default: (appInfo: EggAppConfig) => PowerPartial<EggAppConfig>;
|
|
5
5
|
export default _default;
|
|
@@ -10,6 +10,7 @@ const node_path_1 = require("node:path");
|
|
|
10
10
|
const oss_cnpm_1 = __importDefault(require("oss-cnpm"));
|
|
11
11
|
const typebox_1 = require("../app/port/typebox");
|
|
12
12
|
const constants_1 = require("../app/common/constants");
|
|
13
|
+
const database_1 = require("./database");
|
|
13
14
|
exports.cnpmcoreConfig = {
|
|
14
15
|
name: 'cnpm',
|
|
15
16
|
hookEnable: false,
|
|
@@ -63,6 +64,9 @@ exports.cnpmcoreConfig = {
|
|
|
63
64
|
elasticsearchIndex: 'cnpmcore_packages',
|
|
64
65
|
strictValidateTarballPkg: false,
|
|
65
66
|
strictValidatePackageDeps: false,
|
|
67
|
+
database: {
|
|
68
|
+
type: database_1.database.type,
|
|
69
|
+
},
|
|
66
70
|
};
|
|
67
71
|
exports.default = (appInfo) => {
|
|
68
72
|
const config = {};
|
|
@@ -71,17 +75,16 @@ exports.default = (appInfo) => {
|
|
|
71
75
|
// override config from framework / plugin
|
|
72
76
|
config.dataDir = process.env.CNPMCORE_DATA_DIR || (0, node_path_1.join)(appInfo.root, '.cnpmcore');
|
|
73
77
|
config.orm = {
|
|
74
|
-
|
|
75
|
-
database:
|
|
76
|
-
host: process.env.CNPMCORE_MYSQL_HOST || process.env.MYSQL_HOST || '127.0.0.1',
|
|
77
|
-
port: process.env.CNPMCORE_MYSQL_PORT || process.env.MYSQL_PORT || 3306,
|
|
78
|
-
user: process.env.CNPMCORE_MYSQL_USER || process.env.MYSQL_USER || 'root',
|
|
79
|
-
password: process.env.CNPMCORE_MYSQL_PASSWORD || process.env.MYSQL_PASSWORD,
|
|
78
|
+
...database_1.database,
|
|
79
|
+
database: database_1.database.name ?? 'cnpmcore',
|
|
80
80
|
charset: 'utf8mb4',
|
|
81
81
|
logger: {
|
|
82
82
|
// https://github.com/cyjake/leoric/blob/master/docs/zh/logging.md#logqueryerror
|
|
83
83
|
// ignore query error
|
|
84
84
|
logQueryError() { },
|
|
85
|
+
// logQueryError(...args: any[]) {
|
|
86
|
+
// console.log(args);
|
|
87
|
+
// },
|
|
85
88
|
},
|
|
86
89
|
};
|
|
87
90
|
config.redis = {
|
|
@@ -203,4 +206,4 @@ exports.default = (appInfo) => {
|
|
|
203
206
|
}
|
|
204
207
|
return config;
|
|
205
208
|
};
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb25maWcvY29uZmlnLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQStDO0FBQy9DLDZDQUF5QztBQUN6Qyx5Q0FBaUM7QUFFakMsd0RBQWlDO0FBQ2pDLGlEQUErQztBQUMvQyx1REFBNEc7QUFFNUcseUNBQXNDO0FBRXpCLFFBQUEsY0FBYyxHQUFtQjtJQUM1QyxJQUFJLEVBQUUsTUFBTTtJQUNaLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxFQUFFO0lBQ2QsY0FBYyxFQUFFLDRCQUE0QjtJQUM1QyxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIseUJBQXlCLEVBQUUsTUFBTTtJQUNqQyxzQkFBc0IsRUFBRSxHQUFHO0lBQzNCLFFBQVEsRUFBRSxvQkFBUSxDQUFDLElBQUk7SUFDdkIsY0FBYyxFQUFFLDBCQUFjLENBQUMsTUFBTTtJQUNyQyxtQ0FBbUMsRUFBRSxFQUFFO0lBQ3ZDLG1DQUFtQyxFQUFFLEVBQUU7SUFDdkMseUNBQXlDLEVBQUUsRUFBRTtJQUM3QyxvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLDBCQUEwQixFQUFFLElBQUk7SUFDaEMsZ0JBQWdCLEVBQUUsS0FBSztJQUN2Qix1QkFBdUIsRUFBRSxFQUFFO0lBQzNCLHNCQUFzQixFQUFFLEtBQUs7SUFDN0IsOEJBQThCLEVBQUUsRUFBRTtJQUNsQyx1QkFBdUIsRUFBRSxFQUFFO0lBQzNCLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsMEJBQTBCLEVBQUUsR0FBRztJQUMvQixxQkFBcUIsRUFBRSw2QkFBNkI7SUFDcEQseUJBQXlCLEVBQUUsNkJBQWlCLENBQUMsU0FBUztJQUN0RCxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSx1QkFBdUI7SUFDekUsVUFBVSxFQUFFLEtBQUs7SUFDakIs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
|
|
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.mockES = void 0;
|
|
7
7
|
const path_1 = require("path");
|
|
8
8
|
const elasticsearch_mock_1 = __importDefault(require("@elastic/elasticsearch-mock"));
|
|
9
|
+
const database_1 = require("./database");
|
|
9
10
|
exports.mockES = new elasticsearch_mock_1.default();
|
|
10
11
|
exports.default = (appInfo) => {
|
|
11
12
|
const config = {};
|
|
12
13
|
config.dataDir = (0, path_1.join)(appInfo.root, '.cnpmcore_unittest');
|
|
13
14
|
config.orm = {
|
|
14
|
-
database:
|
|
15
|
+
database: database_1.database.name ?? 'cnpmcore_unittest',
|
|
15
16
|
};
|
|
16
17
|
config.nfs = {
|
|
17
18
|
dir: (0, path_1.join)(config.dataDir, 'nfs'),
|
|
@@ -27,4 +28,4 @@ exports.default = (appInfo) => {
|
|
|
27
28
|
};
|
|
28
29
|
return config;
|
|
29
30
|
};
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29uZmlnL2NvbmZpZy51bml0dGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBNEI7QUFFNUIscUZBQStDO0FBQy9DLHlDQUFzQztBQUV6QixRQUFBLE1BQU0sR0FBRyxJQUFJLDRCQUFJLEVBQUUsQ0FBQztBQUVqQyxrQkFBZSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUN2QyxNQUFNLE1BQU0sR0FBRyxFQUFnQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBQSxXQUFJLEVBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBRTFELE1BQU0sQ0FBQyxHQUFHLEdBQUc7UUFDWCxRQUFRLEVBQUUsbUJBQVEsQ0FBQyxJQUFJLElBQUksbUJBQW1CO0tBQy9DLENBQUM7SUFFRixNQUFNLENBQUMsR0FBRyxHQUFHO1FBQ1gsR0FBRyxFQUFFLElBQUEsV0FBSSxFQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0tBQ2pDLENBQUM7SUFFRixNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDBCQUEwQixFQUFFLEVBQUU7S0FDL0IsQ0FBQztJQUVGLE1BQU0sQ0FBQyxhQUFhLEdBQUc7UUFDckIsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixVQUFVLEVBQUUsY0FBTSxDQUFDLGFBQWEsRUFBRTtTQUNuQztLQUNGLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum DATABASE_TYPE {
|
|
2
|
+
MySQL = "MySQL",
|
|
3
|
+
PostgreSQL = "PostgreSQL",
|
|
4
|
+
SQLite = "SQLite"
|
|
5
|
+
}
|
|
6
|
+
export declare const database: {
|
|
7
|
+
type: string;
|
|
8
|
+
dialect: string;
|
|
9
|
+
client: string;
|
|
10
|
+
name: string | undefined;
|
|
11
|
+
host: string | undefined;
|
|
12
|
+
port: string | undefined;
|
|
13
|
+
user: string | undefined;
|
|
14
|
+
password: string | undefined;
|
|
15
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.database = exports.DATABASE_TYPE = void 0;
|
|
4
|
+
var DATABASE_TYPE;
|
|
5
|
+
(function (DATABASE_TYPE) {
|
|
6
|
+
DATABASE_TYPE["MySQL"] = "MySQL";
|
|
7
|
+
DATABASE_TYPE["PostgreSQL"] = "PostgreSQL";
|
|
8
|
+
DATABASE_TYPE["SQLite"] = "SQLite";
|
|
9
|
+
})(DATABASE_TYPE || (exports.DATABASE_TYPE = DATABASE_TYPE = {}));
|
|
10
|
+
const dbType = process.env.CNPMCORE_DATABASE_TYPE ?? DATABASE_TYPE.MySQL;
|
|
11
|
+
let dbName = process.env.CNPMCORE_DATABASE_NAME;
|
|
12
|
+
let dbHost = process.env.CNPMCORE_DATABASE_HOST;
|
|
13
|
+
let dbPort = process.env.CNPMCORE_DATABASE_PORT;
|
|
14
|
+
let dbUser = process.env.CNPMCORE_DATABASE_USER;
|
|
15
|
+
let dbPassword = process.env.CNPMCORE_DATABASE_PASSWORD;
|
|
16
|
+
let dialect = 'mysql';
|
|
17
|
+
let dbClient = 'mysql2';
|
|
18
|
+
if (dbType === DATABASE_TYPE.MySQL) {
|
|
19
|
+
// Compatible mysql configurations
|
|
20
|
+
dbName = dbName ?? process.env.CNPMCORE_MYSQL_DATABASE ?? process.env.MYSQL_DATABASE;
|
|
21
|
+
dbHost = dbHost ?? process.env.CNPMCORE_MYSQL_HOST ?? process.env.MYSQL_HOST ?? '127.0.0.1';
|
|
22
|
+
dbPort = dbPort ?? process.env.CNPMCORE_MYSQL_PORT ?? process.env.MYSQL_PORT ?? '3306';
|
|
23
|
+
dbUser = dbUser ?? process.env.CNPMCORE_MYSQL_USER ?? process.env.MYSQL_USER ?? 'root';
|
|
24
|
+
dbPassword = dbPassword ?? process.env.CNPMCORE_MYSQL_PASSWORD ?? process.env.MYSQL_PASSWORD;
|
|
25
|
+
}
|
|
26
|
+
else if (dbType === DATABASE_TYPE.PostgreSQL) {
|
|
27
|
+
dbClient = 'pg';
|
|
28
|
+
dialect = 'postgres';
|
|
29
|
+
dbHost = dbHost ?? process.env.CNPMCORE_POSTGRES_HOST ?? process.env.POSTGRES_HOST;
|
|
30
|
+
dbPort = dbPort ?? process.env.CNPMCORE_POSTGRES_PORT ?? process.env.POSTGRES_PORT ?? '5432';
|
|
31
|
+
dbUser = dbUser ?? process.env.CNPMCORE_POSTGRES_USER ?? process.env.POSTGRES_USER;
|
|
32
|
+
dbPassword = dbPassword ?? process.env.CNPMCORE_POSTGRES_PASSWORD ?? process.env.POSTGRES_PASSWORD;
|
|
33
|
+
}
|
|
34
|
+
else if (dbType === DATABASE_TYPE.SQLite) {
|
|
35
|
+
// TODO
|
|
36
|
+
dbClient = 'sqlite';
|
|
37
|
+
dialect = 'sqlite';
|
|
38
|
+
}
|
|
39
|
+
exports.database = {
|
|
40
|
+
type: dbType,
|
|
41
|
+
dialect,
|
|
42
|
+
client: dbClient,
|
|
43
|
+
name: dbName,
|
|
44
|
+
host: dbHost,
|
|
45
|
+
port: dbPort,
|
|
46
|
+
user: dbUser,
|
|
47
|
+
password: dbPassword,
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb25maWcvZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLGdDQUFlLENBQUE7SUFDZiwwQ0FBeUIsQ0FBQTtJQUN6QixrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsYUFBYSw2QkFBYixhQUFhLFFBSXhCO0FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDO0FBQ3pFLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUM7QUFDaEQsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztBQUNoRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDO0FBQ2hELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUM7QUFDaEQsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQztBQUN4RCxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDdEIsSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDO0FBQ3hCLElBQUksTUFBTSxLQUFLLGFBQWEsQ0FBQyxLQUFLLEVBQUU7SUFDbEMsa0NBQWtDO0lBQ2xDLE1BQU0sR0FBRyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztJQUNyRixNQUFNLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDO0lBQzVGLE1BQU0sR0FBRyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUM7SUFDdkYsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztJQUN2RixVQUFVLEdBQUcsVUFBVSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7Q0FDOUY7S0FBTSxJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFO0lBQzlDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUNyQixNQUFNLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbkYsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLE1BQU0sQ0FBQztJQUM3RixNQUFNLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbkYsVUFBVSxHQUFHLFVBQVUsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7Q0FDcEc7S0FBTSxJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO0lBQzFDLE9BQU87SUFDUCxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3BCLE9BQU8sR0FBRyxRQUFRLENBQUM7Q0FDcEI7QUFFWSxRQUFBLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU87SUFDUCxNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxVQUFVO0NBQ3JCLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnpmcore",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.71.0",
|
|
4
|
+
"description": "Private NPM Registry for Enterprise",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*"
|
|
7
7
|
],
|
|
@@ -35,18 +35,24 @@
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
|
-
"contributor": "git-contributor",
|
|
39
38
|
"dev": "egg-bin dev",
|
|
39
|
+
"dev:postgresql": "CNPMCORE_DATABASE_TYPE=PostgreSQL egg-bin dev",
|
|
40
40
|
"lint": "eslint --cache --ext .ts .",
|
|
41
41
|
"lint:fix": "eslint --cache --ext .ts --fix .",
|
|
42
|
-
"test": "npm run lint:fix && npm run test
|
|
43
|
-
"pretest
|
|
44
|
-
"test
|
|
45
|
-
"
|
|
42
|
+
"test:postgresql": "npm run lint:fix && npm run test:local:postgresql",
|
|
43
|
+
"pretest:local:postgresql": "bash prepare-database-postgresql.sh",
|
|
44
|
+
"test:local:postgresql": "CNPMCORE_DATABASE_TYPE=PostgreSQL egg-bin test",
|
|
45
|
+
"test": "npm run lint:fix && npm run test:local",
|
|
46
|
+
"pretest:local": "bash prepare-database-mysql.sh",
|
|
47
|
+
"test:local": "egg-bin test",
|
|
48
|
+
"pret": "bash prepare-database-mysql.sh",
|
|
46
49
|
"t": "npm run lint:fix && egg-bin test --changed",
|
|
47
|
-
"precov": "bash
|
|
50
|
+
"precov": "bash prepare-database-mysql.sh",
|
|
48
51
|
"cov": "egg-bin cov",
|
|
52
|
+
"precov:postgresql": "bash prepare-database-postgresql.sh",
|
|
53
|
+
"cov:postgresql": "CNPMCORE_DATABASE_TYPE=PostgreSQL egg-bin cov",
|
|
49
54
|
"ci": "npm run lint && npm run cov && npm run tsc:prod",
|
|
55
|
+
"ci:postgresql": "npm run lint && npm run cov:postgresql && npm run tsc:prod",
|
|
50
56
|
"clean": "tsc -b --clean && rm -rf dist",
|
|
51
57
|
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
52
58
|
"tsc:prod": "npm run clean && tsc -p ./tsconfig.prod.json",
|
|
@@ -87,7 +93,7 @@
|
|
|
87
93
|
"base64url": "^3.0.1",
|
|
88
94
|
"bson-objectid": "^2.0.1",
|
|
89
95
|
"dayjs": "^1.10.7",
|
|
90
|
-
"egg": "^3.
|
|
96
|
+
"egg": "^3.29.0",
|
|
91
97
|
"egg-cors": "^3.0.0",
|
|
92
98
|
"egg-errors": "^2.3.0",
|
|
93
99
|
"egg-redis": "^2.4.0",
|
|
@@ -107,6 +113,7 @@
|
|
|
107
113
|
"npm-package-arg": "^10.1.0",
|
|
108
114
|
"oss-cnpm": "^5.0.1",
|
|
109
115
|
"p-map": "^4.0.0",
|
|
116
|
+
"pg": "^8.13.1",
|
|
110
117
|
"s3-cnpmcore": "^1.1.2",
|
|
111
118
|
"semver": "^7.3.5",
|
|
112
119
|
"ssri": "^8.0.1",
|
|
@@ -127,6 +134,7 @@
|
|
|
127
134
|
"@types/mysql": "^2.15.21",
|
|
128
135
|
"@types/node-rsa": "^1.1.4",
|
|
129
136
|
"@types/npm-package-arg": "^6.1.1",
|
|
137
|
+
"@types/pg": "^8.11.10",
|
|
130
138
|
"@types/semver": "^7.3.12",
|
|
131
139
|
"@types/tar": "^6.1.4",
|
|
132
140
|
"@types/ua-parser-js": "^0.7.36",
|
|
@@ -136,7 +144,6 @@
|
|
|
136
144
|
"egg-mock": "^5.10.4",
|
|
137
145
|
"eslint": "^8.29.0",
|
|
138
146
|
"eslint-config-egg": "^13.0.0",
|
|
139
|
-
"git-contributor": "2",
|
|
140
147
|
"typescript": "5.2.2"
|
|
141
148
|
},
|
|
142
149
|
"author": "killagu",
|