53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
import { Controller, Get, Post, Put, Delete, Body, Param, Query } from '@nestjs/common';
|
|
import { FarmService } from './farm.service';
|
|
import { FarmModel } from './entities/farm.entity';
|
|
|
|
@Controller('farm')
|
|
export class FarmController {
|
|
constructor(private readonly farmService: FarmService) {}
|
|
|
|
@Get()
|
|
findAll(@Query('userId') userId?: string) {
|
|
if (userId) {
|
|
return this.farmService.findByUserId(+userId);
|
|
}
|
|
return this.farmService.findAll();
|
|
}
|
|
|
|
@Get(':id')
|
|
findOne(@Param('id') id: string) {
|
|
return this.farmService.findOne(+id);
|
|
}
|
|
|
|
/**
|
|
* GET /farm/:farmNo/analysis-latest - 농장 최신 분석 의뢰 정보 조회
|
|
*/
|
|
@Get(':farmNo/analysis-latest')
|
|
getLatestAnalysisRequest(@Param('farmNo') farmNo: string) {
|
|
return this.farmService.getLatestAnalysisRequest(+farmNo);
|
|
}
|
|
|
|
/**
|
|
* GET /farm/:farmNo/analysis-all - 농장 전체 분석 의뢰 목록 조회
|
|
*/
|
|
@Get(':farmNo/analysis-all')
|
|
getAllAnalysisRequests(@Param('farmNo') farmNo: string) {
|
|
return this.farmService.getAllAnalysisRequests(+farmNo);
|
|
}
|
|
|
|
@Post()
|
|
create(@Body() data: Partial<FarmModel>) {
|
|
return this.farmService.create(data);
|
|
}
|
|
|
|
@Put(':id')
|
|
update(@Param('id') id: string, @Body() data: Partial<FarmModel>) {
|
|
return this.farmService.update(+id, data);
|
|
}
|
|
|
|
@Delete(':id')
|
|
remove(@Param('id') id: string) {
|
|
return this.farmService.remove(+id);
|
|
}
|
|
}
|