feat: [items] 아이템 API 기능 개선

- ItemsController, ItemsBomController, ItemsFileController 수정
- ItemBatchDeleteRequest 추가
- ItemsService 개선
- ItemsApi Swagger 문서 업데이트
This commit is contained in:
2025-11-30 21:05:44 +09:00
parent d27e47108d
commit f09fa3791c
6 changed files with 208 additions and 97 deletions

View File

@@ -4,6 +4,7 @@
use App\Helpers\ApiResponse;
use App\Http\Controllers\Controller;
use App\Http\Requests\Item\ItemBatchDeleteRequest;
use App\Http\Requests\Item\ItemStoreRequest;
use App\Http\Requests\Item\ItemUpdateRequest;
use App\Services\ItemsService;
@@ -74,26 +75,40 @@ public function store(ItemStoreRequest $request)
/**
* 품목 수정
*
* PUT /api/v1/items/{code}
* PUT /api/v1/items/{id}
*/
public function update(string $code, ItemUpdateRequest $request)
public function update(int $id, ItemUpdateRequest $request)
{
return ApiResponse::handle(function () use ($code, $request) {
return $this->service->updateItem($code, $request->validated());
return ApiResponse::handle(function () use ($id, $request) {
return $this->service->updateItem($id, $request->validated());
}, __('message.item.updated'));
}
/**
* 품목 삭제 (Soft Delete)
*
* DELETE /api/v1/items/{code}
* DELETE /api/v1/items/{id}
*/
public function destroy(string $code)
public function destroy(int $id)
{
return ApiResponse::handle(function () use ($code) {
$this->service->deleteItem($code);
return ApiResponse::handle(function () use ($id) {
$this->service->deleteItem($id);
return 'success';
}, __('message.item.deleted'));
}
/**
* 품목 일괄 삭제 (Soft Delete)
*
* DELETE /api/v1/items/batch
*/
public function batchDestroy(ItemBatchDeleteRequest $request)
{
return ApiResponse::handle(function () use ($request) {
$this->service->batchDeleteItems($request->validated()['ids']);
return 'success';
}, __('message.item.batch_deleted'));
}
}