import { Body, Controller, Delete, Get, HttpCode, Param, Patch, Post } from '@nestjs/common'; import { ApiOperation, ApiTags } from '@nestjs/swagger'; import { CreateFacilityDto } from './dto/create-facility.dto'; import { UpdateFacilityDto } from './dto/update-facility.dto'; import { Facility } from './entities/facility.entity'; import { FacilitiesService } from './facilities.service'; @ApiTags('Facilities') @Controller('facilities') export class FacilitiesController { constructor(private readonly facilitiesService: FacilitiesService) {} @Post() @ApiOperation({ summary: 'Create a new facility' }) async create(@Body() createFacilityDto: CreateFacilityDto): Promise { return this.facilitiesService.create(createFacilityDto); } @Get() @ApiOperation({ summary: 'List all facilities' }) async findAll(): Promise { return this.facilitiesService.findAll(); } @Get(':id') @ApiOperation({ summary: 'Get a facility by ID' }) async findOne(@Param('id') id: string): Promise { return this.facilitiesService.findOne(id); } @Patch(':id') @ApiOperation({ summary: 'Update a facility' }) async update(@Param('id') id: string, @Body() updateFacilityDto: UpdateFacilityDto): Promise { return this.facilitiesService.update(id, updateFacilityDto); } @Delete(':id') @HttpCode(204) @ApiOperation({ summary: 'Delete a facility (soft delete)' }) async remove(@Param('id') id: string): Promise { return this.facilitiesService.remove(id); } }