| Current Path : /home/deltalab/PMS/logistic-backend/src/models/carriers/ |
| Current File : //home/deltalab/PMS/logistic-backend/src/models/carriers/carrier.controller.ts |
import {
Body,
Controller,
Delete,
Get,
HttpStatus,
Param,
Post,
Put,
Res,
} from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { Carrier } from './carrier.schema';
import { CarrierService } from './carrier.service';
@ApiTags('Carries')
@Controller({ path: 'carriers', version: '1' })
export class CarrierController {
constructor(private readonly carrierService: CarrierService) {}
@Post()
async createProduct(
@Res() response,
@Body() carrier: Carrier,
): Promise<Carrier> {
const newCarrier = await this.carrierService.create(carrier);
return response.status(HttpStatus.CREATED).json(newCarrier);
}
@Get()
async fetchAll(@Res() response): Promise<Carrier[]> {
const carriers = await this.carrierService.readAll();
return response.status(HttpStatus.OK).json(carriers);
}
@Get('/:id')
async findById(@Res() response, @Param('id') id: string): Promise<Carrier> {
const carrier = await this.carrierService.readById(id);
return response.status(HttpStatus.OK).json(carrier);
}
@Put('/:id')
async update(
@Res() response,
@Param('id') id,
@Body() carrier: Carrier,
): Promise<Carrier> {
const updatedCarrier = await this.carrierService.update(id, carrier);
return response.status(HttpStatus.OK).json(updatedCarrier);
}
@Delete('/:id')
async delete(@Res() response, @Param('id') id: string): Promise<Carrier> {
const deletedCarrier = await this.carrierService.delete(id);
return response.status(HttpStatus.OK).json(deletedCarrier);
}
}