canina/backend/src/admin/pets.controller.ts

29 lines
1.1 KiB
TypeScript

import { Controller, Get, Delete, Param, Query, UseGuards } from '@nestjs/common';
import { PetsService } from './pets.service';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { ApiTags, ApiBearerAuth, ApiOperation, ApiQuery } from '@nestjs/swagger';
@ApiTags('Admin - مدیریت حیوانات خانگی')
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Controller('admin/pets')
export class PetsController {
constructor(private readonly petsService: PetsService) {}
@Get()
@ApiOperation({ summary: 'لیست حیوانات خانگی' })
@ApiQuery({ name: 'page', required: false, description: 'شماره صفحه' })
@ApiQuery({ name: 'limit', required: false, description: 'تعداد آیتم‌ها' })
@ApiQuery({ name: 'search', required: false, description: 'جستجو' })
async getPets(@Query() query: any) {
return this.petsService.getPets(query);
}
@Delete(':id')
@ApiOperation({ summary: 'حذف حیوان خانگی' })
async deletePet(@Param('id') id: string) {
await this.petsService.deletePet(id);
return { success: true };
}
}