File size: 1,480 Bytes
db242f8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
// 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,
};
}
}
|