UNPKG

cnpmcore

Version:
92 lines 10 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 __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CreateHookTriggerService = void 0; const tegg_1 = require("@eggjs/tegg"); const AbstractService_1 = require("../../common/AbstractService"); const Hook_1 = require("../../common/enum/Hook"); const Task_1 = require("../../common/enum/Task"); const Task_2 = require("../entity/Task"); const HookRepository_1 = require("../../repository/HookRepository"); const PackageRepository_1 = require("../../repository/PackageRepository"); const p_map_1 = __importDefault(require("p-map")); const TaskService_1 = require("./TaskService"); const LogUtil_1 = require("../../common/LogUtil"); const PackageUtil_1 = require("../../common/PackageUtil"); let CreateHookTriggerService = class CreateHookTriggerService extends AbstractService_1.AbstractService { async executeTask(task) { const { hookEvent } = task.data; const [scope, name] = (0, PackageUtil_1.getScopeAndName)(hookEvent.fullname); const pkg = await this.packageRepository.findPackage(scope, name); if (!pkg) { await this.taskService.finishTask(task, Task_1.TaskState.Success, `[${(0, LogUtil_1.isoNow)()}][Hooks] package ${hookEvent.fullname} not exits`); return; } const startLog = [ `[${(0, LogUtil_1.isoNow)()}][Hooks] Start Create Trigger for ${pkg.fullname} ${task.data.hookEvent.changeId}`, `[${(0, LogUtil_1.isoNow)()}][Hooks] change content ${JSON.stringify(task.data.hookEvent.change)}`, ]; await this.taskService.finishTask(task, Task_1.TaskState.Processing, startLog.join('\n')); try { await this.taskService.appendTaskLog(task, `[${(0, LogUtil_1.isoNow)()}][Hooks] PushHooks to ${Hook_1.HookType.Package} ${pkg.fullname}\n`); await this.createTriggerByMethod(task, Hook_1.HookType.Package, pkg.fullname, hookEvent); await this.taskService.appendTaskLog(task, `[${(0, LogUtil_1.isoNow)()}][Hooks] PushHooks to ${Hook_1.HookType.Scope} ${pkg.scope}\n`); await this.createTriggerByMethod(task, Hook_1.HookType.Scope, pkg.scope, hookEvent); const maintainers = await this.packageRepository.listPackageMaintainers(pkg.packageId); for (const maintainer of maintainers) { await this.taskService.appendTaskLog(task, `[${(0, LogUtil_1.isoNow)()}][Hooks] PushHooks to ${Hook_1.HookType.Owner} ${maintainer.name}\n`); await this.createTriggerByMethod(task, Hook_1.HookType.Owner, maintainer.name, hookEvent); } await this.taskService.finishTask(task, Task_1.TaskState.Success, `[${(0, LogUtil_1.isoNow)()}][Hooks] create trigger succeed \n`); } catch (e) { e.message = 'create trigger failed: ' + e.message; await this.taskService.finishTask(task, Task_1.TaskState.Fail, `[${(0, LogUtil_1.isoNow)()}][Hooks] ${e.stack} \n`); return; } } async createTriggerByMethod(task, type, name, hookEvent) { let hooks = await this.hookRepository.listHooksByTypeAndName(type, name); while (hooks.length) { await this.createTriggerTasks(hooks, hookEvent); hooks = await this.hookRepository.listHooksByTypeAndName(type, name, hooks[hooks.length - 1].id); await this.taskService.appendTaskLog(task, `[${(0, LogUtil_1.isoNow)()}][Hooks] PushHooks to ${type} ${name} ${hooks.length} \n`); } } async createTriggerTasks(hooks, hookEvent) { await (0, p_map_1.default)(hooks, async (hook) => { const triggerHookTask = Task_2.Task.createTriggerHookTask(hookEvent, hook.hookId); await this.taskService.createTask(triggerHookTask, true); }, { concurrency: 5 }); } }; exports.CreateHookTriggerService = CreateHookTriggerService; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", HookRepository_1.HookRepository) ], CreateHookTriggerService.prototype, "hookRepository", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", PackageRepository_1.PackageRepository) ], CreateHookTriggerService.prototype, "packageRepository", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", TaskService_1.TaskService) ], CreateHookTriggerService.prototype, "taskService", void 0); exports.CreateHookTriggerService = CreateHookTriggerService = __decorate([ (0, tegg_1.SingletonProto)({ accessLevel: tegg_1.AccessLevel.PUBLIC, }) ], CreateHookTriggerService); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlYXRlSG9va1RyaWdnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9DcmVhdGVIb29rVHJpZ2dlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0NBQWtFO0FBQ2xFLGtFQUErRDtBQUMvRCxpREFBa0Q7QUFDbEQsaURBQW1EO0FBRW5ELHlDQUFzRDtBQUN0RCxvRUFBaUU7QUFDakUsMEVBQXVFO0FBQ3ZFLGtEQUF5QjtBQUV6QiwrQ0FBNEM7QUFDNUMsa0RBQThDO0FBQzlDLDBEQUEyRDtBQUtwRCxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLGlDQUFlO0lBVTNELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBb0I7UUFDcEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsTUFBTSxDQUFFLEtBQUssRUFBRSxJQUFJLENBQUUsR0FBRyxJQUFBLDZCQUFlLEVBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGdCQUFTLENBQUMsT0FBTyxFQUFFLElBQUksSUFBQSxnQkFBTSxHQUFFLG9CQUFvQixTQUFTLENBQUMsUUFBUSxZQUFZLENBQUMsQ0FBQztZQUMzSCxPQUFPO1NBQ1I7UUFFRCxNQUFNLFFBQVEsR0FBRztZQUNmLElBQUksSUFBQSxnQkFBTSxHQUFFLHFDQUFxQyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUMv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