Skip to content

Instantly share code, notes, and snippets.

@JaniKibichi
Last active January 27, 2022 10:31
Show Gist options
  • Save JaniKibichi/de3e8437cc1608eea5d84f438cef8d2a to your computer and use it in GitHub Desktop.
Save JaniKibichi/de3e8437cc1608eea5d84f438cef8d2a to your computer and use it in GitHub Desktop.
package com.janikibichi.routes
import akka.http.scaladsl.model._
import akka.http.scaladsl.server.Directives._
import net.liftweb.json._
import scala.util.{Failure, Success}
trait Routes extends LazyLogging with CORSHandler {
implicit val formats: DefaultFormats = DefaultFormats
def routes: server.Route = ussdSetUpRoute ~ healthCheckRoutes
def ussdSetUpRoute: server.Route = {
corsHandler(
path("setup" / "ussd") {
post {
entity(as[LanguageMenu]) { languageMenu =>
logger.info(s"Menu Data $languageMenu")
onComplete(RestAPI.storeMenu(languageMenu)){
case Failure(exception) =>
logger.info(s"LanguageMenu Exception ${exception.getMessage}")
complete(StatusCodes.BadGateway)
case Success(menuUpdate) =>
complete(menuUpdate)
}
}
}
}
)
}
def healthCheckRoutes: server.Route = {
corsHandler(
path("health") {
get {
extractRequest { request =>
complete(OK)
}
}
}
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment