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 +}