UNPKG

event-local

Version:

Event client

64 lines (61 loc) 2.14 kB
import { EventHeandlerMethod, MessageHeandlerMethod, API } from "../EventCore"; import EventLocal from "../EventLocal"; import TestService from "./TestService"; import { AggregateRepository } from "../AggregateRepository"; import { Test } from "./Test"; export class TestHeandler { static eventLocal: EventLocal; constructor(eventLocal: EventLocal) { TestHeandler.eventLocal = eventLocal; } @EventHeandlerMethod("test.created") static async createHeandler(commandDetail) { console.log(JSON.parse(commandDetail)); } @API("get", "/test/create") static async create(req, res) { const t: Test = await new TestService( new AggregateRepository<Test>(new Test()) ).createTest({ id: null, name: "Anton" }); // await TestHeandler.eventLocal.sendEvent('test.created', '{"test": 1}'); console.log(t); res.send(t.getID()); } @API("get", "/test/:id/rename/:name") static async rename(req, res) { let id: string = req.params.id; let name: string = req.params.name; const t: Test = await new TestService( new AggregateRepository<Test>(new Test()) ).renameTest(id, name); // await TestHeandler.eventLocal.sendEvent('test.rename', '{"test": 1}'); console.log(t); res.send(t.getName()); } @API("get", "/test/:id/status/:status") static async status(req, res) { let id: string = req.params.id; let status = +req.params.status; const t: Test = await new TestService( new AggregateRepository<Test>(new Test()) ).changeStatus(id, status); // await TestHeandler.eventLocal.sendEvent('test.rename', '{"test": 1}'); console.log(t); res.send(t.getName()); } @API("get", "/test/:id") static async get(req, res) { let id: string = req.params.id; const t: Test = await new TestService( new AggregateRepository<Test>(new Test()) ).find(id); console.log(t); res.send(JSON.stringify(t)); } @MessageHeandlerMethod(/(test)/i) static set(commandDetail) {} @MessageHeandlerMethod(/(какой номер моего чата\,?)/i) static myID(commandDetail) { console.log(commandDetail); } }