UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

70 lines 5.69 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; import { HTTPController, HTTPMethod, HTTPMethodEnum, HTTPParam } from 'egg'; import { ForbiddenError, NotFoundError } from 'egg/errors'; import { PackageAccessLevel } from "../../common/constants.js"; import { FULLNAME_REG_STRING, getFullname, getScopeAndName } from "../../common/PackageUtil.js"; import { AbstractController } from "./AbstractController.js"; let AccessController = class AccessController extends AbstractController { async listCollaborators(fullname) { const [scope, name] = getScopeAndName(fullname); const pkg = await this.packageRepository.findPackage(scope, name); // return 403 if pkg not exists if (!pkg) { throw new ForbiddenError('Forbidden'); } const maintainers = await this.packageRepository.listPackageMaintainers(pkg.packageId); const res = {}; for (const maintainer of maintainers) { res[maintainer.displayName] = PackageAccessLevel.write; } return res; } async listPackagesByUser(username) { const user = await this.userRepository.findUserByName(username); if (!user) { throw new NotFoundError(`User "${username}" not found`); } const pkgs = await this.packageRepository.listPackagesByUserId(user.userId); const res = {}; for (const pkg of pkgs) { res[getFullname(pkg.scope, pkg.name)] = PackageAccessLevel.write; } return res; } }; __decorate([ HTTPMethod({ path: `/-/package/:fullname(${FULLNAME_REG_STRING})/collaborators`, method: HTTPMethodEnum.GET, }), __param(0, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], AccessController.prototype, "listCollaborators", null); __decorate([ HTTPMethod({ path: '/-/org/:username/package', method: HTTPMethodEnum.GET, }), __param(0, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], AccessController.prototype, "listPackagesByUser", null); AccessController = __decorate([ HTTPController() ], AccessController); export { AccessController }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjZXNzQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvQWNjZXNzQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHdEQsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxrQkFBa0I7SUFLaEQsQUFBTixLQUFLLENBQUMsaUJBQWlCLENBQWMsUUFBZ0I7UUFDbkQsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRSwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sR0FBRyxHQUEyQixFQUFFLENBQUM7UUFDdkMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUN6RCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBTUssQUFBTixLQUFLLENBQUMsa0JBQWtCLENBQWMsUUFBZ0I7UUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksYUFBYSxDQUFDLFNBQVMsUUFBUSxhQUFhLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVFLE1BQU0sR0FBRyxHQUEyQixFQUFFLENBQUM7UUFDdkMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ25FLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRixDQUFBO0FBbkNPO0lBSkwsVUFBVSxDQUFDO1FBQ1YsSUFBSSxFQUFFLHdCQUF3QixtQkFBbUIsaUJBQWlCO1FBQ2xFLE1BQU0sRUFBRSxjQUFjLENBQUMsR0FBRztLQUMzQixDQUFDO0lBQ3VCLFdBQUEsU0FBUyxFQUFFLENBQUE7Ozs7eURBZW5DO0FBTUs7SUFKTCxVQUFVLENBQUM7UUFDVixJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLE1BQU0sRUFBRSxjQUFjLENBQUMsR0FBRztLQUMzQixDQUFDO0lBQ3dCLFdBQUEsU0FBUyxFQUFFLENBQUE7Ozs7MERBYXBDO0FBdkNVLGdCQUFnQjtJQUQ1QixjQUFjLEVBQUU7R0FDSixnQkFBZ0IsQ0F3QzVCIn0=