def program()

in src/main/scala/com/gu/invoicing/nextinvoicedate/Program.scala [17:24]


  def program(input: NextInvoiceDateInput): NextInvoiceDateOutput = retryUnsafe {
    val NextInvoiceDateInput(subscriptionName) = input
    val accountId = getAccountId(subscriptionName)
    val allInvoiceItems = getBillingPreview(accountId)
    val invoiceItems = collectRelevantInvoiceItems(subscriptionName, allInvoiceItems)
    val nextInvoiceDate = findNextInvoiceDate(invoiceItems)
    NextInvoiceDateOutput(nextInvoiceDate)
  }