| Current Path : /home/deltalab/PMS/logistic-backend/src/models/pickup-points/ |
| Current File : //home/deltalab/PMS/logistic-backend/src/models/pickup-points/pickup-point.controller.ts |
import {
Body,
Controller,
Delete,
Get,
HttpStatus,
Param,
Post,
Put,
Res,
} from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { PickupPoint } from './pickup-point.schema';
import { PickupPointService } from './pickup-point.service';
@ApiTags('Pickup points')
@Controller({ path: 'pickup-points', version: '1' })
export class PickupPointController {
constructor(private readonly pickupPointService: PickupPointService) {}
@Post()
async createProduct(
@Res() response,
@Body() pickupPoint: PickupPoint,
): Promise<PickupPoint> {
const newPickupPoint = await this.pickupPointService.create(pickupPoint);
return response.status(HttpStatus.CREATED).json(newPickupPoint);
}
@Get()
async fetchAll(@Res() response): Promise<PickupPoint[]> {
const pickupPoints = await this.pickupPointService.readAll();
return response.status(HttpStatus.OK).json(pickupPoints);
}
@Get('/:id')
async findById(
@Res() response,
@Param('id') id: string,
): Promise<PickupPoint> {
const pickupPoint = await this.pickupPointService.readById(id);
return response.status(HttpStatus.OK).json(pickupPoint);
}
@Put('/:id')
async update(
@Res() response,
@Param('id') id,
@Body() pickupPoint: PickupPoint,
): Promise<PickupPoint> {
const updatedPickupPoint = await this.pickupPointService.update(
id,
pickupPoint,
);
return response.status(HttpStatus.OK).json(updatedPickupPoint);
}
@Delete('/:id')
async delete(@Res() response, @Param('id') id: string): Promise<PickupPoint> {
const deletedPickupPoint = await this.pickupPointService.delete(id);
return response.status(HttpStatus.OK).json(deletedPickupPoint);
}
}