| import { Body, Controller, Delete, Get, Param, Post, UseGuards } from '@nestjs/common'; |
| import { AdminService } from './admin.service'; |
| import { AdminAuthGuard } from './admin.guard'; |
|
|
| @Controller('admin') |
| @UseGuards(AdminAuthGuard) |
| export class AdminController { |
| constructor(private readonly adminService: AdminService) { } |
|
|
| @Get('clipboards') |
| listClipboards() { |
| return this.adminService.listClipboards(); |
| } |
|
|
| @Get('clipboards/:roomCode') |
| getClipboard(@Param('roomCode') roomCode: string) { |
| return this.adminService.getClipboard(roomCode); |
| } |
|
|
| @Post('clipboards/:roomCode/password') |
| updatePassword( |
| @Param('roomCode') roomCode: string, |
| @Body() body: { password?: string | null }, |
| ) { |
| return this.adminService.setPassword(roomCode, body.password); |
| } |
|
|
| @Post('clipboards/:roomCode/ttl') |
| updateTTL( |
| @Param('roomCode') roomCode: string, |
| @Body() body: { ttl?: number | null }, |
| ) { |
| const ttl = body.ttl === null || body.ttl === undefined ? null : Number(body.ttl); |
| return this.adminService.setTTL(roomCode, isNaN(ttl) ? null : ttl); |
| } |
|
|
| @Delete('clipboards/:roomCode') |
| deleteClipboard(@Param('roomCode') roomCode: string) { |
| return this.adminService.deleteClipboard(roomCode); |
| } |
| } |
|
|