|
|
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
|
|
} from './dto/mood-checkin.dto';
|
|
|
|
|
import { JwtAuthGuard } from '../common/guards/jwt-auth.guard';
|
|
|
|
|
import { CurrentUser } from '../common/decorators/current-user.decorator';
|
|
|
|
|
import { AccessTokenPayload } from 'src/users/services/apple-auth.service';
|
|
|
|
|
|
|
|
|
|
@ApiTags('心情打卡')
|
|
|
|
|
@ApiBearerAuth()
|
|
|
|
|
@@ -29,10 +30,10 @@ export class MoodCheckinsController {
|
|
|
|
|
@ApiResponse({ status: 401, description: '未授权' })
|
|
|
|
|
async create(
|
|
|
|
|
@Body() createMoodCheckinDto: CreateMoodCheckinDto,
|
|
|
|
|
@CurrentUser('id') userId: string,
|
|
|
|
|
@CurrentUser() user: AccessTokenPayload,
|
|
|
|
|
): Promise<MoodCheckinResponseDto> {
|
|
|
|
|
this.logger.log(`用户 ${userId} 创建心情打卡: ${JSON.stringify(createMoodCheckinDto)}`);
|
|
|
|
|
return this.moodCheckinsService.create(createMoodCheckinDto, userId);
|
|
|
|
|
this.logger.log(`用户 ${user.sub} 创建心情打卡: ${JSON.stringify(createMoodCheckinDto)}`);
|
|
|
|
|
return this.moodCheckinsService.create(createMoodCheckinDto, user.sub);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Put()
|
|
|
|
|
@@ -44,10 +45,10 @@ export class MoodCheckinsController {
|
|
|
|
|
@ApiResponse({ status: 404, description: '记录不存在' })
|
|
|
|
|
async update(
|
|
|
|
|
@Body() updateMoodCheckinDto: UpdateMoodCheckinDto,
|
|
|
|
|
@CurrentUser('id') userId: string,
|
|
|
|
|
@CurrentUser() user: AccessTokenPayload,
|
|
|
|
|
): Promise<MoodCheckinResponseDto> {
|
|
|
|
|
this.logger.log(`用户 ${userId} 更新心情打卡: ${JSON.stringify(updateMoodCheckinDto)}`);
|
|
|
|
|
return this.moodCheckinsService.update(updateMoodCheckinDto, userId);
|
|
|
|
|
this.logger.log(`用户 ${user.sub} 更新心情打卡: ${JSON.stringify(updateMoodCheckinDto)}`);
|
|
|
|
|
return this.moodCheckinsService.update(updateMoodCheckinDto, user.sub);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Delete()
|
|
|
|
|
@@ -58,10 +59,10 @@ export class MoodCheckinsController {
|
|
|
|
|
@ApiResponse({ status: 404, description: '记录不存在' })
|
|
|
|
|
async remove(
|
|
|
|
|
@Body() removeMoodCheckinDto: RemoveMoodCheckinDto,
|
|
|
|
|
@CurrentUser('id') userId: string,
|
|
|
|
|
@CurrentUser() user: AccessTokenPayload,
|
|
|
|
|
): Promise<MoodCheckinResponseDto> {
|
|
|
|
|
this.logger.log(`用户 ${userId} 删除心情打卡: ${removeMoodCheckinDto.id}`);
|
|
|
|
|
return this.moodCheckinsService.remove(removeMoodCheckinDto, userId);
|
|
|
|
|
this.logger.log(`用户 ${user.sub} 删除心情打卡: ${removeMoodCheckinDto.id}`);
|
|
|
|
|
return this.moodCheckinsService.remove(removeMoodCheckinDto, user.sub);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Get('daily')
|
|
|
|
|
@@ -71,10 +72,10 @@ export class MoodCheckinsController {
|
|
|
|
|
@ApiResponse({ status: 401, description: '未授权' })
|
|
|
|
|
async getDaily(
|
|
|
|
|
@Query() query: GetMoodCheckinsQueryDto,
|
|
|
|
|
@CurrentUser('id') userId: string,
|
|
|
|
|
@CurrentUser() user: AccessTokenPayload,
|
|
|
|
|
): Promise<MoodCheckinResponseDto> {
|
|
|
|
|
this.logger.log(`用户 ${userId} 获取每日心情打卡: ${query.date || '今天'}`);
|
|
|
|
|
return this.moodCheckinsService.getDaily(userId, query.date);
|
|
|
|
|
this.logger.log(`用户 ${user.sub} 获取每日心情打卡: ${query.date || '今天'}`);
|
|
|
|
|
return this.moodCheckinsService.getDaily(user.sub, query.date);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Get('history')
|
|
|
|
|
@@ -84,10 +85,10 @@ export class MoodCheckinsController {
|
|
|
|
|
@ApiResponse({ status: 401, description: '未授权' })
|
|
|
|
|
async getHistory(
|
|
|
|
|
@Query() query: GetMoodHistoryQueryDto,
|
|
|
|
|
@CurrentUser('id') userId: string,
|
|
|
|
|
@CurrentUser() user: AccessTokenPayload,
|
|
|
|
|
): Promise<MoodCheckinResponseDto> {
|
|
|
|
|
this.logger.log(`用户 ${userId} 获取心情打卡历史: ${query.startDate} - ${query.endDate}`);
|
|
|
|
|
return this.moodCheckinsService.getHistory(userId, query);
|
|
|
|
|
this.logger.log(`用户 ${user.sub} 获取心情打卡历史: ${query.startDate} - ${query.endDate}`);
|
|
|
|
|
return this.moodCheckinsService.getHistory(user.sub, query);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Get('statistics')
|
|
|
|
|
@@ -98,9 +99,9 @@ export class MoodCheckinsController {
|
|
|
|
|
async getStatistics(
|
|
|
|
|
@Query('startDate') startDate: string,
|
|
|
|
|
@Query('endDate') endDate: string,
|
|
|
|
|
@CurrentUser('id') userId: string,
|
|
|
|
|
@CurrentUser() user: AccessTokenPayload,
|
|
|
|
|
): Promise<MoodCheckinResponseDto<MoodStatistics>> {
|
|
|
|
|
this.logger.log(`用户 ${userId} 获取心情统计: ${startDate} - ${endDate}`);
|
|
|
|
|
return this.moodCheckinsService.getStatistics(userId, startDate, endDate);
|
|
|
|
|
this.logger.log(`用户 ${user.sub} 获取心情统计: ${startDate} - ${endDate}`);
|
|
|
|
|
return this.moodCheckinsService.getStatistics(user.sub, startDate, endDate);
|
|
|
|
|
}
|
|
|
|
|
}
|