UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

196 lines 13.8 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, HTTPQuery, Inject, Middleware, } from 'egg'; import { NotFoundError } from 'egg/errors'; import { AdminAccess } from "../middleware/AdminAccess.js"; import { RegistryCreateOptions, RegistryCreateSyncOptions, RegistryUpdateOptions, } from "../typebox.js"; import { AbstractController } from "./AbstractController.js"; let RegistryController = class RegistryController extends AbstractController { async listRegistries(pageSize, pageIndex) { const registries = await this.registryManagerService.listRegistries({ pageSize, pageIndex, }); return registries; } async showRegistry(id) { const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new NotFoundError('registry not found'); } return registry; } async showRegistryScopes(id, pageSize, pageIndex) { const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new NotFoundError('registry not found'); } const scopes = await this.scopeManagerService.listScopesByRegistryId(id, { pageIndex, pageSize, }); return scopes; } async createRegistry(ctx, registryOptions) { ctx.tValidate(RegistryCreateOptions, registryOptions); const authorizedUser = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting'); const { name, changeStream, host, userPrefix = '', type, authToken } = registryOptions; await this.registryManagerService.createRegistry({ name, changeStream, host, userPrefix, operatorId: authorizedUser.userId, type, authToken, }); return { ok: true }; } async createRegistrySyncTask(ctx, id, registryOptions) { ctx.tValidate(RegistryCreateSyncOptions, registryOptions); const { since } = registryOptions; const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new NotFoundError('registry not found'); } const authorizedUser = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting'); await this.registryManagerService.createSyncChangesStream({ registryId: registry.registryId, since, operatorId: authorizedUser.userId, }); return { ok: true }; } async removeRegistry(ctx, id) { const authorizedUser = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting'); await this.registryManagerService.remove({ registryId: id, operatorId: authorizedUser.userId, }); return { ok: true }; } async updateRegistry(ctx, id, updateRegistryOptions) { ctx.tValidate(RegistryUpdateOptions, updateRegistryOptions); const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new NotFoundError('registry not found'); } const { name, changeStream, host, type, authToken } = registry; const _updateRegistryOptions = { name, changeStream, host, type, authToken, ...updateRegistryOptions, }; await this.registryManagerService.updateRegistry(registry.registryId, _updateRegistryOptions); return { ok: true }; } }; __decorate([ Inject(), __metadata("design:type", Function) ], RegistryController.prototype, "registryManagerService", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], RegistryController.prototype, "scopeManagerService", void 0); __decorate([ HTTPMethod({ path: '/-/registry', method: HTTPMethodEnum.GET, }), __param(0, HTTPQuery()), __param(1, HTTPQuery()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "listRegistries", null); __decorate([ HTTPMethod({ path: '/-/registry/:id', method: HTTPMethodEnum.GET, }), __param(0, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "showRegistry", null); __decorate([ HTTPMethod({ path: '/-/registry/:id/scopes', method: HTTPMethodEnum.GET, }), __param(0, HTTPParam()), __param(1, HTTPQuery()), __param(2, HTTPQuery()), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Object, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "showRegistryScopes", null); __decorate([ HTTPMethod({ path: '/-/registry', method: HTTPMethodEnum.POST, }), Middleware(AdminAccess), __param(0, HTTPContext()), __param(1, HTTPBody()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "createRegistry", null); __decorate([ HTTPMethod({ path: '/-/registry/:id/sync', method: HTTPMethodEnum.POST, }), 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) ], RegistryController.prototype, "createRegistrySyncTask", null); __decorate([ HTTPMethod({ path: '/-/registry/:id', method: HTTPMethodEnum.DELETE, }), Middleware(AdminAccess), __param(0, HTTPContext()), __param(1, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, String]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "removeRegistry", null); __decorate([ HTTPMethod({ path: '/-/registry/:id', method: HTTPMethodEnum.PATCH, }), 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) ], RegistryController.prototype, "updateRegistry", null); RegistryController = __decorate([ HTTPController() ], RegistryController); export { RegistryController }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaXN0cnlDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9SZWdpc3RyeUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQ0EsT0FBTyxFQUNMLFdBQVcsRUFDWCxPQUFPLEVBQ1AsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLEVBQ1YsY0FBYyxFQUNkLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLEtBQUssQ0FBQztBQUNiLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUV0QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd0RCxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLGtCQUFrQjtJQVVsRCxBQUFOLEtBQUssQ0FBQyxjQUFjLENBQ0wsUUFBcUQsRUFDckQsU0FBdUQ7UUFFcEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDO1lBQ2xFLFFBQVE7WUFDUixTQUFTO1NBQ1YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQU1LLEFBQU4sS0FBSyxDQUFDLFlBQVksQ0FBYyxFQUFVO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNo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