All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
36 lines
1.3 KiB
TypeScript
36 lines
1.3 KiB
TypeScript
import { Controller, Get, Query, Param, UseGuards } from "@nestjs/common";
|
|
import { ActivityService } from "./activity.service";
|
|
import { EntityType } from "@prisma/client";
|
|
import { QueryActivityLogDto } from "./dto";
|
|
import { AuthGuard } from "../auth/guards/auth.guard";
|
|
import { WorkspaceGuard, PermissionGuard } from "../common/guards";
|
|
import { Workspace, Permission, RequirePermission } from "../common/decorators";
|
|
|
|
@Controller("activity")
|
|
@UseGuards(AuthGuard, WorkspaceGuard, PermissionGuard)
|
|
export class ActivityController {
|
|
constructor(private readonly activityService: ActivityService) {}
|
|
|
|
@Get()
|
|
@RequirePermission(Permission.WORKSPACE_ANY)
|
|
async findAll(@Query() query: QueryActivityLogDto, @Workspace() workspaceId: string) {
|
|
return this.activityService.findAll(Object.assign({}, query, { workspaceId }));
|
|
}
|
|
|
|
@Get("audit/:entityType/:entityId")
|
|
@RequirePermission(Permission.WORKSPACE_ANY)
|
|
async getAuditTrail(
|
|
@Param("entityType") entityType: EntityType,
|
|
@Param("entityId") entityId: string,
|
|
@Workspace() workspaceId: string
|
|
) {
|
|
return this.activityService.getAuditTrail(workspaceId, entityType, entityId);
|
|
}
|
|
|
|
@Get(":id")
|
|
@RequirePermission(Permission.WORKSPACE_ANY)
|
|
async findOne(@Param("id") id: string, @Workspace() workspaceId: string) {
|
|
return this.activityService.findOne(id, workspaceId);
|
|
}
|
|
}
|