Files
plates-server/src/activity-logs/activity-logs.controller.ts

34 lines
1.3 KiB
TypeScript

import { Controller, Get, Query, UseGuards } from '@nestjs/common';
import { ApiOperation, ApiQuery, ApiResponse, ApiTags } from '@nestjs/swagger';
import { ActivityLogsService } from './activity-logs.service';
import { JwtAuthGuard } from '../common/guards/jwt-auth.guard';
import { CurrentUser } from '../common/decorators/current-user.decorator';
import { AccessTokenPayload } from '../users/services/apple-auth.service';
import { GetActivityLogsQueryDto, GetActivityLogsResponseDto } from './dto/activity-log.dto';
@ApiTags('activity-logs')
@Controller('activity-logs')
@UseGuards(JwtAuthGuard)
export class ActivityLogsController {
constructor(private readonly service: ActivityLogsService) { }
@Get()
@ApiOperation({ summary: '获取活动记录列表(分页)' })
@ApiQuery({ name: 'page', required: false })
@ApiQuery({ name: 'pageSize', required: false })
@ApiResponse({ type: GetActivityLogsResponseDto })
async list(@CurrentUser() user: AccessTokenPayload, @Query() query: GetActivityLogsQueryDto): Promise<GetActivityLogsResponseDto> {
const data = await this.service.list({
userId: user.sub,
page: query.page,
pageSize: query.pageSize,
entityType: query.entityType,
action: query.action,
entityId: query.entityId,
});
return data;
}
}