def applyRefundOverItemAdjustments()

in src/main/scala/com/gu/invoicing/refund/Impl.scala [194:212]


  def applyRefundOverItemAdjustments(invoiceItems: List[InvoiceItemAdjustmentWrite]): List[AdjustmentResult] =
    post[List[AdjustmentResult]](
      s"$zuoraApiHost/v1/action/create",
      write(
        InvoiceItemAdjustmentsWriteRequest(
          objects = invoiceItems,
          `type` = "InvoiceItemAdjustment",
        ),
      ),
    )

  def joinInvoiceWithInvoiceItemsOnInvoiceIdKey(
      invoices: List[Invoice],
      itemsByInvoiceId: Map[String, List[InvoiceItem]],
  ): List[(String, Invoice, List[InvoiceItem])] = {
    invoices.map(invoice => (invoice.Id, invoice, itemsByInvoiceId.get(invoice.Id))) collect {
      case (invoiceId, invoice, Some(invoiceItems)) => (invoiceId, invoice, invoiceItems)
    }
  }