Files
few-line-engine/src/query/logger/logger.controller.ts

66 lines
1.4 KiB
TypeScript

import {
Body,
Controller,
Get,
Inject,
Param,
Post,
Req,
UseGuards,
} from "@nestjs/common";
import { LoggerService } from "./logger.service";
import { ApiTokenGuard } from "src/api/guards/api-token.guard";
import { QueryGuard } from "../guards/query.guard";
import { Token } from "src/api/entities/token.entity";
import { Query } from "../entities/query.entity";
@Controller("logger")
@UseGuards(ApiTokenGuard)
export class LoggerController {
constructor(
@Inject(LoggerService)
private readonly loggerService: LoggerService
) {}
@Get("/:traceId")
getByTraceId(
@Req() req: Request & { apiToken: Token },
@Param("traceId") traceId: string
) {
return this.loggerService.findByTraceId(req.apiToken.project.id, traceId);
}
@Post("/findAll")
findAll(
@Req() req: Request & { apiToken: Token },
@Body()
body: {
traceId?: string;
fromDate?: Date;
toDate?: Date;
url?: string;
limit: number;
offset: number;
}
) {
return this.loggerService.findByProjectId(req.apiToken.project.id, body);
}
@Post("/find")
@UseGuards(QueryGuard)
find(
@Req() req: Request & { query: Query },
@Body()
body: {
traceId?: string;
fromDate?: Date;
toDate?: Date;
url?: string;
limit: number;
offset: number;
}
) {
return this.loggerService.find(req.query.id, body);
}
}