$this->service->listByModel($modelId), __('message.fetched')); } public function createDraft(Request $request, int $modelId) { return ApiResponse::handle(function () use ($request, $modelId) { $payload = $request->validate([ 'version_no' => 'nullable|integer|min:1', 'notes' => 'nullable|string', 'effective_from' => 'nullable|date', 'effective_to' => 'nullable|date|after:effective_from', ]); return $this->service->createDraft($modelId, $payload); }, __('message.created')); } public function release(int $versionId) { return ApiResponse::handle(fn() => $this->service->release($versionId), __('message.updated')); } }