fix: Swagger 경로 파라미터 라우트 일치 수정

- ItemsBomApi: {code} → {id} (10개 경로)
- BomCalculationApi: snake_case → camelCase 파라미터
- PermissionApi: {id} → 구체적 파라미터명 (dept_id, role_id, user_id)
- FieldProfileApi: opt-groups → settings/options, 중복 Fields 엔드포인트 제거

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-21 14:17:44 +09:00
parent 1449683aae
commit 3f4541e632
4 changed files with 47 additions and 205 deletions

View File

@@ -3,7 +3,7 @@
namespace App\Swagger\v1;
/**
* @OA\Tag(name="Items BOM", description="품목 BOM 관리 (Code 기반)")
* @OA\Tag(name="Items BOM", description="품목 BOM 관리")
*
* @OA\Schema(
* schema="BOMLine",
@@ -81,12 +81,12 @@ class ItemsBomApi
{
/**
* @OA\Get(
* path="/api/v1/items/{code}/bom",
* path="/api/v1/items/{id}/bom",
* tags={"Items BOM"},
* summary="BOM 목록 조회 (flat list)",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\Response(
* response=200,
@@ -111,12 +111,12 @@ public function index() {}
/**
* @OA\Get(
* path="/api/v1/items/{code}/bom/tree",
* path="/api/v1/items/{id}/bom/tree",
* tags={"Items BOM"},
* summary="BOM 트리 구조 조회 (계층적)",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
* @OA\Parameter(name="depth", in="query", @OA\Schema(type="integer"), example=10, description="최대 깊이 (기본값: 10)"),
*
* @OA\Response(
@@ -137,12 +137,12 @@ public function tree() {}
/**
* @OA\Post(
* path="/api/v1/items/{code}/bom",
* path="/api/v1/items/{id}/bom",
* tags={"Items BOM"},
* summary="BOM 라인 추가 (bulk upsert)",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\RequestBody(
* required=true,
@@ -173,12 +173,12 @@ public function store() {}
/**
* @OA\Put(
* path="/api/v1/items/{code}/bom/{lineId}",
* path="/api/v1/items/{id}/bom/{lineId}",
* tags={"Items BOM"},
* summary="BOM 라인 수정",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
* @OA\Parameter(name="lineId", in="path", required=true, @OA\Schema(type="integer"), example=1),
*
* @OA\RequestBody(
@@ -205,12 +205,12 @@ public function update() {}
/**
* @OA\Delete(
* path="/api/v1/items/{code}/bom/{lineId}",
* path="/api/v1/items/{id}/bom/{lineId}",
* tags={"Items BOM"},
* summary="BOM 라인 삭제",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
* @OA\Parameter(name="lineId", in="path", required=true, @OA\Schema(type="integer"), example=1),
*
* @OA\Response(
@@ -231,12 +231,12 @@ public function destroy() {}
/**
* @OA\Get(
* path="/api/v1/items/{code}/bom/summary",
* path="/api/v1/items/{id}/bom/summary",
* tags={"Items BOM"},
* summary="BOM 요약 정보",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\Response(
* response=200,
@@ -263,12 +263,12 @@ public function summary() {}
/**
* @OA\Get(
* path="/api/v1/items/{code}/bom/validate",
* path="/api/v1/items/{id}/bom/validate",
* tags={"Items BOM"},
* summary="BOM 유효성 검사",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\Response(
* response=200,
@@ -303,12 +303,12 @@ public function validate() {}
/**
* @OA\Post(
* path="/api/v1/items/{code}/bom/replace",
* path="/api/v1/items/{id}/bom/replace",
* tags={"Items BOM"},
* summary="BOM 전체 교체 (기존 삭제 후 재등록)",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\RequestBody(
* required=true,
@@ -368,12 +368,12 @@ public function replace() {}
/**
* @OA\Post(
* path="/api/v1/items/{code}/bom/reorder",
* path="/api/v1/items/{id}/bom/reorder",
* tags={"Items BOM"},
* summary="BOM 정렬 변경",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\RequestBody(
* required=true,
@@ -414,12 +414,12 @@ public function reorder() {}
/**
* @OA\Get(
* path="/api/v1/items/{code}/bom/categories",
* path="/api/v1/items/{id}/bom/categories",
* tags={"Items BOM"},
* summary="BOM에서 사용 중인 카테고리 목록",
* security={{"ApiKeyAuth": {}, "BearerAuth": {}}},
*
* @OA\Parameter(name="code", in="path", required=true, @OA\Schema(type="string"), example="P-001"),
* @OA\Parameter(name="id", in="path", required=true, description="품목 ID", @OA\Schema(type="integer"), example=1),
*
* @OA\Response(
* response=200,