# Routes
# Contains each of the example definitions from the official documentation:
# https://www.playframework.com/documentation/latest/ScalaRouting
# Some examples are altered slightly to be compatible with the other examples or
# to allow for multiple supported combinations with the RPC-Rest syntax.

# Shared Route
GET   /clients/:id          controllers.Clients.show(id: Long)

# Shared Route
# Display a client.
GET   /clients/display/:id  controllers.Clients.display(id: Long)

# Not yet supported
# ->      /api              api.MyRouter

+ nocsrf
# Shared Route
POST  /api/new              controllers.Api.newThing

# Shared Route
+ nocsrf
POST  /api/make             controllers.Api.makeThing

# Shared Route
GET   /clients/all          controllers.Clients.listAll()

# Shared Route
GET   /files/*name          controllers.Application.download(name)

# Shared Route
GET   /items/$id<[0-9]+>    controllers.Items.show(id: Long)

# Shared Route
GET   /                     controllers.Application.homePage()

# Shared Route
# Extract the page parameter from the path, or fix the value for /
GET   /                     controllers.Application.show(page = "home")

# Shared Route
# Extract the page parameter from the path.
GET   /:page                controllers.Application.show(page)

# Shared Route
# Extract the page parameter from the query string.
GET   /                     controllers.Application.display(page)

# Shared Route
# Pagination links, like /clients?page=3
GET   /clients              controllers.Clients.list(page: Int ?= 1)

# Shared Route
# The version parameter is optional. E.g. /api/list-all?version=3.0
GET   /api/list-all         controllers.Api.list(version: Option[String])

# Shared Route
# Redirects to https://www.playframework.com/ with 303 See Other
GET   /about      controllers.Default.redirect(to = "https://www.playframework.com/")

# Shared Route
# Responds with 404 Not Found
GET   /orders     controllers.Default.notFound

# Shared Route
# Responds with 500 Internal Server Error
GET   /clients    controllers.Default.error

# Shared Route
# Responds with 501 Not Implemented
GET   /posts      controllers.Default.todo
