service->listForOrganisation($organisation); return RegistrationFieldTemplateResource::collection($templates); } public function store(StoreRegistrationFieldTemplateRequest $request, Organisation $organisation): JsonResponse { Gate::authorize('create', [RegistrationFieldTemplate::class, $organisation]); $template = $this->service->createTemplate($organisation, $request->validated()); return $this->created(new RegistrationFieldTemplateResource($template)); } public function update( UpdateRegistrationFieldTemplateRequest $request, Organisation $organisation, RegistrationFieldTemplate $registrationFieldTemplate, ): JsonResponse { Gate::authorize('update', [$registrationFieldTemplate, $organisation]); $template = $this->service->updateTemplate($registrationFieldTemplate, $request->validated()); return $this->success(new RegistrationFieldTemplateResource($template)); } public function destroy(Organisation $organisation, RegistrationFieldTemplate $registrationFieldTemplate): JsonResponse { Gate::authorize('delete', [$registrationFieldTemplate, $organisation]); $this->service->deleteTemplate($registrationFieldTemplate); return response()->json(null, 204); } }