repository = $repository; } /** * @param InvoiceQuery $query * @return InvoiceItemInterface[] */ public function getInvoiceItemsForQuery(InvoiceQuery $query): iterable { return $this->repository->getTimesheetsForQuery($query); } /** * @param Timesheet[] $invoiceItems */ public function setExported(array $invoiceItems) { foreach ($invoiceItems as $item) { if (!$item instanceof Timesheet) { throw new \InvalidArgumentException('TimesheetInvoiceItemRepository only supports Timesheet entities'); } } $this->repository->setExported($invoiceItems); } }