# Routes
# This file defines all application routes (Higher priority routes first)
# https://www.playframework.com/documentation/latest/ScalaRouting
# ~~~~

# An example controller showing a sample home page
GET     /                               controllers.Default.redirect(to = "/api")

GET     /api/buildinfo                  controllers.OdinsonController.buildInfo(pretty: Option[Boolean])
GET     /api/config                     controllers.OdinsonController.configInfo(pretty: Option[Boolean])

# API spec
GET     /api                            controllers.OpenApiController.openAPI
# search
GET     /api/search                     controllers.OdinsonController.runQuery(odinsonQuery: String, parentQuery: Option[String], label: Option[String], commit: Option[Boolean], prevDoc: Option[Int], prevScore: Option[Float], enriched: Boolean = false, pretty: Option[Boolean])

GET     /api/rich-search                controllers.OdinsonController.runQuery(odinsonQuery: String, parentQuery: Option[String], label: Option[String], commit: Option[Boolean], prevDoc: Option[Int], prevScore: Option[Float], enriched: Boolean = true, pretty: Option[Boolean])

# parent doc
GET     /api/parent                     controllers.OdinsonController.getParent(docId: String, pretty: Option[Boolean])
# sentence json
GET     /api/sentence                   controllers.OdinsonController.sentenceJsonForSentId(sentId: Int, pretty: Option[Boolean])

# counts
GET     /api/numdocs                    controllers.OdinsonController.numDocs

# corpus info and statistics
GET     /api/corpus                    controllers.OdinsonController.corpusInfo(pretty: Option[Boolean])

# misc
GET     /api/dependencies-vocabulary    controllers.OdinsonController.dependenciesVocabulary(pretty: Option[Boolean])

# resources
GET     /favicon.ico                    controllers.Assets.at(file="images/favicon.ico")
GET     /assets/*file                   controllers.Assets.at(file)
