feat: Items show() API 개선 - files 로딩 및 item_type 선택적 처리

- Item 모델 files() 관계를 document_id/document_type 기반으로 변경
- show() 메서드에 files 로딩 및 field_key별 그룹화 추가
- item_type 파라미터 선택적 처리 (ID만으로 조회 가능)
- showWithPrice() 메서드 반환 타입 변경에 맞게 수정
This commit is contained in:
2025-12-15 19:27:36 +09:00
parent f470978adb
commit 2862015605
3 changed files with 53 additions and 14 deletions

View File

@@ -40,13 +40,14 @@ public function index(Request $request)
*
* GET /api/v1/items/{id}?item_type=FG&include_price=true&client_id=1&price_date=2025-01-10
*
* @param string item_type 품목 유형 (필수 - 동적 테이블 라우팅)
* @param string|null item_type 품목 유형 (선택적 - 없으면 ID만으로 조회)
*/
public function show(Request $request, int $id)
{
return ApiResponse::handle(function () use ($request, $id) {
// item_type 필수 (동적 테이블 라우팅에 사용)
$itemType = strtoupper($request->input('item_type', ''));
// item_type 선택적 (없으면 ID만으로 items 테이블에서 조회)
$itemType = $request->input('item_type');
$itemType = $itemType ? strtoupper($itemType) : null;
$includePrice = filter_var($request->input('include_price', false), FILTER_VALIDATE_BOOLEAN);
if ($includePrice) {