where('user_id', $user->id) ->where('is_active', true) ->where(function ($q) { $q->whereNull('start_date')->orWhereDate('start_date', '<=', now()); }) ->where(function ($q) { $q->whereNull('end_date')->orWhereDate('end_date', '>=', now()); }); if (! empty($requestedAssignmentId)) { return (clone $query)->where('id', $requestedAssignmentId)->first(); } return (clone $query)->where('is_primary', true)->first() ?: $query->first(); } public function resolveFromRequest(Request $request, User $user): ?EmploymentAssignment { $assignmentId = $request->header('X-Assignment-Id') ?: $request->query('assignment_id') ?: $request->session()->get('holding.active_assignment_id'); return $this->getActiveAssignment($user, ! empty($assignmentId) ? (int) $assignmentId : null); } }