/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.0-dev * User agent: apibuilder app.apibuilder.io/helicalmoment/zola-takehome/1.0.0-dev/play_2_9_scala_3_controllers */ package org.helicalmoment.zola.takehome.v1.controllers import org.helicalmoment.zola.takehome.v1.models.json._ trait InvoicesController extends play.api.mvc.BaseController { sealed trait Put extends Product with Serializable object Put { final case class HTTP201(body: org.helicalmoment.zola.takehome.v1.models.Invoice) extends Put final case class Undocumented(result: play.api.mvc.Result) extends Put } def put( request: play.api.mvc.Request[org.helicalmoment.zola.takehome.v1.models.Invoice], body: org.helicalmoment.zola.takehome.v1.models.Invoice ): scala.concurrent.Future[Put] final def put(): play.api.mvc.Action[org.helicalmoment.zola.takehome.v1.models.Invoice] = Action.async(parse.json[org.helicalmoment.zola.takehome.v1.models.Invoice]) { request => put(request, request.body) .map { case r: Put.HTTP201 => Status(201)(play.api.libs.json.Json.toJson(r.body)) case r: Put.Undocumented => r.result }(defaultExecutionContext) } sealed trait Get extends Product with Serializable object Get { final case class HTTP200(body: Seq[org.helicalmoment.zola.takehome.v1.models.Invoice]) extends Get final case class Undocumented(result: play.api.mvc.Result) extends Get } def get( request: play.api.mvc.Request[play.api.mvc.AnyContent], invoiceNumber: _root_.scala.Option[String], poNumber: _root_.scala.Option[String], limit: _root_.scala.Option[Int], offset: _root_.scala.Option[Int] ): scala.concurrent.Future[Get] final def get( invoiceNumber: _root_.scala.Option[String], poNumber: _root_.scala.Option[String], limit: _root_.scala.Option[Int], offset: _root_.scala.Option[Int] ): play.api.mvc.Action[play.api.mvc.AnyContent] = Action.async { request => get(request, invoiceNumber, poNumber, limit, offset) .map { case r: Get.HTTP200 => Status(200)(play.api.libs.json.Json.toJson(r.body)) case r: Get.Undocumented => r.result }(defaultExecutionContext) } }