UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

163 lines 12.9 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, } from 'egg'; import { CreateHookRequestRule, UpdateHookRequestRule } from "../typebox.js"; import { HookConvertor } from "./convertor/HookConvertor.js"; let HookController = class HookController { async createHook(ctx, req) { ctx.tValidate(CreateHookRequestRule, req); const user = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting'); const hook = await this.hookManageService.createHook({ ownerId: user.userId, type: req.type, name: req.name, endpoint: req.endpoint, secret: req.secret, }); return HookConvertor.convertToHookVo(hook, user); } async updateHook(ctx, id, req) { ctx.tValidate(UpdateHookRequestRule, req); const user = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting'); const hook = await this.hookManageService.updateHook({ operatorId: user.userId, hookId: id, endpoint: req.endpoint, secret: req.secret, }); let task = null; if (hook.latestTaskId) { task = (await this.taskService.findTask(hook.latestTaskId)); } return HookConvertor.convertToHookVo(hook, user, task); } async deleteHook(ctx, id) { const user = await this.userRoleManager.requiredAuthorizedUser(ctx, 'setting'); const hook = await this.hookManageService.deleteHook({ operatorId: user.userId, hookId: id, }); let task = null; if (hook.latestTaskId) { task = (await this.taskService.findTask(hook.latestTaskId)); } return HookConvertor.convertToDeleteHookVo(hook, user, task); } async listHooks(ctx, packageName, offset, limit) { const user = await this.userRoleManager.requiredAuthorizedUser(ctx, 'read'); let hooks = await this.hookManageService.listHooksByOwnerId(user.userId); // Filter by package name (npm spec: ?package=lodash) if (packageName) { hooks = hooks.filter((hook) => hook.name === packageName); } // Pagination (npm spec: ?limit=N&offset=N) const offsetNum = offset ?? 0; if (offsetNum > 0 || limit !== undefined) { hooks = hooks.slice(offsetNum, limit !== undefined ? offsetNum + limit : undefined); } const tasks = await this.taskService.findTasks(hooks.map((t) => t.latestTaskId).filter((t) => !!t)); const res = hooks.map((hook) => { const task = tasks.find((t) => t.taskId === hook.latestTaskId); return HookConvertor.convertToHookVo(hook, user, task); }); return { objects: res, }; } async getHook(ctx, id) { const user = await this.userRoleManager.requiredAuthorizedUser(ctx, 'read'); const hook = await this.hookManageService.getHookByOwnerId(id, user.userId); let task = null; if (hook.latestTaskId) { task = (await this.taskService.findTask(hook.latestTaskId)); } return HookConvertor.convertToHookVo(hook, user, task); } }; __decorate([ Inject(), __metadata("design:type", Function) ], HookController.prototype, "hookManageService", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], HookController.prototype, "taskService", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], HookController.prototype, "userRoleManager", void 0); __decorate([ HTTPMethod({ path: '/v1/hooks/hook', method: HTTPMethodEnum.POST, }), __param(0, HTTPContext()), __param(1, HTTPBody()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, Object]), __metadata("design:returntype", Promise) ], HookController.prototype, "createHook", null); __decorate([ HTTPMethod({ path: '/v1/hooks/hook/:id', method: HTTPMethodEnum.PUT, }), __param(0, HTTPContext()), __param(1, HTTPParam()), __param(2, HTTPBody()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, String, Object]), __metadata("design:returntype", Promise) ], HookController.prototype, "updateHook", null); __decorate([ HTTPMethod({ path: '/v1/hooks/hook/:id', method: HTTPMethodEnum.DELETE, }), __param(0, HTTPContext()), __param(1, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, String]), __metadata("design:returntype", Promise) ], HookController.prototype, "deleteHook", null); __decorate([ HTTPMethod({ path: '/v1/hooks', method: HTTPMethodEnum.GET, }), __param(0, HTTPContext()), __param(1, HTTPQuery({ name: 'package' })), __param(2, HTTPQuery()), __param(3, HTTPQuery()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, Object, Object, Object]), __metadata("design:returntype", Promise) ], HookController.prototype, "listHooks", null); __decorate([ HTTPMethod({ path: '/v1/hooks/hook/:id', method: HTTPMethodEnum.GET, }), __param(0, HTTPContext()), __param(1, HTTPParam()), __metadata("design:type", Function), __metadata("design:paramtypes", [Context, String]), __metadata("design:returntype", Promise) ], HookController.prototype, "getHook", null); HookController = __decorate([ HTTPController({ path: '/-/npm', }) ], HookController); export { HookController }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9va0NvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9jb250cm9sbGVyL0hvb2tDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixjQUFjLEVBQ2QsVUFBVSxFQUNWLGNBQWMsRUFDZCxTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLEtBQUssQ0FBQztBQU1iLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBaUJ0RCxJQUFNLGNBQWMsR0FBcEIsTUFBTSxjQUFjO0lBY25CLEFBQU4sS0FBSyxDQUFDLFVBQVUsQ0FBZ0IsR0FBWSxFQUFjLEdBQXNCO1FBQzlFLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMvRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDbkQsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3BCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBZ0I7WUFDMUIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1lBQ2QsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFDSCxPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFNSyxBQUFOLEtBQUss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