cnpmcore 3.76.1 → 3.78.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/dist/app/common/CryptoUtil.js +5 -3
- package/dist/app/common/constants.d.ts +1 -0
- package/dist/app/common/constants.js +3 -2
- package/dist/app/core/entity/Org.d.ts +18 -0
- package/dist/app/core/entity/Org.js +20 -0
- package/dist/app/core/entity/OrgMember.d.ts +18 -0
- package/dist/app/core/entity/OrgMember.js +20 -0
- package/dist/app/core/entity/Team.d.ts +20 -0
- package/dist/app/core/entity/Team.js +21 -0
- package/dist/app/core/entity/TeamMember.d.ts +16 -0
- package/dist/app/core/entity/TeamMember.js +19 -0
- package/dist/app/core/entity/TeamPackage.d.ts +16 -0
- package/dist/app/core/entity/TeamPackage.js +19 -0
- package/dist/app/core/service/BinarySyncerService.d.ts +2 -2
- package/dist/app/core/service/OrgService.d.ts +19 -0
- package/dist/app/core/service/OrgService.js +122 -0
- package/dist/app/core/service/PackageManagerService.d.ts +1 -1
- package/dist/app/core/service/PackageSyncerService.d.ts +1 -1
- package/dist/app/core/service/TaskService.d.ts +1 -1
- package/dist/app/core/service/TeamService.d.ts +16 -0
- package/dist/app/core/service/TeamService.js +111 -0
- package/dist/app/port/controller/BinarySyncController.d.ts +2 -2
- package/dist/app/port/controller/PackageSyncController.d.ts +1 -1
- package/dist/app/port/controller/PackageVersionFileController.d.ts +1 -1
- package/dist/app/port/controller/package/DownloadPackageVersionTar.d.ts +3 -3
- package/dist/app/repository/DistRepository.d.ts +2 -2
- package/dist/app/repository/OrgRepository.d.ts +23 -0
- package/dist/app/repository/OrgRepository.js +118 -0
- package/dist/app/repository/TeamRepository.d.ts +31 -0
- package/dist/app/repository/TeamRepository.js +163 -0
- package/dist/app/repository/model/Org.d.ts +9 -0
- package/dist/app/repository/model/Org.js +48 -0
- package/dist/app/repository/model/OrgMember.d.ts +10 -0
- package/dist/app/repository/model/OrgMember.js +52 -0
- package/dist/app/repository/model/Team.d.ts +10 -0
- package/dist/app/repository/model/Team.js +52 -0
- package/dist/app/repository/model/TeamMember.d.ts +9 -0
- package/dist/app/repository/model/TeamMember.js +48 -0
- package/dist/app/repository/model/TeamPackage.d.ts +9 -0
- package/dist/app/repository/model/TeamPackage.js +48 -0
- package/package.json +1 -1
|
@@ -11,14 +11,16 @@ function genRSAKeys() {
|
|
|
11
11
|
const key = (0, crypto_1.generateKeyPairSync)('rsa', {
|
|
12
12
|
modulusLength: 512,
|
|
13
13
|
});
|
|
14
|
+
// export({ format: 'pem' }) returns string; .toString('base64') is a no-op on string.
|
|
15
|
+
// Use type assertion to fix TS2554 on Node 18 type definitions.
|
|
14
16
|
const publicKey = key.publicKey.export({
|
|
15
17
|
type: 'pkcs1',
|
|
16
18
|
format: 'pem',
|
|
17
|
-
})
|
|
19
|
+
});
|
|
18
20
|
const privateKey = key.privateKey.export({
|
|
19
21
|
type: 'pkcs1',
|
|
20
22
|
format: 'pem',
|
|
21
|
-
})
|
|
23
|
+
});
|
|
22
24
|
return { publicKey, privateKey };
|
|
23
25
|
}
|
|
24
26
|
exports.genRSAKeys = genRSAKeys;
|
|
@@ -40,4 +42,4 @@ function decryptRSA(privateKey, encryptedBase64) {
|
|
|
40
42
|
return key.decrypt(encryptedBase64, 'utf8');
|
|
41
43
|
}
|
|
42
44
|
exports.decryptRSA = decryptRSA;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvVXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9jb21tb24vQ3J5cHRvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBNkM7QUFDN0Msd0RBQStCO0FBRS9CLHdCQUF3QjtBQUN4QixTQUFnQixVQUFVO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUEsNEJBQW1CLEVBQUMsS0FBSyxFQUFFO1FBQ3JDLGFBQWEsRUFBRSxHQUFHO0tBQ25CLENBQUMsQ0FBQztJQUNILHNGQUFzRjtJQUN0RixnRUFBZ0U7SUFDaEUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsS0FBSztLQUNkLENBQVcsQ0FBQztJQUNiLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksRUFBRSxPQUFPO1FBQ2IsTUFBTSxFQUFFLEtBQUs7S0FDZCxDQUFXLENBQUM7SUFDYixPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFmRCxnQ0FlQztBQUVELDBCQUEwQjtBQUMxQixTQUFnQixVQUFVLENBQUMsU0FBaUIsRUFBRSxTQUFpQjtJQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLGtCQUFPLENBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFFO1FBQ3JELGdCQUFnQixFQUFFLE9BQU87UUFDekIsV0FBVyxFQUFFLFNBQVM7S0FDdkIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBTkQsZ0NBTUM7QUFFRCwwQkFBMEI7QUFDMUIsU0FBZ0IsVUFBVSxDQUFDLFVBQWtCLEVBQUUsZUFBdUI7SUFDcEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQkFBTyxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBRTtRQUN2RCxnQkFBZ0IsRUFBRSxPQUFPO1FBQ3pCLFdBQVcsRUFBRSxTQUFTO0tBQ3ZCLENBQUMsQ0FBQztJQUNILE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQU5ELGdDQU1DIn0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const BUG_VERSIONS = "bug-versions";
|
|
2
|
+
export declare const DEVELOPERS_TEAM = "developers";
|
|
2
3
|
export declare const LATEST_TAG = "latest";
|
|
3
4
|
export declare const GLOBAL_WORKER = "GLOBAL_WORKER";
|
|
4
5
|
export declare const PROXY_CACHE_DIR_NAME = "proxy-cache-packages";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PackageAccessLevel = exports.PresetRegistryName = exports.SyncDeleteMode = exports.ChangesStreamMode = exports.SyncMode = exports.NOT_IMPLEMENTED_PATH = exports.ABBREVIATED_META_TYPE = exports.PROXY_CACHE_DIR_NAME = exports.GLOBAL_WORKER = exports.LATEST_TAG = exports.BUG_VERSIONS = void 0;
|
|
3
|
+
exports.PackageAccessLevel = exports.PresetRegistryName = exports.SyncDeleteMode = exports.ChangesStreamMode = exports.SyncMode = exports.NOT_IMPLEMENTED_PATH = exports.ABBREVIATED_META_TYPE = exports.PROXY_CACHE_DIR_NAME = exports.GLOBAL_WORKER = exports.LATEST_TAG = exports.DEVELOPERS_TEAM = exports.BUG_VERSIONS = void 0;
|
|
4
4
|
exports.BUG_VERSIONS = 'bug-versions';
|
|
5
|
+
exports.DEVELOPERS_TEAM = 'developers';
|
|
5
6
|
exports.LATEST_TAG = 'latest';
|
|
6
7
|
exports.GLOBAL_WORKER = 'GLOBAL_WORKER';
|
|
7
8
|
exports.PROXY_CACHE_DIR_NAME = 'proxy-cache-packages';
|
|
@@ -36,4 +37,4 @@ var PackageAccessLevel;
|
|
|
36
37
|
PackageAccessLevel["write"] = "write";
|
|
37
38
|
PackageAccessLevel["read"] = "read";
|
|
38
39
|
})(PackageAccessLevel || (exports.PackageAccessLevel = PackageAccessLevel = {}));
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL2NvbW1vbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBQzlCLFFBQUEsZUFBZSxHQUFHLFlBQVksQ0FBQztBQUMvQixRQUFBLFVBQVUsR0FBRyxRQUFRLENBQUM7QUFDdEIsUUFBQSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBQ2hDLFFBQUEsb0JBQW9CLEdBQUcsc0JBQXNCLENBQUM7QUFDOUMsUUFBQSxxQkFBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RCxRQUFBLG9CQUFvQixHQUFHLENBQUUsaUNBQWlDLEVBQUUsb0NBQW9DLENBQUUsQ0FBQztBQUVoSCxJQUFZLFFBTVg7QUFORCxXQUFZLFFBQVE7SUFDbEIseUJBQWEsQ0FBQTtJQUNiLDJCQUFlLENBQUE7SUFDZiwyQkFBZSxDQUFBO0lBQ2YsMkJBQWUsQ0FBQTtJQUNmLHVCQUFXLENBQUE7QUFDYixDQUFDLEVBTlcsUUFBUSx3QkFBUixRQUFRLFFBTW5CO0FBQ0QsSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFDYiw0Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsaUJBQWlCLGlDQUFqQixpQkFBaUIsUUFHNUI7QUFDRCxJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsbUNBQWlCLENBQUE7SUFDakIsaUNBQWUsQ0FBQTtJQUNmLG1DQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxjQUFjLDhCQUFkLGNBQWMsUUFJekI7QUFFRCxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QjtBQUVELElBQVksa0JBR1g7QUFIRCxXQUFZLGtCQUFrQjtJQUM1QixxQ0FBZSxDQUFBO0lBQ2YsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxrQkFBa0Isa0NBQWxCLGtCQUFrQixRQUc3QiJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Entity, EntityData } from './Entity';
|
|
2
|
+
import { EasyData } from '../util/EntityUtil';
|
|
3
|
+
interface OrgData extends EntityData {
|
|
4
|
+
orgId: string;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
}
|
|
8
|
+
export type CreateOrgData = Omit<EasyData<OrgData, 'orgId'>, 'id' | 'description'> & {
|
|
9
|
+
description?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare class Org extends Entity {
|
|
12
|
+
orgId: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
constructor(data: OrgData);
|
|
16
|
+
static create(data: CreateOrgData): Org;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Org = void 0;
|
|
4
|
+
const Entity_1 = require("./Entity");
|
|
5
|
+
const EntityUtil_1 = require("../util/EntityUtil");
|
|
6
|
+
class Org extends Entity_1.Entity {
|
|
7
|
+
constructor(data) {
|
|
8
|
+
super(data);
|
|
9
|
+
this.orgId = data.orgId;
|
|
10
|
+
this.name = data.name;
|
|
11
|
+
this.description = data.description ?? '';
|
|
12
|
+
}
|
|
13
|
+
static create(data) {
|
|
14
|
+
const fullData = { ...data, description: data.description ?? '' };
|
|
15
|
+
const newData = EntityUtil_1.EntityUtil.defaultData(fullData, 'orgId');
|
|
16
|
+
return new Org(newData);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.Org = Org;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvZW50aXR5L09yZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBOEM7QUFDOUMsbURBQTBEO0FBVTFELE1BQWEsR0FBSSxTQUFRLGVBQU07SUFLN0IsWUFBWSxJQUFhO1FBQ3ZCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFtQjtRQUMvQixNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLHVCQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQWpCRCxrQkFpQkMifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Entity, EntityData } from './Entity';
|
|
2
|
+
import { EasyData } from '../util/EntityUtil';
|
|
3
|
+
interface OrgMemberData extends EntityData {
|
|
4
|
+
orgMemberId: string;
|
|
5
|
+
orgId: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
role: 'owner' | 'member';
|
|
8
|
+
}
|
|
9
|
+
export type CreateOrgMemberData = Omit<EasyData<OrgMemberData, 'orgMemberId'>, 'id'>;
|
|
10
|
+
export declare class OrgMember extends Entity {
|
|
11
|
+
orgMemberId: string;
|
|
12
|
+
orgId: string;
|
|
13
|
+
userId: string;
|
|
14
|
+
role: 'owner' | 'member';
|
|
15
|
+
constructor(data: OrgMemberData);
|
|
16
|
+
static create(data: CreateOrgMemberData): OrgMember;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OrgMember = void 0;
|
|
4
|
+
const Entity_1 = require("./Entity");
|
|
5
|
+
const EntityUtil_1 = require("../util/EntityUtil");
|
|
6
|
+
class OrgMember extends Entity_1.Entity {
|
|
7
|
+
constructor(data) {
|
|
8
|
+
super(data);
|
|
9
|
+
this.orgMemberId = data.orgMemberId;
|
|
10
|
+
this.orgId = data.orgId;
|
|
11
|
+
this.userId = data.userId;
|
|
12
|
+
this.role = data.role;
|
|
13
|
+
}
|
|
14
|
+
static create(data) {
|
|
15
|
+
const newData = EntityUtil_1.EntityUtil.defaultData(data, 'orgMemberId');
|
|
16
|
+
return new OrgMember(newData);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.OrgMember = OrgMember;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnTWVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvZW50aXR5L09yZ01lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBOEM7QUFDOUMsbURBQTBEO0FBVzFELE1BQWEsU0FBVSxTQUFRLGVBQU07SUFNbkMsWUFBWSxJQUFtQjtRQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBeUI7UUFDckMsTUFBTSxPQUFPLEdBQUcsdUJBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVELE9BQU8sSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBbEJELDhCQWtCQyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Entity, EntityData } from './Entity';
|
|
2
|
+
import { EasyData } from '../util/EntityUtil';
|
|
3
|
+
interface TeamData extends EntityData {
|
|
4
|
+
teamId: string;
|
|
5
|
+
orgId: string;
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
}
|
|
9
|
+
export type CreateTeamData = Omit<EasyData<TeamData, 'teamId'>, 'id' | 'description'> & {
|
|
10
|
+
description?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class Team extends Entity {
|
|
13
|
+
teamId: string;
|
|
14
|
+
orgId: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
constructor(data: TeamData);
|
|
18
|
+
static create(data: CreateTeamData): Team;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Team = void 0;
|
|
4
|
+
const Entity_1 = require("./Entity");
|
|
5
|
+
const EntityUtil_1 = require("../util/EntityUtil");
|
|
6
|
+
class Team extends Entity_1.Entity {
|
|
7
|
+
constructor(data) {
|
|
8
|
+
super(data);
|
|
9
|
+
this.teamId = data.teamId;
|
|
10
|
+
this.orgId = data.orgId;
|
|
11
|
+
this.name = data.name;
|
|
12
|
+
this.description = data.description ?? '';
|
|
13
|
+
}
|
|
14
|
+
static create(data) {
|
|
15
|
+
const fullData = { ...data, description: data.description ?? '' };
|
|
16
|
+
const newData = EntityUtil_1.EntityUtil.defaultData(fullData, 'teamId');
|
|
17
|
+
return new Team(newData);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.Team = Team;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9UZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUE4QztBQUM5QyxtREFBMEQ7QUFXMUQsTUFBYSxJQUFLLFNBQVEsZUFBTTtJQU05QixZQUFZLElBQWM7UUFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFvQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLHVCQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQW5CRCxvQkFtQkMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Entity, EntityData } from './Entity';
|
|
2
|
+
import { EasyData } from '../util/EntityUtil';
|
|
3
|
+
interface TeamMemberData extends EntityData {
|
|
4
|
+
teamMemberId: string;
|
|
5
|
+
teamId: string;
|
|
6
|
+
userId: string;
|
|
7
|
+
}
|
|
8
|
+
export type CreateTeamMemberData = Omit<EasyData<TeamMemberData, 'teamMemberId'>, 'id'>;
|
|
9
|
+
export declare class TeamMember extends Entity {
|
|
10
|
+
teamMemberId: string;
|
|
11
|
+
teamId: string;
|
|
12
|
+
userId: string;
|
|
13
|
+
constructor(data: TeamMemberData);
|
|
14
|
+
static create(data: CreateTeamMemberData): TeamMember;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TeamMember = void 0;
|
|
4
|
+
const Entity_1 = require("./Entity");
|
|
5
|
+
const EntityUtil_1 = require("../util/EntityUtil");
|
|
6
|
+
class TeamMember extends Entity_1.Entity {
|
|
7
|
+
constructor(data) {
|
|
8
|
+
super(data);
|
|
9
|
+
this.teamMemberId = data.teamMemberId;
|
|
10
|
+
this.teamId = data.teamId;
|
|
11
|
+
this.userId = data.userId;
|
|
12
|
+
}
|
|
13
|
+
static create(data) {
|
|
14
|
+
const newData = EntityUtil_1.EntityUtil.defaultData(data, 'teamMemberId');
|
|
15
|
+
return new TeamMember(newData);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.TeamMember = TeamMember;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbU1lbWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL2VudGl0eS9UZWFtTWVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUE4QztBQUM5QyxtREFBMEQ7QUFVMUQsTUFBYSxVQUFXLFNBQVEsZUFBTTtJQUtwQyxZQUFZLElBQW9CO1FBQzlCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQTBCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLHVCQUFVLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM3RCxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQWhCRCxnQ0FnQkMifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Entity, EntityData } from './Entity';
|
|
2
|
+
import { EasyData } from '../util/EntityUtil';
|
|
3
|
+
interface TeamPackageData extends EntityData {
|
|
4
|
+
teamPackageId: string;
|
|
5
|
+
teamId: string;
|
|
6
|
+
packageId: string;
|
|
7
|
+
}
|
|
8
|
+
export type CreateTeamPackageData = Omit<EasyData<TeamPackageData, 'teamPackageId'>, 'id'>;
|
|
9
|
+
export declare class TeamPackage extends Entity {
|
|
10
|
+
teamPackageId: string;
|
|
11
|
+
teamId: string;
|
|
12
|
+
packageId: string;
|
|
13
|
+
constructor(data: TeamPackageData);
|
|
14
|
+
static create(data: CreateTeamPackageData): TeamPackage;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TeamPackage = void 0;
|
|
4
|
+
const Entity_1 = require("./Entity");
|
|
5
|
+
const EntityUtil_1 = require("../util/EntityUtil");
|
|
6
|
+
class TeamPackage extends Entity_1.Entity {
|
|
7
|
+
constructor(data) {
|
|
8
|
+
super(data);
|
|
9
|
+
this.teamPackageId = data.teamPackageId;
|
|
10
|
+
this.teamId = data.teamId;
|
|
11
|
+
this.packageId = data.packageId;
|
|
12
|
+
}
|
|
13
|
+
static create(data) {
|
|
14
|
+
const newData = EntityUtil_1.EntityUtil.defaultData(data, 'teamPackageId');
|
|
15
|
+
return new TeamPackage(newData);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.TeamPackage = TeamPackage;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbVBhY2thZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9lbnRpdHkvVGVhbVBhY2thZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQThDO0FBQzlDLG1EQUEwRDtBQVUxRCxNQUFhLFdBQVksU0FBUSxlQUFNO0lBS3JDLFlBQVksSUFBcUI7UUFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsdUJBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBaEJELGtDQWdCQyJ9
|
|
@@ -12,10 +12,10 @@ export declare class BinarySyncerService extends AbstractService {
|
|
|
12
12
|
findBinary(targetName: BinaryName | CategoryName, parent: string, name: string): Promise<Binary | null>;
|
|
13
13
|
listDirBinaries(binary: Binary): Promise<Binary[]>;
|
|
14
14
|
listRootBinaries(binaryName: BinaryName): Promise<Binary[]>;
|
|
15
|
-
downloadBinary(binary: Binary): Promise<string | import("stream").Readable | undefined>;
|
|
15
|
+
downloadBinary(binary: Binary): Promise<string | import("node:stream").Readable | undefined>;
|
|
16
16
|
createTask(binaryName: BinaryName, lastData?: any): Promise<Task<import("../entity/Task").TaskBaseData> | undefined>;
|
|
17
17
|
findTask(taskId: string): Promise<Task<import("../entity/Task").TaskBaseData> | null>;
|
|
18
|
-
findTaskLog(task: Task): Promise<string | import("stream").Readable | undefined>;
|
|
18
|
+
findTaskLog(task: Task): Promise<string | import("node:stream").Readable | undefined>;
|
|
19
19
|
findExecuteTask(): Promise<Task<import("../entity/Task").TaskBaseData> | null>;
|
|
20
20
|
executeTask(task: Task): Promise<void>;
|
|
21
21
|
private syncDir;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AbstractService } from '../../common/AbstractService';
|
|
2
|
+
import { Org } from '../entity/Org';
|
|
3
|
+
import { OrgMember } from '../entity/OrgMember';
|
|
4
|
+
export interface CreateOrgCmd {
|
|
5
|
+
name: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
creatorUserId: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class OrgService extends AbstractService {
|
|
10
|
+
private readonly orgRepository;
|
|
11
|
+
private readonly teamRepository;
|
|
12
|
+
createOrg(cmd: CreateOrgCmd): Promise<Org>;
|
|
13
|
+
removeOrg(orgId: string): Promise<void>;
|
|
14
|
+
findOrgByName(name: string): Promise<Org | null>;
|
|
15
|
+
addMember(orgId: string, userId: string, role?: 'owner' | 'member'): Promise<OrgMember>;
|
|
16
|
+
removeMember(orgId: string, userId: string): Promise<void>;
|
|
17
|
+
listMembers(orgId: string): Promise<OrgMember[]>;
|
|
18
|
+
requiredOrgOwnerOrAdmin(orgId: string, userId: string, isAdmin: boolean): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OrgService = void 0;
|
|
13
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
14
|
+
const egg_errors_1 = require("egg-errors");
|
|
15
|
+
const AbstractService_1 = require("../../common/AbstractService");
|
|
16
|
+
const constants_1 = require("../../common/constants");
|
|
17
|
+
const OrgRepository_1 = require("../../repository/OrgRepository");
|
|
18
|
+
const TeamRepository_1 = require("../../repository/TeamRepository");
|
|
19
|
+
const Org_1 = require("../entity/Org");
|
|
20
|
+
const OrgMember_1 = require("../entity/OrgMember");
|
|
21
|
+
const Team_1 = require("../entity/Team");
|
|
22
|
+
const TeamMember_1 = require("../entity/TeamMember");
|
|
23
|
+
let OrgService = class OrgService extends AbstractService_1.AbstractService {
|
|
24
|
+
async createOrg(cmd) {
|
|
25
|
+
const existing = await this.orgRepository.findOrgByName(cmd.name);
|
|
26
|
+
if (existing) {
|
|
27
|
+
throw new egg_errors_1.ForbiddenError(`Org "${cmd.name}" already exists`);
|
|
28
|
+
}
|
|
29
|
+
// Create org + developers team + owner + team member in one transaction
|
|
30
|
+
const org = Org_1.Org.create({
|
|
31
|
+
name: cmd.name,
|
|
32
|
+
description: cmd.description,
|
|
33
|
+
});
|
|
34
|
+
const developersTeam = Team_1.Team.create({
|
|
35
|
+
orgId: org.orgId,
|
|
36
|
+
name: constants_1.DEVELOPERS_TEAM,
|
|
37
|
+
description: 'default team',
|
|
38
|
+
});
|
|
39
|
+
const ownerMember = OrgMember_1.OrgMember.create({
|
|
40
|
+
orgId: org.orgId,
|
|
41
|
+
userId: cmd.creatorUserId,
|
|
42
|
+
role: 'owner',
|
|
43
|
+
});
|
|
44
|
+
const teamMember = TeamMember_1.TeamMember.create({
|
|
45
|
+
teamId: developersTeam.teamId,
|
|
46
|
+
userId: cmd.creatorUserId,
|
|
47
|
+
});
|
|
48
|
+
await this.orgRepository.createOrgCascade(org, developersTeam, ownerMember, teamMember);
|
|
49
|
+
this.logger.info('[OrgService:createOrg] orgId: %s, name: %s, creatorUserId: %s', org.orgId, org.name, cmd.creatorUserId);
|
|
50
|
+
return org;
|
|
51
|
+
}
|
|
52
|
+
async removeOrg(orgId) {
|
|
53
|
+
await this.orgRepository.removeOrgCascade(orgId);
|
|
54
|
+
this.logger.info('[OrgService:removeOrg] orgId: %s', orgId);
|
|
55
|
+
}
|
|
56
|
+
async findOrgByName(name) {
|
|
57
|
+
return await this.orgRepository.findOrgByName(name);
|
|
58
|
+
}
|
|
59
|
+
async addMember(orgId, userId, role = 'member') {
|
|
60
|
+
const org = await this.orgRepository.findOrgByOrgId(orgId);
|
|
61
|
+
if (!org) {
|
|
62
|
+
throw new egg_errors_1.NotFoundError('Org not found');
|
|
63
|
+
}
|
|
64
|
+
// Upsert org member
|
|
65
|
+
let member = await this.orgRepository.findMember(orgId, userId);
|
|
66
|
+
if (member) {
|
|
67
|
+
member.role = role;
|
|
68
|
+
await this.orgRepository.saveMember(member);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
member = OrgMember_1.OrgMember.create({ orgId, userId, role });
|
|
72
|
+
await this.orgRepository.saveMember(member);
|
|
73
|
+
}
|
|
74
|
+
// Auto-add to developers team
|
|
75
|
+
const developersTeam = await this.teamRepository.findTeam(orgId, constants_1.DEVELOPERS_TEAM);
|
|
76
|
+
if (developersTeam) {
|
|
77
|
+
const existingTeamMember = await this.teamRepository.findMember(developersTeam.teamId, userId);
|
|
78
|
+
if (!existingTeamMember) {
|
|
79
|
+
const teamMember = TeamMember_1.TeamMember.create({
|
|
80
|
+
teamId: developersTeam.teamId,
|
|
81
|
+
userId,
|
|
82
|
+
});
|
|
83
|
+
await this.teamRepository.addMember(teamMember);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.logger.info('[OrgService:addMember] orgId: %s, userId: %s, role: %s', orgId, userId, role);
|
|
87
|
+
return member;
|
|
88
|
+
}
|
|
89
|
+
async removeMember(orgId, userId) {
|
|
90
|
+
// Remove from all teams in this org
|
|
91
|
+
await this.teamRepository.removeMemberFromAllTeams(orgId, userId);
|
|
92
|
+
// Remove from org
|
|
93
|
+
await this.orgRepository.removeMember(orgId, userId);
|
|
94
|
+
this.logger.info('[OrgService:removeMember] orgId: %s, userId: %s', orgId, userId);
|
|
95
|
+
}
|
|
96
|
+
async listMembers(orgId) {
|
|
97
|
+
return await this.orgRepository.listMembers(orgId);
|
|
98
|
+
}
|
|
99
|
+
async requiredOrgOwnerOrAdmin(orgId, userId, isAdmin) {
|
|
100
|
+
if (isAdmin)
|
|
101
|
+
return;
|
|
102
|
+
const member = await this.orgRepository.findMember(orgId, userId);
|
|
103
|
+
if (!member || member.role !== 'owner') {
|
|
104
|
+
throw new egg_errors_1.ForbiddenError('Only org owner or admin can perform this action');
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
exports.OrgService = OrgService;
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, tegg_1.Inject)(),
|
|
111
|
+
__metadata("design:type", OrgRepository_1.OrgRepository)
|
|
112
|
+
], OrgService.prototype, "orgRepository", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
(0, tegg_1.Inject)(),
|
|
115
|
+
__metadata("design:type", TeamRepository_1.TeamRepository)
|
|
116
|
+
], OrgService.prototype, "teamRepository", void 0);
|
|
117
|
+
exports.OrgService = OrgService = __decorate([
|
|
118
|
+
(0, tegg_1.SingletonProto)({
|
|
119
|
+
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
120
|
+
})
|
|
121
|
+
], OrgService);
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3NlcnZpY2UvT3JnU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FJcUI7QUFDckIsMkNBQTJEO0FBQzNELGtFQUErRDtBQUMvRCxzREFBeUQ7QUFDekQsa0VBQStEO0FBQy9ELG9FQUFpRTtBQUNqRSx1Q0FBb0M7QUFDcEMsbURBQWdEO0FBQ2hELHlDQUFzQztBQUN0QyxxREFBa0Q7QUFXM0MsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVyxTQUFRLGlDQUFlO0lBTzdDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBaUI7UUFDL0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLElBQUksMkJBQWMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUM7U0FDOUQ7UUFFRCx3RUFBd0U7UUFDeEUsTUFBTSxHQUFHLEdBQUcsU0FBRyxDQUFDLE1BQU0sQ0FBQztZQUNyQixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7U0FDN0IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxjQUFjLEdBQUcsV0FBSSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7WUFDaEIsSUFBSSxFQUFFLDJCQUFlO1lBQ3JCLFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLHFCQUFTLENBQUMsTUFBTSxDQUFDO1lBQ25DLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixNQUFNLEVBQUUsR0FBRyxDQUFDLGFBQWE7WUFDekIsSUFBSSxFQUFFLE9B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
|
|
@@ -82,7 +82,7 @@ export declare class PackageManagerService extends AbstractService {
|
|
|
82
82
|
blockReason: null;
|
|
83
83
|
pkg: Package;
|
|
84
84
|
}>;
|
|
85
|
-
downloadPackageVersionTar(packageVersion: PackageVersion): Promise<string | import("stream").Readable | undefined>;
|
|
85
|
+
downloadPackageVersionTar(packageVersion: PackageVersion): Promise<string | import("node:stream").Readable | undefined>;
|
|
86
86
|
plusPackageVersionCounter(fullname: string, version: string): void;
|
|
87
87
|
savePackageVersionCounters(): Promise<void>;
|
|
88
88
|
saveDeprecatedVersions(pkg: Package, deprecatedList: {
|
|
@@ -21,7 +21,7 @@ export declare class PackageSyncerService extends AbstractService {
|
|
|
21
21
|
private readonly scopeManagerService;
|
|
22
22
|
createTask(fullname: string, options?: SyncPackageTaskOptions): Promise<Task<import("../entity/Task").TaskBaseData>>;
|
|
23
23
|
findTask(taskId: string): Promise<Task<import("../entity/Task").TaskBaseData> | null>;
|
|
24
|
-
findTaskLog(task: Task): Promise<string | import("stream").Readable | undefined>;
|
|
24
|
+
findTaskLog(task: Task): Promise<string | import("node:stream").Readable | undefined>;
|
|
25
25
|
findExecuteTask(): Promise<CreateSyncPackageTask>;
|
|
26
26
|
get allowSyncDownloadData(): boolean;
|
|
27
27
|
private syncDownloadData;
|
|
@@ -11,7 +11,7 @@ export declare class TaskService extends AbstractService {
|
|
|
11
11
|
retryTask(task: Task, appendLog?: string): Promise<void>;
|
|
12
12
|
findTask(taskId: string): Promise<Task<import("../entity/Task").TaskBaseData> | null>;
|
|
13
13
|
findTasks(taskIdList: Array<string>): Promise<Task<import("../entity/Task").TaskBaseData>[]>;
|
|
14
|
-
findTaskLog(task: Task): Promise<string | import("stream").Readable | undefined>;
|
|
14
|
+
findTaskLog(task: Task): Promise<string | import("node:stream").Readable | undefined>;
|
|
15
15
|
findExecuteTask(taskType: TaskType): Promise<Task<import("../entity/Task").TaskBaseData> | null>;
|
|
16
16
|
retryExecuteTimeoutTasks(): Promise<{
|
|
17
17
|
processing: number;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AbstractService } from '../../common/AbstractService';
|
|
2
|
+
import { Team } from '../entity/Team';
|
|
3
|
+
import { TeamMember } from '../entity/TeamMember';
|
|
4
|
+
import { TeamPackage } from '../entity/TeamPackage';
|
|
5
|
+
export declare class TeamService extends AbstractService {
|
|
6
|
+
private readonly orgRepository;
|
|
7
|
+
private readonly teamRepository;
|
|
8
|
+
createTeam(orgId: string, name: string, description?: string): Promise<Team>;
|
|
9
|
+
removeTeam(teamId: string): Promise<void>;
|
|
10
|
+
addMember(teamId: string, userId: string): Promise<TeamMember>;
|
|
11
|
+
removeMember(teamId: string, userId: string): Promise<void>;
|
|
12
|
+
listMembers(teamId: string): Promise<TeamMember[]>;
|
|
13
|
+
grantPackageAccess(teamId: string, packageId: string): Promise<TeamPackage>;
|
|
14
|
+
revokePackageAccess(teamId: string, packageId: string): Promise<void>;
|
|
15
|
+
listPackages(teamId: string): Promise<TeamPackage[]>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TeamService = void 0;
|
|
13
|
+
const tegg_1 = require("@eggjs/tegg");
|
|
14
|
+
const egg_errors_1 = require("egg-errors");
|
|
15
|
+
const AbstractService_1 = require("../../common/AbstractService");
|
|
16
|
+
const constants_1 = require("../../common/constants");
|
|
17
|
+
const OrgRepository_1 = require("../../repository/OrgRepository");
|
|
18
|
+
const TeamRepository_1 = require("../../repository/TeamRepository");
|
|
19
|
+
const Team_1 = require("../entity/Team");
|
|
20
|
+
const TeamMember_1 = require("../entity/TeamMember");
|
|
21
|
+
const TeamPackage_1 = require("../entity/TeamPackage");
|
|
22
|
+
let TeamService = class TeamService extends AbstractService_1.AbstractService {
|
|
23
|
+
async createTeam(orgId, name, description) {
|
|
24
|
+
const existing = await this.teamRepository.findTeam(orgId, name);
|
|
25
|
+
if (existing) {
|
|
26
|
+
throw new egg_errors_1.ForbiddenError(`Team "${name}" already exists`);
|
|
27
|
+
}
|
|
28
|
+
const team = Team_1.Team.create({
|
|
29
|
+
orgId,
|
|
30
|
+
name,
|
|
31
|
+
description,
|
|
32
|
+
});
|
|
33
|
+
await this.teamRepository.saveTeam(team);
|
|
34
|
+
this.logger.info('[TeamService:createTeam] teamId: %s, orgId: %s, name: %s', team.teamId, orgId, name);
|
|
35
|
+
return team;
|
|
36
|
+
}
|
|
37
|
+
async removeTeam(teamId) {
|
|
38
|
+
const team = await this.teamRepository.findTeamByTeamId(teamId);
|
|
39
|
+
if (!team) {
|
|
40
|
+
throw new egg_errors_1.NotFoundError('Team not found');
|
|
41
|
+
}
|
|
42
|
+
if (team.name === constants_1.DEVELOPERS_TEAM) {
|
|
43
|
+
throw new egg_errors_1.ForbiddenError('Cannot delete the developers team');
|
|
44
|
+
}
|
|
45
|
+
// Cascade: remove packages + members + team in one transaction
|
|
46
|
+
await this.teamRepository.removeTeamCascade(teamId);
|
|
47
|
+
this.logger.info('[TeamService:removeTeam] teamId: %s', teamId);
|
|
48
|
+
}
|
|
49
|
+
async addMember(teamId, userId) {
|
|
50
|
+
const team = await this.teamRepository.findTeamByTeamId(teamId);
|
|
51
|
+
if (!team) {
|
|
52
|
+
throw new egg_errors_1.NotFoundError('Team not found');
|
|
53
|
+
}
|
|
54
|
+
// Must be an org member
|
|
55
|
+
const orgMember = await this.orgRepository.findMember(team.orgId, userId);
|
|
56
|
+
if (!orgMember) {
|
|
57
|
+
throw new egg_errors_1.ForbiddenError('User must be an org member before joining a team');
|
|
58
|
+
}
|
|
59
|
+
const existing = await this.teamRepository.findMember(teamId, userId);
|
|
60
|
+
if (existing) {
|
|
61
|
+
return existing;
|
|
62
|
+
}
|
|
63
|
+
const member = TeamMember_1.TeamMember.create({ teamId, userId });
|
|
64
|
+
await this.teamRepository.addMember(member);
|
|
65
|
+
this.logger.info('[TeamService:addMember] teamId: %s, userId: %s', teamId, userId);
|
|
66
|
+
return member;
|
|
67
|
+
}
|
|
68
|
+
async removeMember(teamId, userId) {
|
|
69
|
+
await this.teamRepository.removeMember(teamId, userId);
|
|
70
|
+
this.logger.info('[TeamService:removeMember] teamId: %s, userId: %s', teamId, userId);
|
|
71
|
+
}
|
|
72
|
+
async listMembers(teamId) {
|
|
73
|
+
return await this.teamRepository.listMembers(teamId);
|
|
74
|
+
}
|
|
75
|
+
async grantPackageAccess(teamId, packageId) {
|
|
76
|
+
const team = await this.teamRepository.findTeamByTeamId(teamId);
|
|
77
|
+
if (!team) {
|
|
78
|
+
throw new egg_errors_1.NotFoundError('Team not found');
|
|
79
|
+
}
|
|
80
|
+
const existing = await this.teamRepository.findPackage(teamId, packageId);
|
|
81
|
+
if (existing) {
|
|
82
|
+
return existing;
|
|
83
|
+
}
|
|
84
|
+
const teamPackage = TeamPackage_1.TeamPackage.create({ teamId, packageId });
|
|
85
|
+
await this.teamRepository.addPackage(teamPackage);
|
|
86
|
+
this.logger.info('[TeamService:grantPackageAccess] teamId: %s, packageId: %s', teamId, packageId);
|
|
87
|
+
return teamPackage;
|
|
88
|
+
}
|
|
89
|
+
async revokePackageAccess(teamId, packageId) {
|
|
90
|
+
await this.teamRepository.removePackage(teamId, packageId);
|
|
91
|
+
this.logger.info('[TeamService:revokePackageAccess] teamId: %s, packageId: %s', teamId, packageId);
|
|
92
|
+
}
|
|
93
|
+
async listPackages(teamId) {
|
|
94
|
+
return await this.teamRepository.listPackages(teamId);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
exports.TeamService = TeamService;
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, tegg_1.Inject)(),
|
|
100
|
+
__metadata("design:type", OrgRepository_1.OrgRepository)
|
|
101
|
+
], TeamService.prototype, "orgRepository", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
(0, tegg_1.Inject)(),
|
|
104
|
+
__metadata("design:type", TeamRepository_1.TeamRepository)
|
|
105
|
+
], TeamService.prototype, "teamRepository", void 0);
|
|
106
|
+
exports.TeamService = TeamService = __decorate([
|
|
107
|
+
(0, tegg_1.SingletonProto)({
|
|
108
|
+
accessLevel: tegg_1.AccessLevel.PUBLIC,
|
|
109
|
+
})
|
|
110
|
+
], TeamService);
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvY29yZS9zZXJ2aWNlL1RlYW1TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNDQUlxQjtBQUNyQiwyQ0FBMkQ7QUFDM0Qsa0VBQStEO0FBQy9ELHNEQUF5RDtBQUN6RCxrRUFBK0Q7QUFDL0Qsb0VBQWlFO0FBQ2pFLHlDQUFzQztBQUN0QyxxREFBa0Q7QUFDbEQsdURBQW9EO0FBSzdDLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVksU0FBUSxpQ0FBZTtJQU85QyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsV0FBb0I7UUFDaEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLElBQUksMkJBQWMsQ0FBQyxTQUFTLElBQUksa0JBQWtCLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sSUFBSSxHQUFHLFdBQUksQ0FBQyxNQUFNLENBQUM7WUFDdkIsS0FBSztZQUNMLElBQUk7WUFDSixXQUFXO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwREFBMEQsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FB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
|
|
@@ -14,7 +14,7 @@ export declare class BinarySyncController extends AbstractController {
|
|
|
14
14
|
type: string;
|
|
15
15
|
url: string;
|
|
16
16
|
}[]>;
|
|
17
|
-
showBinary(ctx: EggContext, binaryName: BinaryName, subpath: string): Promise<import("stream").Readable | {
|
|
17
|
+
showBinary(ctx: EggContext, binaryName: BinaryName, subpath: string): Promise<import("node:stream").Readable | {
|
|
18
18
|
id: string;
|
|
19
19
|
category: string;
|
|
20
20
|
name: string;
|
|
@@ -24,7 +24,7 @@ export declare class BinarySyncController extends AbstractController {
|
|
|
24
24
|
url: string;
|
|
25
25
|
modified: Date;
|
|
26
26
|
}[] | undefined>;
|
|
27
|
-
showBinaryIndex(ctx: EggContext, binaryName: BinaryName): Promise<import("stream").Readable | {
|
|
27
|
+
showBinaryIndex(ctx: EggContext, binaryName: BinaryName): Promise<import("node:stream").Readable | {
|
|
28
28
|
id: string;
|
|
29
29
|
category: string;
|
|
30
30
|
name: string;
|
|
@@ -22,7 +22,7 @@ export declare class PackageSyncController extends AbstractController {
|
|
|
22
22
|
logUrl: string | undefined;
|
|
23
23
|
error: string | undefined;
|
|
24
24
|
}>;
|
|
25
|
-
showSyncTaskLog(ctx: EggContext, fullname: string, taskId: string): Promise<import("stream").Readable | undefined>;
|
|
25
|
+
showSyncTaskLog(ctx: EggContext, fullname: string, taskId: string): Promise<import("node:stream").Readable | undefined>;
|
|
26
26
|
deprecatedCreateSyncTask(ctx: EggContext, fullname: string, nodeps: string): Promise<{
|
|
27
27
|
ok: boolean;
|
|
28
28
|
logId: string;
|
|
@@ -21,6 +21,6 @@ export declare class PackageVersionFileController extends AbstractController {
|
|
|
21
21
|
private distRepository;
|
|
22
22
|
sync(ctx: EggContext, fullname: string, versionSpec: string): Promise<FileItem[]>;
|
|
23
23
|
listFiles(ctx: EggContext, fullname: string, versionSpec: string, meta: string): Promise<DirectoryItem | undefined>;
|
|
24
|
-
raw(ctx: EggContext, fullname: string, versionSpec: string, path: string, meta: string): Promise<import("stream").Readable | FileItem | DirectoryItem | undefined>;
|
|
24
|
+
raw(ctx: EggContext, fullname: string, versionSpec: string, path: string, meta: string): Promise<import("node:stream").Readable | FileItem | DirectoryItem | undefined>;
|
|
25
25
|
}
|
|
26
26
|
export {};
|