import { Controller, Get, Post, Body, Patch, Param, Delete, Query } from '@nestjs/common';
import { MilestonesService } from './milestones.service';
import { CreateMilestoneDto } from './dto/create-milestone.dto';
import { UpdateMilestoneDto } from './dto/update-milestone.dto';
import { ApiTags } from '@nestjs/swagger';

@Controller('milestones')
@ApiTags('milestones')
export class MilestonesController {
	constructor(private readonly milestonesService: MilestonesService) {}

	@Post()
	create(@Body() createMilestoneDto: CreateMilestoneDto) {
		return this.milestonesService.create(createMilestoneDto);
	}

	@Get()
	findAll(@Query() params: any) {
		if (params.jobId) {
			return this.milestonesService.findByJobId(parseInt(params.jobId));
		}
		return this.milestonesService.findAll();
	}

	@Get(':id')
	findOne(@Param('id') id: string) {
		return this.milestonesService.findOne(+id);
	}

	@Patch(':id')
	update(@Param('id') id: string, @Body() updateMilestoneDto: UpdateMilestoneDto) {
		return this.milestonesService.update(+id, updateMilestoneDto);
	}

	@Delete(':id')
	remove(@Param('id') id: string) {
		return this.milestonesService.remove(+id);
	}
}
