Add endpoint to rename building by UUID

This commit is contained in:
faris Aljohari
2024-04-14 10:31:49 +03:00
parent 42a4d0cc11
commit a9be4d315a
4 changed files with 98 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import {
HttpStatus,
Param,
Post,
Put,
Query,
UseGuards,
} from '@nestjs/common';
@ -14,6 +15,7 @@ import { ApiTags, ApiBearerAuth } from '@nestjs/swagger';
import { JwtAuthGuard } from '../../../libs/common/src/guards/jwt.auth.guard';
import { AddBuildingDto } from '../dtos/add.building.dto';
import { GetBuildingChildDto } from '../dtos/get.building.dto';
import { UpdateBuildingNameDto } from '../dtos/update.building.dto';
@ApiTags('Building Module')
@Controller({
@ -101,4 +103,28 @@ export class BuildingController {
}
}
}
@ApiBearerAuth()
@UseGuards(JwtAuthGuard)
@Put('rename/:buildingUuid')
async renameBuildingByUuid(
@Param('buildingUuid') buildingUuid: string,
@Body() updateBuildingDto: UpdateBuildingNameDto,
) {
try {
const building = await this.buildingService.renameBuildingByUuid(
buildingUuid,
updateBuildingDto,
);
return building;
} catch (error) {
if (error.status === 404) {
throw new HttpException('Building not found', HttpStatus.NOT_FOUND);
} else {
throw new HttpException(
error.message || 'Internal server error',
error.status || HttpStatus.INTERNAL_SERVER_ERROR,
);
}
}
}
}