Newer
Older
import { Controller, Body, Logger } from "@nestjs/common";
import { EventsGateway } from "./events.gateway";
import { MessagePattern } from "@nestjs/microservices";
import { CloudEventDto } from "@ocm-engine/dtos";
import { ConfigService } from "@nestjs/config";
import { IGateway } from "@ocm-engine/config";
@Controller()
export class AppController {
private gatewayConfig: IGateway;
private readonly logger: Logger = new Logger(AppController.name);
constructor(
private eventsGateway: EventsGateway,
private readonly configService: ConfigService,
) {
this.gatewayConfig = configService.get<IGateway>("gateway");
}
@MessagePattern(process.env["GATEWAY_MESSAGE_PATTERN"])
create<T>(@Body() dto: CloudEventDto<T>): string {
this.logger.debug(
`received event from agent, sending to web socket ${JSON.stringify(
dto,
null,
2,
)}`,
);
this.eventsGateway.server.emit(this.gatewayConfig.socketEventName, dto);
return "ok";
}
}