/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1-dev * User agent: apibuilder app.apibuilder.io/platforminitiative/customer-api/0.0.1-dev/play_2_9_scala_3_controllers */ package platform.ibm.com.customer.api.v0.controllers import platform.ibm.com.customer.api.v0.models.json._ trait CustomersController extends play.api.mvc.BaseController { sealed trait GetCustomers extends Product with Serializable object GetCustomers { final case class HTTP200(body: Seq[platform.ibm.com.customer.api.v0.models.Customer]) extends GetCustomers final case class HTTP404(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends GetCustomers final case class HTTP500(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends GetCustomers final case class Undocumented(result: play.api.mvc.Result) extends GetCustomers } def getCustomers( request: play.api.mvc.Request[play.api.mvc.AnyContent], financialAccountNumber: _root_.scala.Option[_root_.java.util.UUID], email: _root_.scala.Option[String], customerName: _root_.scala.Option[String] ): scala.concurrent.Future[GetCustomers] final def getCustomers( financialAccountNumber: _root_.scala.Option[_root_.java.util.UUID], email: _root_.scala.Option[String], customerName: _root_.scala.Option[String] ): play.api.mvc.Action[play.api.mvc.AnyContent] = Action.async { request => getCustomers(request, financialAccountNumber, email, customerName) .map { case r: GetCustomers.HTTP200 => Status(200)(play.api.libs.json.Json.toJson(r.body)) case r: GetCustomers.HTTP404 => Status(404)(play.api.libs.json.Json.toJson(r.body)) case r: GetCustomers.HTTP500 => Status(500)(play.api.libs.json.Json.toJson(r.body)) case r: GetCustomers.Undocumented => r.result }(defaultExecutionContext) } sealed trait GetByCustomerName extends Product with Serializable object GetByCustomerName { final case class HTTP200(body: platform.ibm.com.customer.api.v0.models.Customer) extends GetByCustomerName final case class HTTP404(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends GetByCustomerName final case class HTTP500(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends GetByCustomerName final case class Undocumented(result: play.api.mvc.Result) extends GetByCustomerName } def getByCustomerName( request: play.api.mvc.Request[play.api.mvc.AnyContent], customerName: String ): scala.concurrent.Future[GetByCustomerName] final def getByCustomerName(customerName: String): play.api.mvc.Action[play.api.mvc.AnyContent] = Action.async { request => getByCustomerName(request, customerName) .map { case r: GetByCustomerName.HTTP200 => Status(200)(play.api.libs.json.Json.toJson(r.body)) case r: GetByCustomerName.HTTP404 => Status(404)(play.api.libs.json.Json.toJson(r.body)) case r: GetByCustomerName.HTTP500 => Status(500)(play.api.libs.json.Json.toJson(r.body)) case r: GetByCustomerName.Undocumented => r.result }(defaultExecutionContext) } sealed trait PostCustomers extends Product with Serializable object PostCustomers { final case class HTTP200(body: platform.ibm.com.customer.api.v0.models.Customer) extends PostCustomers final case class HTTP500(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends PostCustomers final case class Undocumented(result: play.api.mvc.Result) extends PostCustomers } def postCustomers( request: play.api.mvc.Request[platform.ibm.com.customer.api.v0.models.CustomerCreateForm], body: platform.ibm.com.customer.api.v0.models.CustomerCreateForm ): scala.concurrent.Future[PostCustomers] final def postCustomers(): play.api.mvc.Action[platform.ibm.com.customer.api.v0.models.CustomerCreateForm] = Action.async(parse.json[platform.ibm.com.customer.api.v0.models.CustomerCreateForm]) { request => postCustomers(request, request.body) .map { case r: PostCustomers.HTTP200 => Status(200)(play.api.libs.json.Json.toJson(r.body)) case r: PostCustomers.HTTP500 => Status(500)(play.api.libs.json.Json.toJson(r.body)) case r: PostCustomers.Undocumented => r.result }(defaultExecutionContext) } sealed trait PutByCustomerName extends Product with Serializable object PutByCustomerName { final case class HTTP200(body: platform.ibm.com.customer.api.v0.models.Customer) extends PutByCustomerName final case class HTTP404(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends PutByCustomerName final case class HTTP500(body: Seq[platform.ibm.com.customer.api.v0.models.Error]) extends PutByCustomerName final case class Undocumented(result: play.api.mvc.Result) extends PutByCustomerName } def putByCustomerName( request: play.api.mvc.Request[platform.ibm.com.customer.api.v0.models.CustomerUpdateForm], customerName: String, body: platform.ibm.com.customer.api.v0.models.CustomerUpdateForm ): scala.concurrent.Future[PutByCustomerName] final def putByCustomerName( customerName: String ): play.api.mvc.Action[platform.ibm.com.customer.api.v0.models.CustomerUpdateForm] = Action.async(parse.json[platform.ibm.com.customer.api.v0.models.CustomerUpdateForm]) { request => putByCustomerName(request, customerName, request.body) .map { case r: PutByCustomerName.HTTP200 => Status(200)(play.api.libs.json.Json.toJson(r.body)) case r: PutByCustomerName.HTTP404 => Status(404)(play.api.libs.json.Json.toJson(r.body)) case r: PutByCustomerName.HTTP500 => Status(500)(play.api.libs.json.Json.toJson(r.body)) case r: PutByCustomerName.Undocumented => r.result }(defaultExecutionContext) } }