$request->user()?->currentTeam ? $request->user()?->toUserTeam($request->user()->currentTeam) : null, 'departmentProfiles' => DepartmentProfile::query() ->withCount('departments') ->orderBy('name') ->get() ->map(fn (DepartmentProfile $departmentProfile) => [ 'id' => $departmentProfile->id, 'name' => $departmentProfile->name, 'departmentsCount' => $departmentProfile->departments_count, ]), 'departments' => Department::query() ->with('departmentProfile:id,name') ->orderBy('name') ->get() ->map(fn (Department $department) => [ 'id' => $department->id, 'name' => $department->name, 'isActive' => $department->is_active, 'departmentProfile' => [ 'id' => $department->departmentProfile->id, 'name' => $department->departmentProfile->name, ], ]), ]); } /** * Store a newly created department profile. */ public function storeProfile(StoreDepartmentProfileRequest $request): RedirectResponse { DepartmentProfile::create($request->validated()); return to_route('references.departments.index'); } /** * Store a newly created department. */ public function store(StoreDepartmentRequest $request): RedirectResponse { Department::create($request->validated()); return to_route('references.departments.index'); } }