UNPKG

cnpmcore

Version:
73 lines 5.74 kB
"use strict"; 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); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccessController = void 0; const tegg_1 = require("@eggjs/tegg"); const AbstractController_1 = require("./AbstractController"); const PackageUtil_1 = require("../../common/PackageUtil"); const constants_1 = require("../../common/constants"); const egg_errors_1 = require("egg-errors"); let AccessController = class AccessController extends AbstractController_1.AbstractController { async listCollaborators(fullname) { const [scope, name] = (0, PackageUtil_1.getScopeAndName)(fullname); const pkg = await this.packageRepository.findPackage(scope, name); // return 403 if pkg not exists if (!pkg) { throw new egg_errors_1.ForbiddenError('Forbidden'); } const maintainers = await this.packageRepository.listPackageMaintainers(pkg.packageId); const res = {}; maintainers.forEach(maintainer => { res[maintainer.displayName] = constants_1.PackageAccessLevel.write; }); return res; } async listPackagesByUser(username) { const user = await this.userRepository.findUserByName(username); if (!user) { throw new egg_errors_1.NotFoundError(`User "${username}" not found`); } const pkgs = await this.packageRepository.listPackagesByUserId(user.userId); const res = {}; pkgs.forEach(pkg => { res[(0, PackageUtil_1.getFullname)(pkg.scope, pkg.name)] = constants_1.PackageAccessLevel.write; }); return res; } }; exports.AccessController = AccessController; __decorate([ (0, tegg_1.HTTPMethod)({ path: `/-/package/:fullname(${PackageUtil_1.FULLNAME_REG_STRING})/collaborators`, method: tegg_1.HTTPMethodEnum.GET, }), __param(0, (0, tegg_1.HTTPParam)()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], AccessController.prototype, "listCollaborators", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/org/:username/package', method: tegg_1.HTTPMethodEnum.GET, }), __param(0, (0, tegg_1.HTTPParam)()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], AccessController.prototype, "listPackagesByUser", null); exports.AccessController = AccessController = __decorate([ (0, tegg_1.HTTPController)() ], AccessController); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjZXNzQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvQWNjZXNzQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQ0FLcUI7QUFDckIsNkRBQTBEO0FBQzFELDBEQUE2RjtBQUM3RixzREFBNEQ7QUFDNUQsMkNBQTJEO0FBR3BELElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsdUNBQWtCO0lBS2hELEFBQU4sS0FBSyxDQUFDLGlCQUFpQixDQUFjLFFBQWdCO1FBQ25ELE1BQU0sQ0FBRSxLQUFLLEVBQUUsSUFBSSxDQUFFLEdBQUcsSUFBQSw2QkFBZSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLElBQUksMkJBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLEdBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RixNQUFNLEdBQUcsR0FBMkIsRUFBRSxDQUFDO1FBQ3ZDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDL0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyw4QkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFNSyxBQUFOLEtBQUssQ0FBQyxrQkFBa0IsQ0FBYyxRQUFnQjtRQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxNQUFNLElBQUksMEJBQWEsQ0FBQyxTQUFTLFFBQVEsYUFBYSxDQUFDLENBQUM7U0FDekQ7UUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUUsTUFBTSxHQUFHLEdBQTJCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxJQUFBLHlCQUFXLEVBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyw4QkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FHRixDQUFBO0FBMUNZLDRDQUFnQjtBQUtyQjtJQUpMLElBQUEsaUJBQVUsRUFBQztRQUNWLElBQUksRUFBRSx3QkFBd0IsaUNBQW1CLGlCQUFpQjtRQUNsRSxNQUFNLEVBQUUscUJBQWMsQ0FBQyxHQUFHO0tBQzNCLENBQUM7SUFDdUIsV0FBQSxJQUFBLGdCQUFTLEdBQUUsQ0FBQTs7Ozt5REFlbkM7QUFNSztJQUpMLElBQUEsaUJBQVUsRUFBQztRQUNWLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsTUFBTSxFQUFFLHFCQUFjLENBQUMsR0FBRztLQUMzQixDQUFDO0lBQ3dCLFdBQUEsSUFBQSxnQkFBUyxHQUFFLENBQUE7Ozs7MERBYXBDOzJCQXZDVSxnQkFBZ0I7SUFENUIsSUFBQSxxQkFBYyxHQUFFO0dBQ0osZ0JBQWdCLENBMEM1QiJ9