UNPKG

cnpmcore

Version:
190 lines 14.4 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.RegistryController = void 0; const tegg_1 = require("@eggjs/tegg"); const egg_errors_1 = require("egg-errors"); const AbstractController_1 = require("./AbstractController"); const RegistryManagerService_1 = require("../../core/service/RegistryManagerService"); const AdminAccess_1 = require("../middleware/AdminAccess"); const ScopeManagerService_1 = require("../../core/service/ScopeManagerService"); const typebox_1 = require("../typebox"); let RegistryController = class RegistryController extends AbstractController_1.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 egg_errors_1.NotFoundError('registry not found'); } return registry; } async showRegistryScopes(id, pageSize, pageIndex) { const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new egg_errors_1.NotFoundError('registry not found'); } const scopes = await this.scopeManagerService.listScopesByRegistryId(id, { pageIndex, pageSize }); return scopes; } async createRegistry(ctx, registryOptions) { ctx.tValidate(typebox_1.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(typebox_1.RegistryCreateSyncOptions, registryOptions); const { since } = registryOptions; const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new egg_errors_1.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(typebox_1.RegistryUpdateOptions, updateRegistryOptions); const registry = await this.registryManagerService.findByRegistryId(id); if (!registry) { throw new egg_errors_1.NotFoundError('registry not found'); } else { 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 }; } }; exports.RegistryController = RegistryController; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", RegistryManagerService_1.RegistryManagerService) ], RegistryController.prototype, "registryManagerService", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", ScopeManagerService_1.ScopeManagerService) ], RegistryController.prototype, "scopeManagerService", void 0); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry', method: tegg_1.HTTPMethodEnum.GET, }), __param(0, (0, tegg_1.HTTPQuery)()), __param(1, (0, tegg_1.HTTPQuery)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "listRegistries", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry/:id', method: tegg_1.HTTPMethodEnum.GET, }), __param(0, (0, tegg_1.HTTPParam)()), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "showRegistry", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry/:id/scopes', method: tegg_1.HTTPMethodEnum.GET, }), __param(0, (0, tegg_1.HTTPParam)()), __param(1, (0, tegg_1.HTTPQuery)()), __param(2, (0, tegg_1.HTTPQuery)()), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Object, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "showRegistryScopes", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry', method: tegg_1.HTTPMethodEnum.POST, }), (0, tegg_1.Middleware)(AdminAccess_1.AdminAccess), __param(0, (0, tegg_1.Context)()), __param(1, (0, tegg_1.HTTPBody)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "createRegistry", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry/:id/sync', method: tegg_1.HTTPMethodEnum.POST, }), (0, tegg_1.Middleware)(AdminAccess_1.AdminAccess), __param(0, (0, tegg_1.Context)()), __param(1, (0, tegg_1.HTTPParam)()), __param(2, (0, tegg_1.HTTPBody)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "createRegistrySyncTask", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry/:id', method: tegg_1.HTTPMethodEnum.DELETE, }), (0, tegg_1.Middleware)(AdminAccess_1.AdminAccess), __param(0, (0, tegg_1.Context)()), __param(1, (0, tegg_1.HTTPParam)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "removeRegistry", null); __decorate([ (0, tegg_1.HTTPMethod)({ path: '/-/registry/:id', method: tegg_1.HTTPMethodEnum.PATCH, }), (0, tegg_1.Middleware)(AdminAccess_1.AdminAccess), __param(0, (0, tegg_1.Context)()), __param(1, (0, tegg_1.HTTPParam)()), __param(2, (0, tegg_1.HTTPBody)()), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, Object]), __metadata("design:returntype", Promise) ], RegistryController.prototype, "updateRegistry", null); exports.RegistryController = RegistryController = __decorate([ (0, tegg_1.HTTPController)() ], RegistryController); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaXN0cnlDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL3BvcnQvY29udHJvbGxlci9SZWdpc3RyeUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0NBV3FCO0FBQ3JCLDJDQUEyQztBQUMzQyw2REFBMEQ7QUFFMUQsc0ZBQXNHO0FBQ3RHLDJEQUF3RDtBQUN4RCxnRkFBNkU7QUFDN0Usd0NBQXVIO0FBR2hILElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQW1CLFNBQVEsdUNBQWtCO0lBVWxELEFBQU4sS0FBSyxDQUFDLGNBQWMsQ0FBYyxRQUFxRCxFQUFlLFNBQXVEO1FBQzNKLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFNSyxBQUFOLEtBQUssQ0FBQyxZQUFZLENBQWMsRUFBVTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLDBCQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUMvQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFNSyxBQUFOLEtBQUssQ0FBQyxrQkFBa0IsQ0FBYyxFQUFVLEVBQWUsUUFBcUQsRUFBZSxTQUF1RDtRQUN4TCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTSxJQUFJLDBCQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUMv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