UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

83 lines 9.28 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); }; import { AccessLevel, Inject, SingletonProto } from 'egg'; import pMap from 'p-map'; import { AbstractService } from "../../common/AbstractService.js"; import { HookType } from "../../common/enum/Hook.js"; import { TaskState } from "../../common/enum/Task.js"; import { isoNow } from "../../common/LogUtil.js"; import { getScopeAndName } from "../../common/PackageUtil.js"; import { Task } from "../entity/Task.js"; let CreateHookTriggerService = class CreateHookTriggerService extends AbstractService { async executeTask(task) { const { hookEvent } = task.data; const [scope, name] = getScopeAndName(hookEvent.fullname); const pkg = await this.packageRepository.findPackage(scope, name); if (!pkg) { await this.taskService.finishTask(task, TaskState.Success, `[${isoNow()}][Hooks] package ${hookEvent.fullname} not exits`); return; } const startLog = [ `[${isoNow()}][Hooks] Start Create Trigger for ${pkg.fullname} ${task.data.hookEvent.changeId}`, `[${isoNow()}][Hooks] change content ${JSON.stringify(task.data.hookEvent.change)}`, ]; await this.taskService.finishTask(task, TaskState.Processing, startLog.join('\n')); try { await this.taskService.appendTaskLog(task, `[${isoNow()}][Hooks] PushHooks to ${HookType.Package} ${pkg.fullname}\n`); await this.createTriggerByMethod(task, HookType.Package, pkg.fullname, hookEvent); await this.taskService.appendTaskLog(task, `[${isoNow()}][Hooks] PushHooks to ${HookType.Scope} ${pkg.scope}\n`); await this.createTriggerByMethod(task, HookType.Scope, pkg.scope, hookEvent); const maintainers = await this.packageRepository.listPackageMaintainers(pkg.packageId); for (const maintainer of maintainers) { await this.taskService.appendTaskLog(task, `[${isoNow()}][Hooks] PushHooks to ${HookType.Owner} ${maintainer.name}\n`); await this.createTriggerByMethod(task, HookType.Owner, maintainer.name, hookEvent); } await this.taskService.finishTask(task, TaskState.Success, `[${isoNow()}][Hooks] create trigger succeed \n`); } catch (e) { e.message = `create trigger failed: ${e.message}`; await this.taskService.finishTask(task, TaskState.Fail, `[${isoNow()}][Hooks] ${e.stack} \n`); return; } } async createTriggerByMethod(task, type, name, hookEvent) { let hooks = await this.hookRepository.listHooksByTypeAndName(type, name); while (hooks.length > 0) { await this.createTriggerTasks(hooks, hookEvent); hooks = await this.hookRepository.listHooksByTypeAndName(type, name, hooks[hooks.length - 1].id); await this.taskService.appendTaskLog(task, `[${isoNow()}][Hooks] PushHooks to ${type} ${name} ${hooks.length} \n`); } } async createTriggerTasks(hooks, hookEvent) { await pMap(hooks, async (hook) => { const triggerHookTask = Task.createTriggerHookTask(hookEvent, hook.hookId); await this.taskService.createTask(triggerHookTask, true); }, { concurrency: 5 }); } }; __decorate([ Inject(), __metadata("design:type", Function) ], CreateHookTriggerService.prototype, "hookRepository", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], CreateHookTriggerService.prototype, "packageRepository", void 0); __decorate([ Inject(), __metadata("design:type", Function) ], CreateHookTriggerService.prototype, "taskService", void 0); CreateHookTriggerService = __decorate([ SingletonProto({ accessLevel: AccessLevel.PUBLIC, }) ], CreateHookTriggerService); export { CreateHookTriggerService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlSG9va1RyaWdnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9DcmVhdGVIb29rVHJpZ2dlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQzFELE9BQU8sSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUV6QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSzlELE9BQU8sRUFBRSxJQUFJLEVBQXVCLE1BQU0sbUJBQW1CLENBQUM7QUFNdkQsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBeUIsU0FBUSxlQUFlO0lBVTNELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBb0I7UUFDcEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDL0IsSUFBSSxFQUNKLFNBQVMsQ0FBQyxP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