返回 AiToEarn
logs.controller.ts
根目录 / project / aitoearn-backend / apps / aitoearn-ai / src / core / ai / logs / logs.controller.ts
1 import { Controller, Get, Query } from '@nestjs/common'
2 import { ApiTags } from '@nestjs/swagger'
3 import { GetToken, TokenInfo } from '@yikart/aitoearn-auth'
4 import { ApiDoc, UserType } from '@yikart/common'
5 import { LogListQueryDto, logListQuerySchema } from './logs.dto'
6 import { LogsService } from './logs.service'
7 import { LogsListResponseVo } from './logs.vo'
8
9 @ApiTags('Me/Ai/Logs')
10 @Controller('/ai/logs')
11 export class LogsController {
12 constructor(private readonly logsService: LogsService) {}
13
14 @ApiDoc({
15 summary: '获取用户 AI 活动日志',
16 query: logListQuerySchema,
17 response: LogsListResponseVo,
18 })
19 @Get('/')
20 async getLogs(
21 @GetToken() token: TokenInfo,
22 @Query() query: LogListQueryDto,
23 ): Promise<LogsListResponseVo> {
24 const [list, total] = await this.logsService.getLogList({
25 userId: token.id,
26 userType: UserType.User,
27 ...query,
28 })
29 return new LogsListResponseVo(list, total, query)
30 }
31 }
32
32 lines TYPESCRIPT