/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.2.6 * User agent: apibuilder app.apibuilder.io/bombas/storeback-api/0.2.6/play_2_9_scala_3_controllers */ package bombas.storeback.api.v0.controllers import bombas.storeback.api.v0.models.json._ trait ProductsController extends play.api.mvc.BaseController { sealed trait Get extends Product with Serializable object Get { final case class HTTP200(body: bombas.storeback.api.v0.models.Product) extends Get case object HTTP400 extends Get case object HTTP404 extends Get final case class Undocumented(result: play.api.mvc.Result) extends Get } def get(request: play.api.mvc.Request[play.api.mvc.AnyContent], productId: String): scala.concurrent.Future[Get] final def get(productId: String): play.api.mvc.Action[play.api.mvc.AnyContent] = Action.async { request => get(request, productId) .map { case r: Get.HTTP200 => Status(200)(play.api.libs.json.Json.toJson(r.body)) case Get.HTTP400 => Status(400)(play.api.mvc.Results.EmptyContent()) case Get.HTTP404 => Status(404)(play.api.mvc.Results.EmptyContent()) case r: Get.Undocumented => r.result }(defaultExecutionContext) } }