cnpmcore 1.6.0 → 1.8.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/History.md +18 -0
- package/dist/app/port/controller/package/ShowPackageController.js +2 -2
- package/dist/app/repository/BinaryRepository.d.ts +1 -0
- package/dist/app/repository/BinaryRepository.js +11 -9
- package/dist/app/repository/ChangeRepository.d.ts +2 -1
- package/dist/app/repository/ChangeRepository.js +7 -5
- package/dist/app/repository/PackageRepository.d.ts +8 -1
- package/dist/app/repository/PackageRepository.js +86 -72
- package/dist/app/repository/PackageVersionBlockRepository.d.ts +2 -1
- package/dist/app/repository/PackageVersionBlockRepository.js +11 -9
- package/dist/app/repository/PackageVersionDownloadRepository.d.ts +2 -1
- package/dist/app/repository/PackageVersionDownloadRepository.js +10 -8
- package/dist/app/repository/TaskRepository.d.ts +2 -0
- package/dist/app/repository/TaskRepository.js +21 -17
- package/dist/app/repository/UserRepository.d.ts +2 -0
- package/dist/app/repository/UserRepository.js +22 -18
- package/dist/app/repository/util/ModelConvertor.js +4 -4
- package/dist/app/repository/util/ModelConvertorUtil.js +2 -2
- package/package.json +9 -9
package/History.md
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
|
|
2
|
+
1.8.0 / 2022-07-21
|
|
3
|
+
==================
|
|
4
|
+
|
|
5
|
+
**features**
|
|
6
|
+
* [[`b49a38c`](http://github.com/cnpm/cnpmcore/commit/b49a38c77e044c978e6de32a9d3e257cc90ea7c1)] - feat: use Model with inject (#269) (killa <<killa123@126.com>>)
|
|
7
|
+
|
|
8
|
+
1.7.1 / 2022-07-20
|
|
9
|
+
==================
|
|
10
|
+
|
|
11
|
+
**fixes**
|
|
12
|
+
* [[`52fca55`](http://github.com/cnpm/cnpmcore/commit/52fca55aa883865f0ae70bfc1ff274c313b8f76a)] - fix: show package not use cache if isSync (#268) (killa <<killa123@126.com>>)
|
|
13
|
+
|
|
14
|
+
1.7.0 / 2022-07-12
|
|
15
|
+
==================
|
|
16
|
+
|
|
17
|
+
**others**
|
|
18
|
+
* [[`4f7ce8b`](http://github.com/cnpm/cnpmcore/commit/4f7ce8b4b2a5806a225ce67228388e14388b7059)] - deps: upgrade leoric to 2.x (#262) (killa <<killa123@126.com>>)
|
|
19
|
+
|
|
2
20
|
1.6.0 / 2022-07-11
|
|
3
21
|
==================
|
|
4
22
|
|
|
@@ -22,7 +22,7 @@ let ShowPackageController = class ShowPackageController extends AbstractControll
|
|
|
22
22
|
const isFullManifests = ctx.accepts(['json', abbreviatedMetaType]) !== abbreviatedMetaType;
|
|
23
23
|
// handle cache
|
|
24
24
|
const cacheEtag = await this.cacheService.getPackageEtag(fullname, isFullManifests);
|
|
25
|
-
if (cacheEtag) {
|
|
25
|
+
if (!isSync && cacheEtag) {
|
|
26
26
|
let requestEtag = ctx.request.get('if-none-match');
|
|
27
27
|
if (requestEtag.startsWith('W/')) {
|
|
28
28
|
requestEtag = requestEtag.substring(2);
|
|
@@ -96,4 +96,4 @@ ShowPackageController = __decorate([
|
|
|
96
96
|
(0, tegg_1.HTTPController)()
|
|
97
97
|
], ShowPackageController);
|
|
98
98
|
exports.ShowPackageController = ShowPackageController;
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1BhY2thZ2VDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9wYWNrYWdlL1Nob3dQYWNrYWdlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FRcUI7QUFDckIsOERBQTJEO0FBQzNELDZEQUFtRjtBQUNuRix1REFBK0Q7QUFLL0QsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBc0IsU0FBUSx1Q0FBa0I7SUFZM0QsS0FBSyxDQUFDLElBQUksQ0FBWSxHQUFlLEVBQWUsUUFBZ0I7UUFDbEUsTUFBTSxDQUFFLEtBQUssRUFBRSxJQUFJLENBQUUsR0FBRyxJQUFBLDZCQUFlLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBQSw4QkFBbUIsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLG1CQUFtQixHQUFHLHFDQUFxQyxDQUFDO1FBQ2xFLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBRSxNQUFNLEVBQUUsbUJBQW1CLENBQUUsQ0FBQyxLQUFLLG1CQUFtQixDQUFDO1FBQzdGLGVBQWU7UUFDZixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRTtZQUN4QixJQUFJLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuRCxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hDLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFO2dCQUM3QixzQ0FBc0M7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLDZCQUE2QjtnQkFDN0IsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7Z0JBQ2pCLE9BQU87YUFDUjtZQUNELHFCQUFxQjtZQUNyQixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzFGLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2dCQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixPQUFPLFVBQVUsQ0FBQzthQUNuQjtTQUNGO1FBRUQsb0JBQW9CO1FBQ3BCLElBQUksTUFBd0QsQ0FBQztRQUM3RCxJQUFJLGVBQWUsRUFBRTtZQUNuQixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN6RjthQUFNO1lBQ0wsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLCtCQUErQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDaEc7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDM0MsZUFBZTtRQUNmLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxpRkFBaUY7WUFDakYsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLFdBQVcsRUFBRTtZQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDckQscUNBQXFDO1FBQ3JDLGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ2xHO1FBRUQsV0FBVztRQUNYLDhEQUE4RDtRQUM5RCw2Q0FBNkM7UUFDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGLENBQUE7QUF4RUM7SUFEQyxJQUFBLGFBQU0sR0FBRTtvRUFDNEM7QUFFckQ7SUFEQyxJQUFBLGFBQU0sR0FBRTsyREFDMEI7QUFRbkM7SUFOQyxJQUFBLGlCQUFVLEVBQUM7UUFDVixpQkFBaUI7UUFDakIsMEVBQTBFO1FBQzFFLElBQUksRUFBRSxjQUFjLGlDQUFtQixHQUFHO1FBQzFDLE1BQU0sRUFBRSxxQkFBYyxDQUFDLEdBQUc7S0FDM0IsQ0FBQztJQUNVLFdBQUEsSUFBQSxjQUFPLEdBQUUsQ0FBQTtJQUFtQixXQUFBLElBQUEsZ0JBQVMsR0FBRSxDQUFBO2lEQTZEbEQ7QUF6RVUscUJBQXFCO0lBRGpDLElBQUEscUJBQWMsR0FBRTtHQUNKLHFCQUFxQixDQTBFakM7QUExRVksc0RBQXFCIn0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Binary as BinaryEntity } from '../core/entity/Binary';
|
|
2
2
|
import { AbstractRepository } from './AbstractRepository';
|
|
3
3
|
export declare class BinaryRepository extends AbstractRepository {
|
|
4
|
+
private readonly Binary;
|
|
4
5
|
saveBinary(binary: BinaryEntity): Promise<void>;
|
|
5
6
|
findBinary(category: string, parent: string, name: string): Promise<BinaryEntity | null>;
|
|
6
7
|
listBinaries(category: string, parent: string): Promise<BinaryEntity[]>;
|
|
@@ -9,37 +9,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.BinaryRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
11
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
12
|
-
const Binary_1 = require("
|
|
13
|
-
const Binary_2 = require("../core/entity/Binary");
|
|
12
|
+
const Binary_1 = require("../core/entity/Binary");
|
|
14
13
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
15
14
|
let BinaryRepository = class BinaryRepository extends AbstractRepository_1.AbstractRepository {
|
|
16
15
|
async saveBinary(binary) {
|
|
17
16
|
if (binary.id) {
|
|
18
|
-
const model = await
|
|
17
|
+
const model = await this.Binary.findOne({ id: binary.id });
|
|
19
18
|
if (!model)
|
|
20
19
|
return;
|
|
21
20
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(binary, model);
|
|
22
21
|
}
|
|
23
22
|
else {
|
|
24
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(binary,
|
|
23
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(binary, this.Binary);
|
|
25
24
|
this.logger.info('[BinaryRepository:saveBinary:new] id: %s, binaryId: %s', model.id, model.binaryId);
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
async findBinary(category, parent, name) {
|
|
29
|
-
const model = await
|
|
28
|
+
const model = await this.Binary.findOne({ category, parent, name });
|
|
30
29
|
if (model)
|
|
31
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
30
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Binary_1.Binary);
|
|
32
31
|
return null;
|
|
33
32
|
}
|
|
34
33
|
async listBinaries(category, parent) {
|
|
35
|
-
const models = await
|
|
36
|
-
return models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
34
|
+
const models = await this.Binary.find({ category, parent });
|
|
35
|
+
return models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Binary_1.Binary));
|
|
37
36
|
}
|
|
38
37
|
};
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, tegg_1.Inject)()
|
|
40
|
+
], BinaryRepository.prototype, "Binary", void 0);
|
|
39
41
|
BinaryRepository = __decorate([
|
|
40
42
|
(0, tegg_1.ContextProto)({
|
|
41
43
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
42
44
|
})
|
|
43
45
|
], BinaryRepository);
|
|
44
46
|
exports.BinaryRepository = BinaryRepository;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmluYXJ5UmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9yZXBvc2l0b3J5L0JpbmFyeVJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsc0NBQWdFO0FBQ2hFLDBEQUF1RDtBQUV2RCxrREFBK0Q7QUFDL0QsNkRBQTBEO0FBSzFELElBQWEsZ0JBQWdCLEdBQTdCLE1BQWEsZ0JBQWlCLFNBQVEsdUNBQWtCO0lBSXRELEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBb0I7UUFDbkMsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPO1lBQ25CLE1BQU0sK0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLE1BQU0sS0FBSyxHQUFHLE1BQU0sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdEQUF3RCxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsSUFBWTtRQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksS0FBSztZQUFFLE9BQU8sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsZUFBWSxDQUFDLENBQUM7UUFDM0UsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDakQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLGVBQVksQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUNGLENBQUE7QUF2QkM7SUFEQyxJQUFBLGFBQU0sR0FBRTtnREFDbUM7QUFGakMsZ0JBQWdCO0lBSDVCLElBQUEsbUJBQVksRUFBQztRQUNaLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLGdCQUFnQixDQXlCNUI7QUF6QlksNENBQWdCIn0=
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Change as ChangeModel } from './model/Change';
|
|
1
|
+
import type { Change as ChangeModel } from './model/Change';
|
|
2
2
|
import { Change as ChangeEntity } from '../core/entity/Change';
|
|
3
3
|
import { AbstractRepository } from './AbstractRepository';
|
|
4
4
|
export declare class ChangeRepository extends AbstractRepository {
|
|
5
|
+
private readonly Change;
|
|
5
6
|
addChange(change: ChangeEntity): Promise<void>;
|
|
6
7
|
query(since: number, limit: number): Promise<Array<ChangeEntity>>;
|
|
7
8
|
getLastChange(): Promise<ChangeModel | null>;
|
|
@@ -9,24 +9,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.ChangeRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
11
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
12
|
-
const Change_1 = require("./model/Change");
|
|
13
12
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
14
13
|
let ChangeRepository = class ChangeRepository extends AbstractRepository_1.AbstractRepository {
|
|
15
14
|
async addChange(change) {
|
|
16
|
-
await ModelConvertor_1.ModelConvertor.convertEntityToModel(change,
|
|
15
|
+
await ModelConvertor_1.ModelConvertor.convertEntityToModel(change, this.Change);
|
|
17
16
|
}
|
|
18
17
|
async query(since, limit) {
|
|
19
|
-
const models = await
|
|
18
|
+
const models = await this.Change.find({ id: { $gte: since } }).order('id', 'asc').limit(limit);
|
|
20
19
|
return models.toObject();
|
|
21
20
|
}
|
|
22
21
|
async getLastChange() {
|
|
23
|
-
return await
|
|
22
|
+
return await this.Change.findOne().order('id', 'desc').limit(1);
|
|
24
23
|
}
|
|
25
24
|
};
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, tegg_1.Inject)()
|
|
27
|
+
], ChangeRepository.prototype, "Change", void 0);
|
|
26
28
|
ChangeRepository = __decorate([
|
|
27
29
|
(0, tegg_1.ContextProto)({
|
|
28
30
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
29
31
|
})
|
|
30
32
|
], ChangeRepository);
|
|
31
33
|
exports.ChangeRepository = ChangeRepository;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbmdlUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9yZXBvc2l0b3J5L0NoYW5nZVJlcG9zaXRvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsc0NBQWdFO0FBQ2hFLDBEQUF1RDtBQUd2RCw2REFBMEQ7QUFLMUQsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBaUIsU0FBUSx1Q0FBa0I7SUFJdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFvQjtRQUNsQyxNQUFNLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRixPQUFPLE1BQU0sQ0FBQyxRQUFRLEVBQW9CLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRixDQUFBO0FBZEM7SUFEQyxJQUFBLGFBQU0sR0FBRTtnREFDbUM7QUFGakMsZ0JBQWdCO0lBSDVCLElBQUEsbUJBQVksRUFBQztRQUNaLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLGdCQUFnQixDQWdCNUI7QUFoQlksNENBQWdCIn0=
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { Package as PackageEntity } from '../core/entity/Package';
|
|
2
2
|
import { PackageVersion as PackageVersionEntity } from '../core/entity/PackageVersion';
|
|
3
3
|
import { PackageVersionManifest as PackageVersionManifestEntity } from '../core/entity/PackageVersionManifest';
|
|
4
|
-
import { PackageVersionManifest as PackageVersionManifestModel } from './model/PackageVersionManifest';
|
|
4
|
+
import type { PackageVersionManifest as PackageVersionManifestModel } from './model/PackageVersionManifest';
|
|
5
5
|
import { PackageTag as PackageTagEntity } from '../core/entity/PackageTag';
|
|
6
6
|
import { User as UserEntity } from '../core/entity/User';
|
|
7
7
|
import { AbstractRepository } from './AbstractRepository';
|
|
8
8
|
export declare class PackageRepository extends AbstractRepository {
|
|
9
|
+
private readonly Package;
|
|
10
|
+
private readonly Dist;
|
|
11
|
+
private readonly PackageVersion;
|
|
12
|
+
private readonly PackageVersionManifest;
|
|
13
|
+
private readonly PackageTag;
|
|
14
|
+
private readonly Maintainer;
|
|
15
|
+
private readonly User;
|
|
9
16
|
findPackage(scope: string, name: string): Promise<PackageEntity | null>;
|
|
10
17
|
findPackageId(scope: string, name: string): Promise<string | null>;
|
|
11
18
|
savePackage(pkgEntity: PackageEntity): Promise<void>;
|
|
@@ -8,49 +8,42 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.PackageRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
|
-
const Package_1 = require("
|
|
12
|
-
const Package_2 = require("../core/entity/Package");
|
|
11
|
+
const Package_1 = require("../core/entity/Package");
|
|
13
12
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
14
13
|
const PackageVersion_1 = require("../core/entity/PackageVersion");
|
|
15
|
-
const
|
|
16
|
-
const PackageVersionManifest_1 = require("./model/PackageVersionManifest");
|
|
17
|
-
const Dist_1 = require("./model/Dist");
|
|
18
|
-
const Dist_2 = require("../core/entity/Dist");
|
|
14
|
+
const Dist_1 = require("../core/entity/Dist");
|
|
19
15
|
const PackageTag_1 = require("../core/entity/PackageTag");
|
|
20
|
-
const
|
|
21
|
-
const Maintainer_1 = require("./model/Maintainer");
|
|
22
|
-
const User_1 = require("./model/User");
|
|
23
|
-
const User_2 = require("../core/entity/User");
|
|
16
|
+
const User_1 = require("../core/entity/User");
|
|
24
17
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
25
18
|
let PackageRepository = class PackageRepository extends AbstractRepository_1.AbstractRepository {
|
|
26
19
|
async findPackage(scope, name) {
|
|
27
|
-
const model = await
|
|
20
|
+
const model = await this.Package.findOne({ scope, name });
|
|
28
21
|
if (!model)
|
|
29
22
|
return null;
|
|
30
|
-
const manifestsDistModel = model.manifestsDistId ? await
|
|
31
|
-
const abbreviatedsDistModel = model.abbreviatedsDistId ? await
|
|
23
|
+
const manifestsDistModel = model.manifestsDistId ? await this.Dist.findOne({ distId: model.manifestsDistId }) : null;
|
|
24
|
+
const abbreviatedsDistModel = model.abbreviatedsDistId ? await this.Dist.findOne({ distId: model.abbreviatedsDistId }) : null;
|
|
32
25
|
const data = {
|
|
33
|
-
manifestsDist: manifestsDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(manifestsDistModel,
|
|
34
|
-
abbreviatedsDist: abbreviatedsDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(abbreviatedsDistModel,
|
|
26
|
+
manifestsDist: manifestsDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(manifestsDistModel, Dist_1.Dist),
|
|
27
|
+
abbreviatedsDist: abbreviatedsDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(abbreviatedsDistModel, Dist_1.Dist),
|
|
35
28
|
};
|
|
36
|
-
const entity = ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
29
|
+
const entity = ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Package_1.Package, data);
|
|
37
30
|
return entity;
|
|
38
31
|
}
|
|
39
32
|
async findPackageId(scope, name) {
|
|
40
|
-
const model = await
|
|
33
|
+
const model = await this.Package.findOne({ scope, name }).select('packageId');
|
|
41
34
|
if (!model)
|
|
42
35
|
return null;
|
|
43
36
|
return model.packageId;
|
|
44
37
|
}
|
|
45
38
|
async savePackage(pkgEntity) {
|
|
46
39
|
if (pkgEntity.id) {
|
|
47
|
-
const model = await
|
|
40
|
+
const model = await this.Package.findOne({ id: pkgEntity.id });
|
|
48
41
|
if (!model)
|
|
49
42
|
return;
|
|
50
43
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(pkgEntity, model);
|
|
51
44
|
}
|
|
52
45
|
else {
|
|
53
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgEntity,
|
|
46
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgEntity, this.Package);
|
|
54
47
|
this.logger.info('[PackageRepository:savePackage:new] id: %s, packageId: %s', model.id, model.packageId);
|
|
55
48
|
}
|
|
56
49
|
}
|
|
@@ -59,13 +52,13 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
59
52
|
if (!dist)
|
|
60
53
|
return;
|
|
61
54
|
if (dist.id) {
|
|
62
|
-
const model = await
|
|
55
|
+
const model = await this.Dist.findOne({ id: dist.id });
|
|
63
56
|
if (!model)
|
|
64
57
|
return;
|
|
65
58
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(dist, model);
|
|
66
59
|
}
|
|
67
60
|
else {
|
|
68
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(dist,
|
|
61
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(dist, this.Dist);
|
|
69
62
|
this.logger.info('[PackageRepository:savePackageDist:new] id: %s, distId: %s, packageId: %s', model.id, model.distId, pkgEntity.packageId);
|
|
70
63
|
}
|
|
71
64
|
await this.savePackage(pkgEntity);
|
|
@@ -74,7 +67,7 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
74
67
|
const dist = isFullManifests ? pkgEntity.manifestsDist : pkgEntity.abbreviatedsDist;
|
|
75
68
|
if (!dist)
|
|
76
69
|
return;
|
|
77
|
-
const model = await
|
|
70
|
+
const model = await this.Dist.findOne({ id: dist.id });
|
|
78
71
|
if (!model)
|
|
79
72
|
return;
|
|
80
73
|
await model.remove();
|
|
@@ -85,34 +78,34 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
85
78
|
// Package Maintainers
|
|
86
79
|
// return true meaning create new record
|
|
87
80
|
async savePackageMaintainer(packageId, userId) {
|
|
88
|
-
let model = await
|
|
81
|
+
let model = await this.Maintainer.findOne({ packageId, userId });
|
|
89
82
|
if (!model) {
|
|
90
|
-
model = await
|
|
83
|
+
model = await this.Maintainer.create({ packageId, userId });
|
|
91
84
|
this.logger.info('[PackageRepository:addPackageMaintainer:new] id: %s, packageId: %s, userId: %s', model.id, model.packageId, model.userId);
|
|
92
85
|
return true;
|
|
93
86
|
}
|
|
94
87
|
}
|
|
95
88
|
async listPackageMaintainers(packageId) {
|
|
96
|
-
const models = await
|
|
97
|
-
const userModels = await
|
|
98
|
-
return userModels.map(user => ModelConvertor_1.ModelConvertor.convertModelToEntity(user,
|
|
89
|
+
const models = await this.Maintainer.find({ packageId });
|
|
90
|
+
const userModels = await this.User.find({ userId: models.map(m => m.userId) });
|
|
91
|
+
return userModels.map(user => ModelConvertor_1.ModelConvertor.convertModelToEntity(user, User_1.User));
|
|
99
92
|
}
|
|
100
93
|
async replacePackageMaintainers(packageId, userIds) {
|
|
101
|
-
await
|
|
94
|
+
await this.Maintainer.transaction(async ({ connection }) => {
|
|
102
95
|
// delete exists
|
|
103
|
-
// const removeCount = await
|
|
104
|
-
const removeCount = await
|
|
96
|
+
// const removeCount = await this.Maintainer.remove({ packageId }, true, { transaction });
|
|
97
|
+
const removeCount = await this.Maintainer.remove({ packageId }, true, { connection });
|
|
105
98
|
this.logger.info('[PackageRepository:replacePackageMaintainers:remove] %d rows, packageId: %s', removeCount, packageId);
|
|
106
99
|
// add news
|
|
107
100
|
for (const userId of userIds) {
|
|
108
|
-
// const model = await
|
|
109
|
-
const model = await
|
|
101
|
+
// const model = await this.Maintainer.create({ packageId, userId }, transaction);
|
|
102
|
+
const model = await this.Maintainer.create({ packageId, userId }, { connection });
|
|
110
103
|
this.logger.info('[PackageRepository:replacePackageMaintainers:new] id: %s, packageId: %s, userId: %s', model.id, model.packageId, model.userId);
|
|
111
104
|
}
|
|
112
105
|
});
|
|
113
106
|
}
|
|
114
107
|
async removePackageMaintainer(packageId, userId) {
|
|
115
|
-
const model = await
|
|
108
|
+
const model = await this.Maintainer.findOne({ packageId, userId });
|
|
116
109
|
if (model) {
|
|
117
110
|
await model.remove();
|
|
118
111
|
this.logger.info('[PackageRepository:removePackageMaintainer:remove] id: %s, packageId: %s, userId: %s', model.id, model.packageId, model.userId);
|
|
@@ -122,48 +115,48 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
122
115
|
}
|
|
123
116
|
// TODO: support paging
|
|
124
117
|
async listPackagesByUserId(userId) {
|
|
125
|
-
const models = await
|
|
126
|
-
const packageModels = await
|
|
127
|
-
return packageModels.map(pkg => ModelConvertor_1.ModelConvertor.convertModelToEntity(pkg,
|
|
118
|
+
const models = await this.Maintainer.find({ userId });
|
|
119
|
+
const packageModels = await this.Package.find({ packageId: models.map(m => m.packageId) });
|
|
120
|
+
return packageModels.map(pkg => ModelConvertor_1.ModelConvertor.convertModelToEntity(pkg, Package_1.Package));
|
|
128
121
|
}
|
|
129
122
|
async createPackageVersion(pkgVersionEntity) {
|
|
130
|
-
await
|
|
123
|
+
await this.PackageVersion.transaction(async (transaction) => {
|
|
131
124
|
await Promise.all([
|
|
132
125
|
// FIXME: transaction is not the options
|
|
133
|
-
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity,
|
|
134
|
-
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.manifestDist,
|
|
135
|
-
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.tarDist,
|
|
136
|
-
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.readmeDist,
|
|
137
|
-
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.abbreviatedDist,
|
|
126
|
+
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity, this.PackageVersion, transaction),
|
|
127
|
+
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.manifestDist, this.Dist, transaction),
|
|
128
|
+
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.tarDist, this.Dist, transaction),
|
|
129
|
+
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.readmeDist, this.Dist, transaction),
|
|
130
|
+
ModelConvertor_1.ModelConvertor.convertEntityToModel(pkgVersionEntity.abbreviatedDist, this.Dist, transaction),
|
|
138
131
|
]);
|
|
139
132
|
});
|
|
140
133
|
}
|
|
141
134
|
async savePackageVersion(pkgVersionEntity) {
|
|
142
135
|
// only abbreviatedDist and manifestDist allow to change, like `deprecated` message
|
|
143
|
-
let model = await
|
|
136
|
+
let model = await this.Dist.findOne({ id: pkgVersionEntity.manifestDist.id });
|
|
144
137
|
if (model) {
|
|
145
138
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(pkgVersionEntity.manifestDist, model);
|
|
146
139
|
}
|
|
147
|
-
model = await
|
|
140
|
+
model = await this.Dist.findOne({ id: pkgVersionEntity.abbreviatedDist.id });
|
|
148
141
|
if (model) {
|
|
149
142
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(pkgVersionEntity.abbreviatedDist, model);
|
|
150
143
|
}
|
|
151
144
|
if (pkgVersionEntity.id) {
|
|
152
|
-
const model = await
|
|
145
|
+
const model = await this.PackageVersion.findOne({ id: pkgVersionEntity.id });
|
|
153
146
|
if (model) {
|
|
154
147
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(pkgVersionEntity, model);
|
|
155
148
|
}
|
|
156
149
|
}
|
|
157
150
|
}
|
|
158
151
|
async findPackageVersion(packageId, version) {
|
|
159
|
-
const pkgVersionModel = await
|
|
152
|
+
const pkgVersionModel = await this.PackageVersion.findOne({ packageId, version });
|
|
160
153
|
if (!pkgVersionModel)
|
|
161
154
|
return null;
|
|
162
155
|
return await this.fillPackageVersionEntitiyData(pkgVersionModel);
|
|
163
156
|
}
|
|
164
157
|
async listPackageVersions(packageId) {
|
|
165
158
|
// FIXME: read all versions will hit the memory limit
|
|
166
|
-
const models = await
|
|
159
|
+
const models = await this.PackageVersion.find({ packageId }).order('id desc');
|
|
167
160
|
const entities = [];
|
|
168
161
|
for (const model of models) {
|
|
169
162
|
entities.push(await this.fillPackageVersionEntitiyData(model));
|
|
@@ -171,16 +164,16 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
171
164
|
return entities;
|
|
172
165
|
}
|
|
173
166
|
async listPackageVersionNames(packageId) {
|
|
174
|
-
const rows = await
|
|
167
|
+
const rows = await this.PackageVersion.find({ packageId }).select('version').order('id desc');
|
|
175
168
|
return rows.map(row => row.version);
|
|
176
169
|
}
|
|
177
170
|
// only for unittest now
|
|
178
171
|
async removePackageVersions(packageId) {
|
|
179
|
-
const removeCount = await
|
|
172
|
+
const removeCount = await this.PackageVersion.remove({ packageId });
|
|
180
173
|
this.logger.info('[PackageRepository:removePackageVersions:remove] %d rows, packageId: %s', removeCount, packageId);
|
|
181
174
|
}
|
|
182
175
|
async removePackageVersion(pkgVersion) {
|
|
183
|
-
const distRemoveCount = await
|
|
176
|
+
const distRemoveCount = await this.Dist.remove({
|
|
184
177
|
distId: [
|
|
185
178
|
pkgVersion.abbreviatedDist.distId,
|
|
186
179
|
pkgVersion.manifestDist.distId,
|
|
@@ -188,29 +181,29 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
188
181
|
pkgVersion.tarDist.distId,
|
|
189
182
|
],
|
|
190
183
|
});
|
|
191
|
-
const removeCount = await
|
|
184
|
+
const removeCount = await this.PackageVersion.remove({ packageVersionId: pkgVersion.packageVersionId });
|
|
192
185
|
this.logger.info('[PackageRepository:removePackageVersion:remove] %d dist rows, %d rows, packageVersionId: %s', distRemoveCount, removeCount, pkgVersion.packageVersionId);
|
|
193
186
|
}
|
|
194
187
|
async savePackageVersionManifest(manifestEntity) {
|
|
195
|
-
let model = await
|
|
188
|
+
let model = await this.PackageVersionManifest.findOne({ packageVersionId: manifestEntity.packageVersionId });
|
|
196
189
|
if (model) {
|
|
197
190
|
model.manifest = manifestEntity.manifest;
|
|
198
191
|
await model.save();
|
|
199
192
|
}
|
|
200
193
|
else {
|
|
201
|
-
model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(manifestEntity,
|
|
194
|
+
model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(manifestEntity, this.PackageVersionManifest);
|
|
202
195
|
this.logger.info('[PackageRepository:savePackageVersionManifest:new] id: %s, packageVersionId: %s', model.id, model.packageVersionId);
|
|
203
196
|
}
|
|
204
197
|
}
|
|
205
198
|
async findPackageVersionManifest(packageVersionId) {
|
|
206
|
-
const model = await
|
|
199
|
+
const model = await this.PackageVersionManifest.findOne({ packageVersionId });
|
|
207
200
|
if (!model)
|
|
208
201
|
return null;
|
|
209
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
202
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, this.PackageVersionManifest);
|
|
210
203
|
}
|
|
211
204
|
async queryTotal() {
|
|
212
|
-
const lastPkg = await
|
|
213
|
-
const lastVersion = await
|
|
205
|
+
const lastPkg = await this.Package.findOne().order('id', 'desc');
|
|
206
|
+
const lastVersion = await this.PackageVersion.findOne().order('id', 'desc');
|
|
214
207
|
let packageCount = 0;
|
|
215
208
|
let packageVersionCount = 0;
|
|
216
209
|
let lastPackage = '';
|
|
@@ -221,7 +214,7 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
221
214
|
packageCount = Number(lastPkg.id);
|
|
222
215
|
}
|
|
223
216
|
if (lastVersion) {
|
|
224
|
-
const pkg = await
|
|
217
|
+
const pkg = await this.Package.findOne({ packageId: lastVersion.packageId });
|
|
225
218
|
if (pkg) {
|
|
226
219
|
const fullname = pkg.scope ? `${pkg.scope}/${pkg.name}` : pkg.name;
|
|
227
220
|
lastPackageVersion = `${fullname}@${lastVersion.version}`;
|
|
@@ -237,21 +230,21 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
237
230
|
}
|
|
238
231
|
async fillPackageVersionEntitiyData(model) {
|
|
239
232
|
const [tarDistModel, readmeDistModel, manifestDistModel, abbreviatedDistModel,] = await Promise.all([
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
233
|
+
this.Dist.findOne({ distId: model.tarDistId }),
|
|
234
|
+
this.Dist.findOne({ distId: model.readmeDistId }),
|
|
235
|
+
this.Dist.findOne({ distId: model.manifestDistId }),
|
|
236
|
+
this.Dist.findOne({ distId: model.abbreviatedDistId }),
|
|
244
237
|
]);
|
|
245
238
|
const data = {
|
|
246
|
-
tarDist: tarDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(tarDistModel,
|
|
247
|
-
readmeDist: readmeDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(readmeDistModel,
|
|
248
|
-
manifestDist: manifestDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(manifestDistModel,
|
|
249
|
-
abbreviatedDist: abbreviatedDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(abbreviatedDistModel,
|
|
239
|
+
tarDist: tarDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(tarDistModel, Dist_1.Dist),
|
|
240
|
+
readmeDist: readmeDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(readmeDistModel, Dist_1.Dist),
|
|
241
|
+
manifestDist: manifestDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(manifestDistModel, Dist_1.Dist),
|
|
242
|
+
abbreviatedDist: abbreviatedDistModel && ModelConvertor_1.ModelConvertor.convertModelToEntity(abbreviatedDistModel, Dist_1.Dist),
|
|
250
243
|
};
|
|
251
244
|
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, PackageVersion_1.PackageVersion, data);
|
|
252
245
|
}
|
|
253
246
|
async findPackageTag(packageId, tag) {
|
|
254
|
-
const model = await
|
|
247
|
+
const model = await this.PackageTag.findOne({ packageId, tag });
|
|
255
248
|
if (!model)
|
|
256
249
|
return null;
|
|
257
250
|
const entity = ModelConvertor_1.ModelConvertor.convertModelToEntity(model, PackageTag_1.PackageTag);
|
|
@@ -259,25 +252,25 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
259
252
|
}
|
|
260
253
|
async savePackageTag(packageTagEntity) {
|
|
261
254
|
if (packageTagEntity.id) {
|
|
262
|
-
const model = await
|
|
255
|
+
const model = await this.PackageTag.findOne({ id: packageTagEntity.id });
|
|
263
256
|
if (!model)
|
|
264
257
|
return;
|
|
265
258
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(packageTagEntity, model);
|
|
266
259
|
}
|
|
267
260
|
else {
|
|
268
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(packageTagEntity,
|
|
261
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(packageTagEntity, this.PackageTag);
|
|
269
262
|
this.logger.info('[PackageRepository:savePackageTag:new] id: %s, packageTagId: %s, tags: %s => %s', model.id, model.packageTagId, model.tag, model.version);
|
|
270
263
|
}
|
|
271
264
|
}
|
|
272
265
|
async removePackageTag(packageTagEntity) {
|
|
273
|
-
const model = await
|
|
266
|
+
const model = await this.PackageTag.findOne({ id: packageTagEntity.id });
|
|
274
267
|
if (!model)
|
|
275
268
|
return;
|
|
276
269
|
await model.remove();
|
|
277
270
|
this.logger.info('[PackageRepository:removePackageTag:remove] id: %s, packageTagId: %s, packageId: %s', model.id, model.packageTagId, model.packageId);
|
|
278
271
|
}
|
|
279
272
|
async listPackageTags(packageId) {
|
|
280
|
-
const models = await
|
|
273
|
+
const models = await this.PackageTag.find({ packageId });
|
|
281
274
|
const entities = [];
|
|
282
275
|
for (const model of models) {
|
|
283
276
|
entities.push(ModelConvertor_1.ModelConvertor.convertModelToEntity(model, PackageTag_1.PackageTag));
|
|
@@ -285,10 +278,31 @@ let PackageRepository = class PackageRepository extends AbstractRepository_1.Abs
|
|
|
285
278
|
return entities;
|
|
286
279
|
}
|
|
287
280
|
};
|
|
281
|
+
__decorate([
|
|
282
|
+
(0, tegg_1.Inject)()
|
|
283
|
+
], PackageRepository.prototype, "Package", void 0);
|
|
284
|
+
__decorate([
|
|
285
|
+
(0, tegg_1.Inject)()
|
|
286
|
+
], PackageRepository.prototype, "Dist", void 0);
|
|
287
|
+
__decorate([
|
|
288
|
+
(0, tegg_1.Inject)()
|
|
289
|
+
], PackageRepository.prototype, "PackageVersion", void 0);
|
|
290
|
+
__decorate([
|
|
291
|
+
(0, tegg_1.Inject)()
|
|
292
|
+
], PackageRepository.prototype, "PackageVersionManifest", void 0);
|
|
293
|
+
__decorate([
|
|
294
|
+
(0, tegg_1.Inject)()
|
|
295
|
+
], PackageRepository.prototype, "PackageTag", void 0);
|
|
296
|
+
__decorate([
|
|
297
|
+
(0, tegg_1.Inject)()
|
|
298
|
+
], PackageRepository.prototype, "Maintainer", void 0);
|
|
299
|
+
__decorate([
|
|
300
|
+
(0, tegg_1.Inject)()
|
|
301
|
+
], PackageRepository.prototype, "User", void 0);
|
|
288
302
|
PackageRepository = __decorate([
|
|
289
303
|
(0, tegg_1.ContextProto)({
|
|
290
304
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
291
305
|
})
|
|
292
306
|
], PackageRepository);
|
|
293
307
|
exports.PackageRepository = PackageRepository;
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9QYWNrYWdlUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBd0Q7QUFDeEQsNkNBQTBEO0FBQzFELG9EQUFrRTtBQUNsRSwwREFBdUQ7QUFDdkQsa0VBQXVGO0FBQ3ZGLDJEQUErRTtBQUUvRSwyRUFBdUc7QUFDdkcsdUNBQWlEO0FBQ2pELDhDQUF5RDtBQUN6RCwwREFBMkU7QUFDM0UsbURBQW1FO0FBQ25FLG1EQUFtRTtBQUNuRSx1Q0FBaUQ7QUFDakQsOENBQXlEO0FBQ3pELDZEQUEwRDtBQUsxRCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFrQixTQUFRLHVDQUFrQjtJQUN2RCxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE1BQU0saUJBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxXQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckgsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sV0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUgsTUFBTSxJQUFJLEdBQUc7WUFDWCxhQUFhLEVBQUUsa0JBQWtCLElBQUksK0JBQWMs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
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9QYWNrYWdlUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFFaEUsb0RBQWtFO0FBQ2xFLDBEQUF1RDtBQUN2RCxrRUFBdUY7QUFLdkYsOENBQXlEO0FBQ3pELDBEQUEyRTtBQUkzRSw4Q0FBeUQ7QUFDekQsNkRBQTBEO0FBSzFELElBQWEsaUJBQWlCLEdBQTlCLE1BQWEsaUJBQWtCLFNBQVEsdUNBQWtCO0lBc0J2RCxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3JILE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5SCxNQUFNLElBQUksR0FBRztZQUNYLGFBQWEsRUFBRSxrQkFBa0IsSUFBSSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFLFdBQVUsQ0FBQztZQUN4RyxnQkFBZ0IsRUFBRSxxQkFB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
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { PackageVersionBlock as PackageVersionBlockModel } from './model/PackageVersionBlock';
|
|
1
|
+
import type { PackageVersionBlock as PackageVersionBlockModel } from './model/PackageVersionBlock';
|
|
2
2
|
import { PackageVersionBlock as PackageVersionBlockEntity } from '../core/entity/PackageVersionBlock';
|
|
3
3
|
import { AbstractRepository } from './AbstractRepository';
|
|
4
4
|
export declare class PackageVersionBlockRepository extends AbstractRepository {
|
|
5
|
+
private readonly PackageVersionBlock;
|
|
5
6
|
savePackageVersionBlock(block: PackageVersionBlockEntity): Promise<void>;
|
|
6
7
|
findPackageBlock(packageId: string): Promise<PackageVersionBlockEntity | null>;
|
|
7
8
|
findPackageVersionBlock(packageId: string, version: string): Promise<PackageVersionBlockEntity | null>;
|
|
@@ -9,19 +9,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.PackageVersionBlockRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
11
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
12
|
-
const PackageVersionBlock_1 = require("
|
|
13
|
-
const PackageVersionBlock_2 = require("../core/entity/PackageVersionBlock");
|
|
12
|
+
const PackageVersionBlock_1 = require("../core/entity/PackageVersionBlock");
|
|
14
13
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
15
14
|
let PackageVersionBlockRepository = class PackageVersionBlockRepository extends AbstractRepository_1.AbstractRepository {
|
|
16
15
|
async savePackageVersionBlock(block) {
|
|
17
16
|
if (block.id) {
|
|
18
|
-
const model = await
|
|
17
|
+
const model = await this.PackageVersionBlock.findOne({ id: block.id });
|
|
19
18
|
if (!model)
|
|
20
19
|
return;
|
|
21
20
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(block, model);
|
|
22
21
|
}
|
|
23
22
|
else {
|
|
24
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(block,
|
|
23
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(block, this.PackageVersionBlock);
|
|
25
24
|
this.logger.info('[PackageVersionBlockRepository:savePackageVersionBlock:new] id: %s, packageVersionBlockId: %s', model.id, model.packageVersionBlockId);
|
|
26
25
|
}
|
|
27
26
|
}
|
|
@@ -29,23 +28,26 @@ let PackageVersionBlockRepository = class PackageVersionBlockRepository extends
|
|
|
29
28
|
return await this.findPackageVersionBlock(packageId, '*');
|
|
30
29
|
}
|
|
31
30
|
async findPackageVersionBlock(packageId, version) {
|
|
32
|
-
const model = await
|
|
31
|
+
const model = await this.PackageVersionBlock.findOne({ packageId, version });
|
|
33
32
|
if (model)
|
|
34
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
33
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, PackageVersionBlock_1.PackageVersionBlock);
|
|
35
34
|
return null;
|
|
36
35
|
}
|
|
37
36
|
async listPackageVersionBlocks(packageId) {
|
|
38
|
-
return await
|
|
37
|
+
return await this.PackageVersionBlock.find({ packageId });
|
|
39
38
|
}
|
|
40
39
|
async removePackageVersionBlock(packageVersionBlockId) {
|
|
41
|
-
const removeCount = await
|
|
40
|
+
const removeCount = await this.PackageVersionBlock.remove({ packageVersionBlockId });
|
|
42
41
|
this.logger.info('[PackageVersionBlockRepository:removePackageVersionBlock:remove] %d rows, packageVersionBlockId: %s', removeCount, packageVersionBlockId);
|
|
43
42
|
}
|
|
44
43
|
};
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, tegg_1.Inject)()
|
|
46
|
+
], PackageVersionBlockRepository.prototype, "PackageVersionBlock", void 0);
|
|
45
47
|
PackageVersionBlockRepository = __decorate([
|
|
46
48
|
(0, tegg_1.ContextProto)({
|
|
47
49
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
48
50
|
})
|
|
49
51
|
], PackageVersionBlockRepository);
|
|
50
52
|
exports.PackageVersionBlockRepository = PackageVersionBlockRepository;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25CbG9ja1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9QYWNrYWdlVmVyc2lvbkJsb2NrUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBRXZELDRFQUFzRztBQUN0Ryw2REFBMEQ7QUFLMUQsSUFBYSw2QkFBNkIsR0FBMUMsTUFBYSw2QkFBOEIsU0FBUSx1Q0FBa0I7SUFJbkUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEtBQWdDO1FBQzVELElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNaLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPO1lBQ25CLE1BQU0sK0JBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdEQ7YUFBTTtZQUNMLE1BQU0sS0FBSyxHQUFHLE1BQU0sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0ZBQStGLEVBQzlHLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQWlCO1FBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBaUIsRUFBRSxPQUFlO1FBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksS0FBSztZQUFFLE9BQU8sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUseUNBQXlCLENBQUMsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsd0JBQXdCLENBQUMsU0FBaUI7UUFDOUMsT0FBTyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMscUJBQTZCO1FBQzNELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxR0FBcUcsRUFDcEgsV0FBVyxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGLENBQUE7QUFqQ0M7SUFEQyxJQUFBLGFBQU0sR0FBRTswRUFDNkQ7QUFGM0QsNkJBQTZCO0lBSHpDLElBQUEsbUJBQVksRUFBQztRQUNaLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLDZCQUE2QixDQW1DekM7QUFuQ1ksc0VBQTZCIn0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AbstractRepository } from './AbstractRepository';
|
|
2
|
-
import { PackageVersionDownload as PackageVersionDownloadModel } from './model/PackageVersionDownload';
|
|
2
|
+
import type { PackageVersionDownload as PackageVersionDownloadModel } from './model/PackageVersionDownload';
|
|
3
3
|
export declare class PackageVersionDownloadRepository extends AbstractRepository {
|
|
4
|
+
private readonly PackageVersionDownload;
|
|
4
5
|
plus(packageId: string, version: string, counter: number): Promise<void>;
|
|
5
6
|
query(packageId: string, start: Date, end: Date): Promise<import("leoric").Collection<PackageVersionDownloadModel>>;
|
|
6
7
|
saveSyncDataByMonth(packageId: string, yearMonth: number, counters: [string, number][]): Promise<void>;
|
|
@@ -9,14 +9,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.PackageVersionDownloadRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
11
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
12
|
-
const PackageVersionDownload_1 = require("./model/PackageVersionDownload");
|
|
13
12
|
let PackageVersionDownloadRepository = class PackageVersionDownloadRepository extends AbstractRepository_1.AbstractRepository {
|
|
14
13
|
async plus(packageId, version, counter) {
|
|
15
14
|
const now = new Date();
|
|
16
15
|
const yearMonth = now.getFullYear() * 100 + now.getMonth() + 1;
|
|
17
16
|
const date = new Date().getDate();
|
|
18
17
|
const field = date < 10 ? `d0${date}` : `d${date}`;
|
|
19
|
-
let model = await
|
|
18
|
+
let model = await this.PackageVersionDownload.findOne({
|
|
20
19
|
packageId,
|
|
21
20
|
version,
|
|
22
21
|
yearMonth,
|
|
@@ -28,10 +27,10 @@ let PackageVersionDownloadRepository = class PackageVersionDownloadRepository ex
|
|
|
28
27
|
version,
|
|
29
28
|
yearMonth,
|
|
30
29
|
};
|
|
31
|
-
model = await
|
|
30
|
+
model = await this.PackageVersionDownload.create(attributes);
|
|
32
31
|
this.logger.info('[PackageVersionDownloadRepository:plus:new] id: %s, packageId: %s, version: %s, yearMonth: %s', model.id, model.packageId, model.version, model.yearMonth);
|
|
33
32
|
}
|
|
34
|
-
await
|
|
33
|
+
await this.PackageVersionDownload
|
|
35
34
|
.where({ id: model.id })
|
|
36
35
|
.increment(field, counter);
|
|
37
36
|
this.logger.info('[PackageVersionDownloadRepository:plus:increment] id: %s, packageId: %s, version: %s, field: %s%s, plus: %d', model.id, model.packageId, model.version, model.yearMonth, field, counter);
|
|
@@ -39,7 +38,7 @@ let PackageVersionDownloadRepository = class PackageVersionDownloadRepository ex
|
|
|
39
38
|
async query(packageId, start, end) {
|
|
40
39
|
const startYearMonth = start.getFullYear() * 100 + start.getMonth() + 1;
|
|
41
40
|
const endYearMonth = end.getFullYear() * 100 + end.getMonth() + 1;
|
|
42
|
-
const models = await
|
|
41
|
+
const models = await this.PackageVersionDownload.find({
|
|
43
42
|
packageId,
|
|
44
43
|
yearMonth: { $gte: startYearMonth, $lte: endYearMonth },
|
|
45
44
|
});
|
|
@@ -47,7 +46,7 @@ let PackageVersionDownloadRepository = class PackageVersionDownloadRepository ex
|
|
|
47
46
|
}
|
|
48
47
|
async saveSyncDataByMonth(packageId, yearMonth, counters) {
|
|
49
48
|
const version = '*';
|
|
50
|
-
let model = await
|
|
49
|
+
let model = await this.PackageVersionDownload.findOne({
|
|
51
50
|
packageId,
|
|
52
51
|
version,
|
|
53
52
|
yearMonth,
|
|
@@ -59,7 +58,7 @@ let PackageVersionDownloadRepository = class PackageVersionDownloadRepository ex
|
|
|
59
58
|
version,
|
|
60
59
|
yearMonth,
|
|
61
60
|
};
|
|
62
|
-
model = await
|
|
61
|
+
model = await this.PackageVersionDownload.create(attributes);
|
|
63
62
|
}
|
|
64
63
|
for (const [date, counter] of counters) {
|
|
65
64
|
const field = `d${date}`;
|
|
@@ -68,10 +67,13 @@ let PackageVersionDownloadRepository = class PackageVersionDownloadRepository ex
|
|
|
68
67
|
await model.save();
|
|
69
68
|
}
|
|
70
69
|
};
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, tegg_1.Inject)()
|
|
72
|
+
], PackageVersionDownloadRepository.prototype, "PackageVersionDownload", void 0);
|
|
71
73
|
PackageVersionDownloadRepository = __decorate([
|
|
72
74
|
(0, tegg_1.ContextProto)({
|
|
73
75
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
74
76
|
})
|
|
75
77
|
], PackageVersionDownloadRepository);
|
|
76
78
|
exports.PackageVersionDownloadRepository = PackageVersionDownloadRepository;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25Eb3dubG9hZFJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9QYWNrYWdlVmVyc2lvbkRvd25sb2FkUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsNkRBQTBEO0FBTTFELElBQWEsZ0NBQWdDLEdBQTdDLE1BQWEsZ0NBQWlDLFNBQVEsdUNBQWtCO0lBSXRFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxPQUFlLEVBQUUsT0FBZTtRQUM1RCxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDO1lBQ3BELFNBQVM7WUFDVCxPQUFPO1lBQ1AsU0FBUztTQUNWLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixrQkFBa0I7WUFDbEIsTUFBTSxVQUFVLEdBQUc7Z0JBQ2pCLFNBQVM7Z0JBQ1QsT0FBTztnQkFDUCxTQUFTO2FBQ1YsQ0FBQztZQUNGLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENB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
|
|
@@ -2,6 +2,8 @@ import { Task as TaskEntity } from '../core/entity/Task';
|
|
|
2
2
|
import { AbstractRepository } from './AbstractRepository';
|
|
3
3
|
import { TaskType, TaskState } from '../../app/common/enum/Task';
|
|
4
4
|
export declare class TaskRepository extends AbstractRepository {
|
|
5
|
+
private readonly Task;
|
|
6
|
+
private readonly HistoryTask;
|
|
5
7
|
saveTask(task: TaskEntity): Promise<void>;
|
|
6
8
|
saveTaskToHistory(task: TaskEntity): Promise<void>;
|
|
7
9
|
findTask(taskId: string): Promise<TaskEntity | null>;
|
|
@@ -9,44 +9,42 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.TaskRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
11
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
12
|
-
const Task_1 = require("
|
|
13
|
-
const HistoryTask_1 = require("./model/HistoryTask");
|
|
14
|
-
const Task_2 = require("../core/entity/Task");
|
|
12
|
+
const Task_1 = require("../core/entity/Task");
|
|
15
13
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
16
14
|
let TaskRepository = class TaskRepository extends AbstractRepository_1.AbstractRepository {
|
|
17
15
|
async saveTask(task) {
|
|
18
16
|
if (task.id) {
|
|
19
|
-
const model = await
|
|
17
|
+
const model = await this.Task.findOne({ id: task.id });
|
|
20
18
|
if (!model)
|
|
21
19
|
return;
|
|
22
20
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(task, model);
|
|
23
21
|
}
|
|
24
22
|
else {
|
|
25
|
-
await ModelConvertor_1.ModelConvertor.convertEntityToModel(task,
|
|
23
|
+
await ModelConvertor_1.ModelConvertor.convertEntityToModel(task, this.Task);
|
|
26
24
|
}
|
|
27
25
|
}
|
|
28
26
|
async saveTaskToHistory(task) {
|
|
29
|
-
const model = await
|
|
27
|
+
const model = await this.Task.findOne({ id: task.id });
|
|
30
28
|
if (!model)
|
|
31
29
|
return;
|
|
32
|
-
const history = await
|
|
30
|
+
const history = await this.HistoryTask.findOne({ taskId: task.taskId });
|
|
33
31
|
if (history) {
|
|
34
32
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(task, history);
|
|
35
33
|
}
|
|
36
34
|
else {
|
|
37
|
-
await ModelConvertor_1.ModelConvertor.convertEntityToModel(task,
|
|
35
|
+
await ModelConvertor_1.ModelConvertor.convertEntityToModel(task, this.HistoryTask);
|
|
38
36
|
}
|
|
39
37
|
await model.remove();
|
|
40
38
|
}
|
|
41
39
|
async findTask(taskId) {
|
|
42
|
-
const task = await
|
|
40
|
+
const task = await this.Task.findOne({ taskId });
|
|
43
41
|
if (task) {
|
|
44
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(task,
|
|
42
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(task, Task_1.Task);
|
|
45
43
|
}
|
|
46
44
|
// try to read from history
|
|
47
|
-
const history = await
|
|
45
|
+
const history = await this.HistoryTask.findOne({ taskId });
|
|
48
46
|
if (history) {
|
|
49
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(history,
|
|
47
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(history, Task_1.Task);
|
|
50
48
|
}
|
|
51
49
|
return null;
|
|
52
50
|
}
|
|
@@ -55,28 +53,34 @@ let TaskRepository = class TaskRepository extends AbstractRepository_1.AbstractR
|
|
|
55
53
|
if (state) {
|
|
56
54
|
where.state = state;
|
|
57
55
|
}
|
|
58
|
-
const task = await
|
|
56
|
+
const task = await this.Task.findOne(where);
|
|
59
57
|
if (task) {
|
|
60
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(task,
|
|
58
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(task, Task_1.Task);
|
|
61
59
|
}
|
|
62
60
|
return null;
|
|
63
61
|
}
|
|
64
62
|
async findTimeoutTasks(taskState, timeout) {
|
|
65
63
|
const timeoutDate = new Date();
|
|
66
64
|
timeoutDate.setTime(timeoutDate.getTime() - timeout);
|
|
67
|
-
const models = await
|
|
65
|
+
const models = await this.Task.find({
|
|
68
66
|
state: taskState,
|
|
69
67
|
updatedAt: {
|
|
70
68
|
$lt: timeoutDate,
|
|
71
69
|
},
|
|
72
70
|
}).limit(1000);
|
|
73
|
-
return models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
71
|
+
return models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Task_1.Task));
|
|
74
72
|
}
|
|
75
73
|
};
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, tegg_1.Inject)()
|
|
76
|
+
], TaskRepository.prototype, "Task", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, tegg_1.Inject)()
|
|
79
|
+
], TaskRepository.prototype, "HistoryTask", void 0);
|
|
76
80
|
TaskRepository = __decorate([
|
|
77
81
|
(0, tegg_1.ContextProto)({
|
|
78
82
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
79
83
|
})
|
|
80
84
|
], TaskRepository);
|
|
81
85
|
exports.TaskRepository = TaskRepository;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9UYXNrUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBR3ZELDhDQUF5RDtBQUN6RCw2REFBMEQ7QUFNMUQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBZSxTQUFRLHVDQUFrQjtJQU9wRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixNQUFNLCtCQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxNQUFNLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBZ0I7UUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sK0JBQWMsQ0FBQyxpQkFB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
|
|
@@ -2,6 +2,8 @@ import { User as UserEntity } from '../core/entity/User';
|
|
|
2
2
|
import { Token as TokenEntity } from '../core/entity/Token';
|
|
3
3
|
import { AbstractRepository } from './AbstractRepository';
|
|
4
4
|
export declare class UserRepository extends AbstractRepository {
|
|
5
|
+
private readonly User;
|
|
6
|
+
private readonly Token;
|
|
5
7
|
saveUser(user: UserEntity): Promise<void>;
|
|
6
8
|
findUserByName(name: string): Promise<UserEntity | null>;
|
|
7
9
|
findUserAndTokenByTokenKey(tokenKey: string): Promise<{
|
|
@@ -9,73 +9,77 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.UserRepository = void 0;
|
|
10
10
|
const tegg_1 = require("@eggjs/tegg");
|
|
11
11
|
const ModelConvertor_1 = require("./util/ModelConvertor");
|
|
12
|
-
const User_1 = require("
|
|
13
|
-
const Token_1 = require("
|
|
14
|
-
const User_2 = require("../core/entity/User");
|
|
15
|
-
const Token_2 = require("../core/entity/Token");
|
|
12
|
+
const User_1 = require("../core/entity/User");
|
|
13
|
+
const Token_1 = require("../core/entity/Token");
|
|
16
14
|
const AbstractRepository_1 = require("./AbstractRepository");
|
|
17
15
|
let UserRepository = class UserRepository extends AbstractRepository_1.AbstractRepository {
|
|
18
16
|
async saveUser(user) {
|
|
19
17
|
if (user.id) {
|
|
20
|
-
const model = await
|
|
18
|
+
const model = await this.User.findOne({ id: user.id });
|
|
21
19
|
if (!model)
|
|
22
20
|
return;
|
|
23
21
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(user, model);
|
|
24
22
|
}
|
|
25
23
|
else {
|
|
26
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(user,
|
|
24
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(user, this.User);
|
|
27
25
|
this.logger.info('[UserRepository:saveUser:new] id: %s, userId: %s', model.id, model.userId);
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
async findUserByName(name) {
|
|
31
|
-
const model = await
|
|
29
|
+
const model = await this.User.findOne({ name });
|
|
32
30
|
if (!model)
|
|
33
31
|
return null;
|
|
34
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
32
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, User_1.User);
|
|
35
33
|
}
|
|
36
34
|
async findUserAndTokenByTokenKey(tokenKey) {
|
|
37
35
|
const token = await this.findTokenByTokenKey(tokenKey);
|
|
38
36
|
if (!token)
|
|
39
37
|
return null;
|
|
40
|
-
const userModel = await
|
|
38
|
+
const userModel = await this.User.findOne({ userId: token.userId });
|
|
41
39
|
if (!userModel)
|
|
42
40
|
return null;
|
|
43
41
|
return {
|
|
44
42
|
token,
|
|
45
|
-
user: ModelConvertor_1.ModelConvertor.convertModelToEntity(userModel,
|
|
43
|
+
user: ModelConvertor_1.ModelConvertor.convertModelToEntity(userModel, User_1.User),
|
|
46
44
|
};
|
|
47
45
|
}
|
|
48
46
|
async findTokenByTokenKey(tokenKey) {
|
|
49
|
-
const model = await
|
|
47
|
+
const model = await this.Token.findOne({ tokenKey });
|
|
50
48
|
if (!model)
|
|
51
49
|
return null;
|
|
52
|
-
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
50
|
+
return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Token_1.Token);
|
|
53
51
|
}
|
|
54
52
|
async saveToken(token) {
|
|
55
53
|
if (token.id) {
|
|
56
|
-
const model = await
|
|
54
|
+
const model = await this.Token.findOne({ id: token.id });
|
|
57
55
|
if (!model)
|
|
58
56
|
return;
|
|
59
57
|
await ModelConvertor_1.ModelConvertor.saveEntityToModel(token, model);
|
|
60
58
|
}
|
|
61
59
|
else {
|
|
62
|
-
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(token,
|
|
60
|
+
const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(token, this.Token);
|
|
63
61
|
this.logger.info('[UserRepository:saveToken:new] id: %s, tokenId: %s', model.id, model.tokenId);
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
64
|
async removeToken(tokenId) {
|
|
67
|
-
const removeCount = await
|
|
65
|
+
const removeCount = await this.Token.remove({ tokenId });
|
|
68
66
|
this.logger.info('[UserRepository:removeToken:remove] %d rows, tokenId: %s', removeCount, tokenId);
|
|
69
67
|
}
|
|
70
68
|
async listTokens(userId) {
|
|
71
|
-
const models = await
|
|
72
|
-
return models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model,
|
|
69
|
+
const models = await this.Token.find({ userId });
|
|
70
|
+
return models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Token_1.Token));
|
|
73
71
|
}
|
|
74
72
|
};
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, tegg_1.Inject)()
|
|
75
|
+
], UserRepository.prototype, "User", void 0);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, tegg_1.Inject)()
|
|
78
|
+
], UserRepository.prototype, "Token", void 0);
|
|
75
79
|
UserRepository = __decorate([
|
|
76
80
|
(0, tegg_1.ContextProto)({
|
|
77
81
|
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
78
82
|
})
|
|
79
83
|
], UserRepository);
|
|
80
84
|
exports.UserRepository = UserRepository;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlclJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9Vc2VyUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBR3ZELDhDQUF5RDtBQUN6RCxnREFBNEQ7QUFDNUQsNkRBQTBEO0FBSzFELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFPcEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFnQjtRQUM3QixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFDbkIsTUFBTSwrQkFBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsTUFBTSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUY7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTywrQkFBYyxDQUFDLG9CQUFvQixDQUFDLEtBQUss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
|
|
@@ -12,7 +12,7 @@ const UPDATED_AT = 'updatedAt';
|
|
|
12
12
|
const ID = 'id';
|
|
13
13
|
class ModelConvertor {
|
|
14
14
|
static async convertEntityToModel(entity, ModelClazz, options) {
|
|
15
|
-
const metadata = tegg_orm_decorator_1.ModelMetadataUtil.
|
|
15
|
+
const metadata = tegg_orm_decorator_1.ModelMetadataUtil.getModelMetadata(ModelClazz);
|
|
16
16
|
if (!metadata) {
|
|
17
17
|
throw new Error(`Model ${ModelClazz.name} has no metadata`);
|
|
18
18
|
}
|
|
@@ -37,7 +37,7 @@ class ModelConvertor {
|
|
|
37
37
|
// Find out which attributes changed and set `updatedAt` to now
|
|
38
38
|
static async saveEntityToModel(entity, model, options) {
|
|
39
39
|
const ModelClazz = model.constructor;
|
|
40
|
-
const metadata = tegg_orm_decorator_1.ModelMetadataUtil.
|
|
40
|
+
const metadata = tegg_orm_decorator_1.ModelMetadataUtil.getModelMetadata(ModelClazz);
|
|
41
41
|
if (!metadata) {
|
|
42
42
|
throw new Error(`Model ${ModelClazz.name} has no metadata`);
|
|
43
43
|
}
|
|
@@ -59,7 +59,7 @@ class ModelConvertor {
|
|
|
59
59
|
static convertModelToEntity(bone, entityClazz, data) {
|
|
60
60
|
data = data || {};
|
|
61
61
|
const ModelClazz = bone.constructor;
|
|
62
|
-
const metadata = tegg_orm_decorator_1.ModelMetadataUtil.
|
|
62
|
+
const metadata = tegg_orm_decorator_1.ModelMetadataUtil.getModelMetadata(ModelClazz);
|
|
63
63
|
if (!metadata) {
|
|
64
64
|
throw new Error(`Model ${ModelClazz.name} has no metadata`);
|
|
65
65
|
}
|
|
@@ -74,4 +74,4 @@ class ModelConvertor {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
exports.ModelConvertor = ModelConvertor;
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxDb252ZXJ0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS91dGlsL01vZGVsQ29udmVydG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtFQUE4RDtBQUc5RCxvREFBdUI7QUFDdkIsNkRBQTBEO0FBRTFELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUMvQixNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUM7QUFDL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRWhCLE1BQWEsY0FBYztJQUN6QixNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFpQixNQUFjLEVBQUUsVUFBZ0MsRUFBRSxPQUFRO1FBQzFHLE1BQU0sUUFBUSxHQUFHLHNDQUFpQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLFNBQVMsVUFBVSxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQztTQUM3RDtRQUNELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFLLE1BQU0sYUFBYSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ3JELE1BQU0sa0JBQWtCLEdBQUcsdUNBQWtCLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDbkcsSUFBSSxrQkFBa0IsS0FBSyxVQUFVLElBQUksa0JBQWtCLEtBQUssVUFBVSxJQUFJLGtCQUFrQixLQUFLLEVBQUU7Z0JBQUUsU0FBUztZQUNsSCxNQUFNLGNBQWMsR0FBRyxnQkFBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUN6RCxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxjQUFjLENB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
|
|
@@ -13,9 +13,9 @@ class ModelConvertorUtil {
|
|
|
13
13
|
*/
|
|
14
14
|
static getEntityPropertyName(clazz, modelProperty) {
|
|
15
15
|
var _a;
|
|
16
|
-
const propertyMap = tegg_1.MetadataUtil.
|
|
16
|
+
const propertyMap = tegg_1.MetadataUtil.getMetaData(ENTITY_PROPERTY_MAP_ATTRIBUTE, clazz);
|
|
17
17
|
return (_a = propertyMap === null || propertyMap === void 0 ? void 0 : propertyMap.get(modelProperty)) !== null && _a !== void 0 ? _a : modelProperty;
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.ModelConvertorUtil = ModelConvertorUtil;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxDb252ZXJ0b3JVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3JlcG9zaXRvcnkvdXRpbC9Nb2RlbENvbnZlcnRvclV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0NBQThEO0FBRTlELE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRXpGLE1BQWEsa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxjQUFzQixFQUFFLEtBQXdCLEVBQUUsYUFBcUI7UUFDbEcsTUFBTSxXQUFXLEdBQXdCLG1CQUFZLENBQUMsa0JBQWtCLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMxSCxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBd0IsRUFBRSxhQUFxQjs7UUFDMUUsTUFBTSxXQUFXLEdBQW9DLG1CQUFZLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BILE9BQU8sTUFBQSxXQUFXLGFBQVgsV0FBVyx1QkFBWCxXQUFXLENBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxtQ0FBSSxhQUFhLENBQUM7SUFDMUQsQ0FBQztDQUNGO0FBYkQsZ0RBYUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cnpmcore",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "npm core",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*"
|
|
@@ -70,14 +70,14 @@
|
|
|
70
70
|
"npm"
|
|
71
71
|
],
|
|
72
72
|
"dependencies": {
|
|
73
|
-
"@eggjs/tegg": "^1.2
|
|
74
|
-
"@eggjs/tegg-aop-plugin": "^1.
|
|
73
|
+
"@eggjs/tegg": "^1.3.2",
|
|
74
|
+
"@eggjs/tegg-aop-plugin": "^1.3.2",
|
|
75
75
|
"@eggjs/tegg-config": "^1.0.0",
|
|
76
|
-
"@eggjs/tegg-controller-plugin": "^1.
|
|
77
|
-
"@eggjs/tegg-eventbus-plugin": "^1.
|
|
78
|
-
"@eggjs/tegg-orm-decorator": "^1.0
|
|
79
|
-
"@eggjs/tegg-orm-plugin": "^1.0
|
|
80
|
-
"@eggjs/tegg-plugin": "^1.
|
|
76
|
+
"@eggjs/tegg-controller-plugin": "^1.3.2",
|
|
77
|
+
"@eggjs/tegg-eventbus-plugin": "^1.3.2",
|
|
78
|
+
"@eggjs/tegg-orm-decorator": "^1.4.0",
|
|
79
|
+
"@eggjs/tegg-orm-plugin": "^2.1.0",
|
|
80
|
+
"@eggjs/tegg-plugin": "^1.3.2",
|
|
81
81
|
"@eggjs/tsconfig": "^1.0.0",
|
|
82
82
|
"@node-rs/crc32": "^1.2.2",
|
|
83
83
|
"@sinclair/typebox": "^0.23.0",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"egg-typebox-validate": "^2.0.0",
|
|
94
94
|
"fs-cnpm": "^2.4.0",
|
|
95
95
|
"ioredis": "^4.28.3",
|
|
96
|
-
"leoric": "^
|
|
96
|
+
"leoric": "^2.6.2",
|
|
97
97
|
"lodash": "^4.17.21",
|
|
98
98
|
"mysql": "^2.18.1",
|
|
99
99
|
"mysql2": "^2.3.0",
|