UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

114 lines 9.39 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 { HTTPContext, Context, HTTPBody, HTTPController, HTTPMethod, HTTPMethodEnum, HTTPParam, Inject, Middleware, } from 'egg'; import { ForbiddenError } from 'egg/errors'; import { FULLNAME_REG_STRING } from "../../common/PackageUtil.js"; import { AdminAccess } from "../middleware/AdminAccess.js"; import { BlockPackageRule } from "../typebox.js"; import { AbstractController } from "./AbstractController.js"; let PackageBlockController = class PackageBlockController extends AbstractController { async blockPackage(ctx, fullname, data) { const params = { fullname, reason: data.reason }; ctx.tValidate(BlockPackageRule, params); const packageEntity = await this.getPackageEntityByFullname(params.fullname); if (packageEntity.isPrivate) { throw new ForbiddenError(`Can't block private package "${params.fullname}"`); } const authorized = await this.userRoleManager.getAuthorizedUserAndToken(ctx); const block = await this.packageManagerService.blockPackage(packageEntity, `${params.reason} (operator: ${authorized?.user.name}/${authorized?.user.userId})`); ctx.logger.info('[PackageBlockController.blockPackage:success] fullname: %s, packageId: %s, packageVersionBlockId: %s', fullname, packageEntity.packageId, block.packageVersionBlockId); ctx.status = 201; return { ok: true, id: block.packageVersionBlockId, package_id: packageEntity.packageId, }; } async unblockPackage(ctx, fullname) { const packageEntity = await this.getPackageEntityByFullname(fullname); if (packageEntity.isPrivate) { throw new ForbiddenError(`Can't unblock private package "${fullname}"`); } await this.packageManagerService.unblockPackage(packageEntity); ctx.logger.info('[PackageBlockController.unblockPackage:success] fullname: %s, packageId: %s', fullname, packageEntity.packageId); return { ok: true, }; } async listPackageBlocks(fullname) { const packageEntity = await this.getPackageEntityByFullname(fullname); const blocks = await this.packageVersionBlockRepository.listPackageVersionBlocks(packageEntity.packageId); return { data: blocks.map((block) => { return { id: block.packageVersionBlockId, version: block.version, reason: block.reason, created: block.createdAt, modified: block.updatedAt, }; }), }; } }; __decorate([ Inject(), __metadata("design:type", Function) ], PackageBlockController.prototype, "packageManagerService", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], PackageBlockController.prototype, "packageVersionBlockRepository", void 0); __decorate([ HTTPMethod({ // PUT /-/package/:fullname/blocks path: `/-/package/:fullname(${FULLNAME_REG_STRING})/blocks`, method: HTTPMethodEnum.PUT, }), Middleware(AdminAccess), __param(0, HTTPContext()), __param(1, HTTPParam()), __param(2, HTTPBody()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, String, Object]), __metadata("design:returntype", Promise) ], PackageBlockController.prototype, "blockPackage", null); __decorate([ HTTPMethod({ // DELETE /-/package/:fullname/blocks path: `/-/package/:fullname(${FULLNAME_REG_STRING})/blocks`, method: HTTPMethodEnum.DELETE, }), Middleware(AdminAccess), __param(0, HTTPContext()), __param(1, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, String]), __metadata("design:returntype", Promise) ], PackageBlockController.prototype, "unblockPackage", null); __decorate([ HTTPMethod({ // GET /-/package/:fullname/blocks path: `/-/package/:fullname(${FULLNAME_REG_STRING})/blocks`, method: HTTPMethodEnum.GET, }), __param(0, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], PackageBlockController.prototype, "listPackageBlocks", null); PackageBlockController = __decorate([ HTTPController() ], PackageBlockController); export { PackageBlockController }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZUJsb2NrQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvUGFja2FnZUJsb2NrQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEVBQ1IsY0FBYyxFQUNkLFVBQVUsRUFDVixjQUFjLEVBQ2QsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxLQUFLLENBQUM7QUFDYixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3RELElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXVCLFNBQVEsa0JBQWtCO0lBWXRELEFBQU4sS0FBSyxDQUFDLFlBQVksQ0FBZ0IsR0FBWSxFQUFlLFFBQWdCLEVBQWMsSUFBc0I7UUFDL0csTUFBTSxNQUFNLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqRCxHQUFHLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3RSxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksY0FBYyxDQUFDLGdDQUFnQyxNQUFNLENBQUMsUUFBUSxHQUFH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