cnpmcore
Version:
Private NPM Registry for Enterprise
163 lines • 12.9 kB
JavaScript
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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