All files / apps/work-orders-service/src/work-orders work-orders.controller.ts

100% Statements 20/20
100% Branches 40/40
100% Functions 6/6
100% Lines 18/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 562x                   2x 2x 2x   2x   2x     2x 6x     2x 1x       2x     1x       2x 1x       2x       1x       2x       1x      
import {
  Body,
  Controller,
  Get,
  Param,
  ParseUUIDPipe,
  Patch,
  Post,
  Query,
} from '@nestjs/common';
import { AssignWorkOrderDto } from './dto/assign-work-order.dto';
import { CreateWorkOrderDto } from './dto/create-work-order.dto';
import { UpdateWorkOrderStatusDto } from './dto/update-work-order-status.dto';
import { PaginatedResult } from './dto/paginated-result';
import { QueryWorkOrdersDto } from './dto/query-work-orders.dto';
import { WorkOrder } from './work-order.entity';
import { WorkOrdersService } from './work-orders.service';
 
@Controller('work-orders')
export class WorkOrdersController {
  constructor(private readonly workOrdersService: WorkOrdersService) {}
 
  @Post()
  create(@Body() dto: CreateWorkOrderDto): Promise<WorkOrder> {
    return this.workOrdersService.create(dto);
  }
 
  @Get()
  findAll(
    @Query() query: QueryWorkOrdersDto,
  ): Promise<PaginatedResult<WorkOrder>> {
    return this.workOrdersService.findAll(query);
  }
 
  @Get(':id')
  findOne(@Param('id', ParseUUIDPipe) id: string): Promise<WorkOrder> {
    return this.workOrdersService.findOne(id);
  }
 
  @Patch(':id/assign')
  assign(
    @Param('id', ParseUUIDPipe) id: string,
    @Body() dto: AssignWorkOrderDto,
  ): Promise<WorkOrder> {
    return this.workOrdersService.assign(id, dto.assigneeId);
  }
 
  @Patch(':id/status')
  updateStatus(
    @Param('id', ParseUUIDPipe) id: string,
    @Body() dto: UpdateWorkOrderStatusDto,
  ): Promise<WorkOrder> {
    return this.workOrdersService.updateStatus(id, dto.status);
  }
}