66 lines
1.4 KiB
TypeScript
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);
|
|
}
|
|
}
|