attributes->get('syncToken'); abort_unless(collect($token->abilities ?? [])->contains('students'), 403, 'Token tidak memiliki akses ke data siswa.'); $items = Student::query() ->orderBy('full_name') ->get([ 'id', 'student_number', 'nisn', 'full_name', 'gender', 'academic_year_id', 'department_id', 'class_id', 'status', 'phone_number', 'email', 'photo_path', 'notes', 'updated_at', ]); return response()->json([ 'success' => true, 'source' => 'database-kesiswaan', 'resource' => 'students', 'count' => $items->count(), 'data' => $items, ]); } }