cptadmin / packages /backend /src /app.controller.ts
BG5's picture
Upload 253 files
db242f8
// import * as Joi from "Joi";
import {
Body,
Controller,
Delete,
Get,
Param,
Post,
Put,
} from '@nestjs/common';
import { Public, Roles } from '@/common/guards/auth.guard';
import { AppService } from './app.service';
@Public()
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get('/health')
health() {
const packageJson = require('../../../package.json');
return {
version: packageJson.version,
};
}
@Post('/install')
getHello(): string {
return this.appService.getHello();
}
/* θŽ·ε–ζœ€θΏ‘δΈ€ζ‘ηš„η½‘η«™ε…¬ε‘Š */
@Get('/announcement/recent')
async getRecentAnnouncement() {
return {
success: true,
data: await this.appService.getRecentAnnouncement(),
};
}
/* θŽ·ε–η½‘η«™ζ‰€ζœ‰ηš„ε…¬ε‘Š */
@Get('/announcement/all')
async getAllAnnouncement() {
return {
success: true,
data: await this.appService.getAllAnnouncement(),
};
}
/* ζ·»εŠ ζˆ–ζ›΄ζ–°ε…¬ε‘Š */
@Post('/announcement')
async newAnnouncement(
@Body() data: { id?: number; title?: string; content?: string },
) {
return {
success: true,
data: await this.appService.upsertAnnouncement({
...data,
}),
};
}
/* εˆ ι™€ε…¬ε‘Š */
@Delete('/announcement/:id')
async deleteAnnouncement(@Param('id') id: number) {
await this.appService.deleteAnnouncement(id);
return {
success: true,
};
}
}