34 lines
1.3 KiB
TypeScript
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;
|
|
}
|
|
}
|
|
|
|
|