mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 00:52:50 +00:00
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import { Controller, Get, Query } from "@nestjs/common";
|
|
import { ApiOperation, ApiQuery, ApiTags } from "@nestjs/swagger";
|
|
|
|
import { BookingStaff } from "../../common/booking-guards";
|
|
import { FREIGHT_PERMS } from "../../seed/freight-permissions.registry";
|
|
import { AuditService } from "./audit.service";
|
|
|
|
@ApiTags("audit")
|
|
@Controller("audit")
|
|
@BookingStaff(FREIGHT_PERMS.audit.view)
|
|
export class AuditController {
|
|
constructor(private readonly auditService: AuditService) {}
|
|
|
|
@Get("logs")
|
|
@ApiOperation({ summary: "List freight-api audit log commands" })
|
|
@ApiQuery({ name: "skip", type: Number, required: false })
|
|
@ApiQuery({ name: "take", type: Number, required: false })
|
|
list(@Query("skip") skip?: string, @Query("take") take?: string) {
|
|
// Same fallback chain @tria-plc/auditlog's client interceptor uses to
|
|
// stamp AuditLog.application (mezgeb/client/client-audit.interceptor.js)
|
|
// — reading it here instead of a hardcoded literal means this can't
|
|
// silently drift out of sync with whatever APPLICATION_NAME/APP_NAME
|
|
// actually is at runtime.
|
|
const application =
|
|
process.env.APPLICATION_NAME ?? process.env.APP_NAME ?? "DEFAULT";
|
|
return this.auditService.list(
|
|
application,
|
|
skip !== undefined ? parseInt(skip, 10) : undefined,
|
|
take !== undefined ? parseInt(take, 10) : undefined,
|
|
);
|
|
}
|
|
}
|