user()->roles()->first()->name; $role = Cache::remember('user_role:'.auth()->id(), now()->addMinutes(5), fn () => auth()->user()->roles()->first()->name); return match (UserRole::from($role)) { UserRole::Admin => new AdminWorklist, UserRole::Technician => new TechnicianWorklist, UserRole::Radiologist => new RadiologistWorklist, UserRole::ReferringDoctor => new ReferrerWorklist, default => throw new Exception("Unknown user role: $role"), }; } }