validate([ 'unit_ids' => ['sometimes', 'array'], 'unit_ids.*' => ['integer', 'exists:units,id'], 'start_date' => ['nullable', 'date'], 'end_date' => ['nullable', 'date', 'after_or_equal:start_date'], ]); $unitIds = array_values(array_filter((array) ($data['unit_ids'] ?? []))); $startDate = isset($data['start_date']) ? Carbon::parse($data['start_date'])->startOfDay() : null; $endDate = isset($data['end_date']) ? Carbon::parse($data['end_date'])->endOfDay() : null; return $this->successResponse( payload: $this->service->overview($unitIds, $startDate, $endDate), ); } }