service->formIndex($request->validated()); }, __('message.fetched')); } /** * 활성 결재 양식 목록 (셀렉트박스용) * GET /v1/approval-forms/active */ public function active(): JsonResponse { return ApiResponse::handle(function () { return $this->service->formActive(); }, __('message.fetched')); } /** * 결재 양식 상세 * GET /v1/approval-forms/{id} */ public function show(int $id): JsonResponse { return ApiResponse::handle(function () use ($id) { return $this->service->formShow($id); }, __('message.fetched')); } /** * 결재 양식 생성 * POST /v1/approval-forms */ public function store(FormStoreRequest $request): JsonResponse { return ApiResponse::handle(function () use ($request) { return $this->service->formStore($request->validated()); }, __('message.approval.form_created')); } /** * 결재 양식 수정 * PATCH /v1/approval-forms/{id} */ public function update(int $id, FormUpdateRequest $request): JsonResponse { return ApiResponse::handle(function () use ($id, $request) { return $this->service->formUpdate($id, $request->validated()); }, __('message.updated')); } /** * 결재 양식 삭제 * DELETE /v1/approval-forms/{id} */ public function destroy(int $id): JsonResponse { return ApiResponse::handle(function () use ($id) { return $this->service->formDestroy($id); }, __('message.deleted')); } }