feat:新增活动日志模块,包括控制器、服务、模型及数据传输对象,更新应用模块以引入新模块,并在打卡和训练计划模块中集成活动日志记录功能。
This commit is contained in:
33
src/activity-logs/activity-logs.controller.ts
Normal file
33
src/activity-logs/activity-logs.controller.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user