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)
}
}