Files
wwjcloud-nest-v1/wwjcloud/src/common/settings/sms/sms-settings.controller.ts

30 lines
1.1 KiB
TypeScript
Raw Normal View History

import { Body, Controller, Get, Put, UseGuards } from '@nestjs/common';
import { ApiBearerAuth, ApiOperation, ApiTags } from '@nestjs/swagger';
import { SmsSettingsService } from './sms-settings.service';
import { UpdateSmsSettingsDto, type SmsSettingsVo } from './sms-settings.dto';
import { JwtAuthGuard } from '../../auth/guards/JwtAuthGuard';
import { Roles } from '../../auth/decorators/RolesDecorator';
import { RolesGuard } from '../../auth/guards/RolesGuard';
@ApiTags('Settings/Sms')
@ApiBearerAuth()
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles('super', 'admin')
@Controller('settings/sms')
export class SmsSettingsController {
constructor(private readonly service: SmsSettingsService) {}
@Get()
@ApiOperation({ summary: '获取短信设置' })
async get(): Promise<{ code: number; data: SmsSettingsVo }> {
const data = await this.service.getSettings();
return { code: 0, data };
}
@Put()
@ApiOperation({ summary: '更新短信设置' })
async update(@Body() dto: UpdateSmsSettingsDto): Promise<{ code: number; data: SmsSettingsVo }> {
const data = await this.service.updateSettings(dto);
return { code: 0, data };
}
}