$this->service->paginated( ...$request->validatedWithDefaults(), academicTermId: $request->validated('academic_term_id'), method: $request->validated('method'), ), 'courses' => $this->courseService->getAllForSelect(), 'lecturers' => $this->lecturerService->getAllForSelect(), 'academicTerms' => $this->academicTermService->getAllForSelect(), 'courseClassAssignments' => $this->service->getAllForSelect(), 'filters' => $request->only(['academic_term_id', 'method']), ]); } public function store(CourseClassRequest $request): RedirectResponse { $created = $this->service->createMany($request->validated()); Inertia::flash('toast', [ 'type' => 'success', 'message' => $created->count() > 1 ? "{$created->count()} kelas mata kuliah berhasil ditambahkan." : 'Kelas mata kuliah berhasil ditambahkan.', ]); return to_route('admin.manage.course-classes.index'); } public function update(CourseClassRequest $request, CourseClass $courseClass): RedirectResponse { $this->service->update($courseClass, $request->validated()); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kelas mata kuliah berhasil diperbarui.']); return to_route('admin.manage.course-classes.index'); } public function destroy(CourseClass $courseClass): RedirectResponse { $this->service->delete($courseClass); return Inertia::flash('toast', ['type' => 'success', 'message' => 'Kelas mata kuliah berhasil dihapus.'])->back(); } }