From b7f8157548531ab9bb94f44f9c1e4ff9c17e1961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Wed, 28 Jan 2026 21:11:40 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=AC=B8=EC=84=9C=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20Controller=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20(Phase=201.6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DocumentController CRUD 엔드포인트 구현 - 결재 워크플로우는 기존 시스템 연동을 위해 보류 Co-Authored-By: Claude --- .../Api/V1/Documents/DocumentController.php | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 app/Http/Controllers/Api/V1/Documents/DocumentController.php diff --git a/app/Http/Controllers/Api/V1/Documents/DocumentController.php b/app/Http/Controllers/Api/V1/Documents/DocumentController.php new file mode 100644 index 0000000..639031f --- /dev/null +++ b/app/Http/Controllers/Api/V1/Documents/DocumentController.php @@ -0,0 +1,79 @@ +service->list($request->validated()); + }, __('message.fetched')); + } + + /** + * 문서 상세 조회 + * GET /v1/documents/{id} + */ + public function show(int $id): JsonResponse + { + return ApiResponse::handle(function () use ($id) { + return $this->service->show($id); + }, __('message.fetched')); + } + + /** + * 문서 생성 + * POST /v1/documents + */ + public function store(StoreRequest $request): JsonResponse + { + return ApiResponse::handle(function () use ($request) { + return $this->service->create($request->validated()); + }, __('message.created')); + } + + /** + * 문서 수정 + * PATCH /v1/documents/{id} + */ + public function update(int $id, UpdateRequest $request): JsonResponse + { + return ApiResponse::handle(function () use ($id, $request) { + return $this->service->update($id, $request->validated()); + }, __('message.updated')); + } + + /** + * 문서 삭제 + * DELETE /v1/documents/{id} + */ + public function destroy(int $id): JsonResponse + { + return ApiResponse::handle(function () use ($id) { + return $this->service->destroy($id); + }, __('message.deleted')); + } + + // ========================================================================= + // 결재 관련 메서드 (보류 - 기존 시스템 연동 필요) + // ========================================================================= + // public function submit(int $id): JsonResponse + // public function approve(int $id, ApproveRequest $request): JsonResponse + // public function reject(int $id, RejectRequest $request): JsonResponse + // public function cancel(int $id): JsonResponse +}