307 lines
18 KiB
Plaintext
307 lines
18 KiB
Plaintext
# Accessibility
|
|
POST /toggle-blind-mode controllers.Main.toggleBlindMode
|
|
|
|
# Lobby
|
|
GET / controllers.Lobby.home
|
|
GET /lobby/socket/v:apiVersion controllers.Lobby.socket(apiVersion: Int)
|
|
GET /timeline controllers.Lobby.timeline
|
|
GET /timeline/more controllers.Lobby.timelineMore
|
|
|
|
# TV
|
|
GET /tv controllers.Tv.index
|
|
GET /tv/$gameId<\w{8}>/$color<white|black>/side controllers.Tv.side(gameId: String, color: String)
|
|
GET /tv/embed controllers.Tv.embed
|
|
GET /tv/frame controllers.Tv.frame
|
|
GET /tv/stream controllers.Tv.streamOut
|
|
GET /tv/$id<[0-9a-f]{8}> controllers.Tv.streamIn(id: String)
|
|
GET /tv/lichess controllers.Tv.lichess
|
|
|
|
# Relation
|
|
POST /rel/follow/:userId controllers.Relation.follow(userId: String)
|
|
POST /rel/unfollow/:userId controllers.Relation.unfollow(userId: String)
|
|
POST /rel/block/:userId controllers.Relation.block(userId: String)
|
|
POST /rel/unblock/:userId controllers.Relation.unblock(userId: String)
|
|
GET /@/:username/following controllers.Relation.following(username: String)
|
|
GET /@/:username/followers controllers.Relation.followers(username: String)
|
|
GET /@/:username/suggestions controllers.Relation.suggest(username: String)
|
|
|
|
# User
|
|
GET /@/:username/opponents controllers.User.opponents(username: String)
|
|
GET /@/:username/mod controllers.User.mod(username: String)
|
|
POST /@/:username/evaluate controllers.User.evaluate(username: String)
|
|
POST /@/:username/note controllers.User.writeNote(username: String)
|
|
GET /@/:username/mini controllers.User.showMini(username: String)
|
|
GET /@/:username/tv controllers.User.tv(username: String)
|
|
GET /@/:username/:filterName controllers.User.showFilter(username: String, filterName: String, page: Int ?= 1)
|
|
GET /@/:username controllers.User.show(username: String)
|
|
GET /player controllers.User.list
|
|
GET /player/online controllers.User.online
|
|
GET /player/autocomplete controllers.User.autocomplete
|
|
|
|
# Account
|
|
GET /account/passwd controllers.Account.passwd
|
|
POST /account/passwd controllers.Account.passwdApply
|
|
GET /account/close controllers.Account.close
|
|
POST /account/closeConfirm controllers.Account.closeConfirm
|
|
GET /account/profile controllers.Account.profile
|
|
POST /account/profile controllers.Account.profileApply
|
|
GET /account/info controllers.Account.info
|
|
|
|
# Site
|
|
GET /socket controllers.Main.websocket
|
|
|
|
# Blog
|
|
GET /blog controllers.Blog.index(ref: Option[String] ?= None)
|
|
GET /blog/:id/:slug controllers.Blog.show(id: String, slug: String, ref: Option[String] ?= None)
|
|
GET /blog.atom controllers.Blog.atom(ref: Option[String] ?= None)
|
|
|
|
# Game
|
|
GET /games controllers.Game.realtime
|
|
GET /games/all controllers.Game.all(page: Int ?= 1)
|
|
GET /games/checkmate controllers.Game.checkmate(page: Int ?= 1)
|
|
GET /games/bookmark controllers.Game.bookmark(page: Int ?= 1)
|
|
GET /games/analysed controllers.Game.analysed(page: Int ?= 1)
|
|
GET /games/imported controllers.Game.imported(page: Int ?= 1)
|
|
GET /games/export/:user controllers.Game.export(user: String)
|
|
|
|
# Search
|
|
GET /games/search controllers.Game.search(page: Int ?= 1)
|
|
|
|
# Training - Coordinate
|
|
GET /training/coordinate controllers.Coordinate.home
|
|
POST /training/coordinate/score controllers.Coordinate.score
|
|
POST /training/coordinate/color controllers.Coordinate.color
|
|
|
|
# Training - Puzzle
|
|
GET /training controllers.Puzzle.home
|
|
POST /training/difficulty controllers.Puzzle.difficulty
|
|
GET /training/new controllers.Puzzle.newPuzzle
|
|
GET /training/history controllers.Puzzle.history
|
|
GET /training/:id controllers.Puzzle.show(id: Int)
|
|
GET /training/:id/load controllers.Puzzle.load(id: Int)
|
|
POST /training/:id/attempt controllers.Puzzle.attempt(id: Int)
|
|
POST /training/:id/vote controllers.Puzzle.vote(id: Int)
|
|
|
|
# Round
|
|
GET /$gameId<\w{8}> controllers.Round.watcher(gameId: String, color: String = "white")
|
|
GET /$gameId<\w{8}>/$color<white|black> controllers.Round.watcher(gameId: String, color: String)
|
|
GET /$fullId<\w{12}> controllers.Round.player(fullId: String)
|
|
GET /$gameId<\w{8}>/$color<white|black>/socket controllers.Round.websocketWatcher(gameId: String, color: String)
|
|
GET /$fullId<\w{12}>/socket/v:apiVersion controllers.Round.websocketPlayer(fullId: String, apiVersion: Int)
|
|
GET /$gameId<\w{8}>/$color<white|black>/side controllers.Round.sideWatcher(gameId: String, color: String)
|
|
GET /$fullId<\w{12}>/side controllers.Round.sidePlayer(fullId: String)
|
|
GET /$gameId<\w{8}>/continue/:mode controllers.Round.continue(gameId: String, mode: String)
|
|
GET /$gameId<\w{8}>/edit controllers.Editor.game(gameId: String)
|
|
|
|
# Round accessibility: text representation
|
|
GET /$fullId<\w{12}>/text controllers.Round.playerText(fullId: String)
|
|
GET /$gameId<\w{8}>/$color<white|black>/text controllers.Round.watcherText(gameId: String, color: String)
|
|
|
|
# Tournament
|
|
GET /tournament controllers.Tournament.home
|
|
GET /tournament/reload controllers.Tournament.homeReload
|
|
GET /tournament/new controllers.Tournament.form
|
|
POST /tournament/new controllers.Tournament.create
|
|
GET /tournament/$id<\w{8}> controllers.Tournament.show(id: String)
|
|
GET /tournament/$id<\w{8}>/socket controllers.Tournament.websocket(id: String)
|
|
POST /tournament/$id<\w{8}>/join controllers.Tournament.join(id: String)
|
|
GET /tournament/$id<\w{8}>/join/password controllers.Tournament.joinPasswordForm(id: String)
|
|
POST /tournament/$id<\w{8}>/join/password controllers.Tournament.joinPassword(id: String)
|
|
POST /tournament/$id<\w{8}>/withdraw controllers.Tournament.withdraw(id: String)
|
|
GET /tournament/$id<\w{8}>/reload controllers.Tournament.reload(id: String)
|
|
POST /tournament/$id<\w{8}>/early-start controllers.Tournament.earlyStart(id: String)
|
|
GET /tournament/help controllers.Tournament.help(system: Option[String] ?= None)
|
|
|
|
# Team
|
|
GET /team controllers.Team.home(page: Int ?= 1)
|
|
GET /team/new controllers.Team.form
|
|
POST /team/new controllers.Team.create
|
|
GET /team/me controllers.Team.mine
|
|
GET /team/requests controllers.Team.requests
|
|
GET /team/search controllers.Team.search(text: String ?= "", page: Int ?= 1)
|
|
GET /team/:id controllers.Team.show(id: String, page: Int ?= 1)
|
|
GET /team/:id/join controllers.Team.joinPage(id: String)
|
|
POST /team/:id/join controllers.Team.join(id: String)
|
|
POST /team/:id/quit controllers.Team.quit(id: String)
|
|
GET /team/:id/request/new controllers.Team.requestForm(id: String)
|
|
POST /team/:id/request/new controllers.Team.requestCreate(id: String)
|
|
POST /team/:id/request/process controllers.Team.requestProcess(id: String)
|
|
GET /team/:id/edit controllers.Team.edit(id: String)
|
|
POST /team/:id/edit controllers.Team.update(id: String)
|
|
GET /team/:id/kick controllers.Team.kickForm(id: String)
|
|
POST /team/:id/kick controllers.Team.kick(id: String)
|
|
|
|
# Analyse
|
|
POST /$gameId<\w{8}>/request-analysis controllers.Analyse.requestAnalysis(gameId: String)
|
|
POST /$gameId<\w{8}>/better-analysis/$color<white|black> controllers.Analyse.betterAnalysis(gameId: String, color: String)
|
|
POST /$gameId<\w{8}>/post-analysis controllers.Analyse.postAnalysis(gameId: String)
|
|
|
|
GET /game/export/$gameId<\w{8}>.pgn controllers.Export.pgn(gameId: String)
|
|
GET /game/export/pdf/$gameId<\w{8}>.pdf controllers.Export.pdf(gameId: String)
|
|
GET /game/export/png/$gameId<\w{8}>.png controllers.Export.png(gameId: String)
|
|
|
|
# Pref
|
|
POST /pref/:name controllers.Pref.set(name: String)
|
|
GET /account/preferences controllers.Pref.form
|
|
POST /account/preferences controllers.Pref.formApply
|
|
POST /account/preferences/tag/:name/:value controllers.Pref.saveTag(name: String, value: String)
|
|
|
|
# Setup
|
|
GET /setup/ai controllers.Setup.aiForm
|
|
POST /setup/ai controllers.Setup.ai
|
|
GET /setup/friend controllers.Setup.friendForm(user: Option[String] ?= None)
|
|
POST /setup/friend controllers.Setup.friend(user: Option[String] ?= None)
|
|
POST /setup/decline controllers.Setup.decline(gameId: String)
|
|
GET /$fullId<\w{12}>/await controllers.Setup.await(fullId: String, user: Option[String] ?= None)
|
|
GET /$fullId<\w{12}>/cancel controllers.Setup.cancel(fullId: String)
|
|
POST /$id<\w{8}>/join controllers.Setup.join(id: String)
|
|
GET /setup/hook controllers.Setup.hookForm
|
|
POST /setup/hook/:uid controllers.Setup.hook(uid: String)
|
|
GET /setup/filter controllers.Setup.filterForm
|
|
POST /setup/filter controllers.Setup.filter
|
|
GET /setup/validate-fen controllers.Setup.validateFen
|
|
|
|
# I18n
|
|
GET /translation/contribute controllers.I18n.contribute
|
|
GET /translation/form/:lang controllers.I18n.translationForm(lang: String)
|
|
POST /translation/post/:lang controllers.I18n.translationPost(lang: String)
|
|
GET /translation/fetch/:from controllers.I18n.fetch(from: Int)
|
|
POST /translation/hideCalls controllers.I18n.hideCalls
|
|
|
|
# Authentication
|
|
GET /login controllers.Auth.login
|
|
POST /login controllers.Auth.authenticate
|
|
GET /logout controllers.Auth.logout
|
|
GET /signup controllers.Auth.signup
|
|
POST /signup controllers.Auth.signupPost
|
|
POST /new-password controllers.Auth.newPassword
|
|
|
|
# Mod
|
|
POST /mod/:username/engine controllers.Mod.engine(username: String)
|
|
POST /mod/:username/troll controllers.Mod.troll(username: String)
|
|
POST /mod/:username/ban controllers.Mod.ban(username: String)
|
|
POST /mod/:username/close controllers.Mod.closeAccount(username: String)
|
|
POST /mod/:username/reopen controllers.Mod.reopenAccount(username: String)
|
|
POST /mod/:username/title controllers.Mod.setTitle(username: String)
|
|
GET /mod/:username/communication controllers.Mod.communication(username: String)
|
|
POST /mod/:ip/ipban controllers.Mod.ipban(ip: String)
|
|
GET /mod/log controllers.Mod.log
|
|
|
|
# Wiki
|
|
GET /wiki controllers.Wiki.home
|
|
GET /wiki/:slug controllers.Wiki.show(slug: String)
|
|
|
|
# AI
|
|
GET /ai/move controllers.Ai.move
|
|
POST /ai/analyse controllers.Ai.analyse
|
|
|
|
# Bookmark
|
|
POST /bookmark/$gameId<\w{8}> controllers.Bookmark.toggle(gameId: String)
|
|
|
|
# Forum
|
|
GET /forum controllers.ForumCateg.index
|
|
GET /forum/recent controllers.ForumPost.recent
|
|
GET /forum/search controllers.ForumPost.search(text: String ?= "", page: Int ?= 1)
|
|
GET /forum/:slug controllers.ForumCateg.show(slug: String, page: Int ?= 1)
|
|
GET /forum/:categSlug/form controllers.ForumTopic.form(categSlug: String)
|
|
POST /forum/:categSlug/new controllers.ForumTopic.create(categSlug: String)
|
|
GET /forum/:categSlug/:slug controllers.ForumTopic.show(categSlug: String, slug: String, page: Int ?= 1)
|
|
POST /forum/:categSlug/:slug/close controllers.ForumTopic.close(categSlug: String, slug: String)
|
|
POST /forum/:categSlug/:slug/hide controllers.ForumTopic.hide(categSlug: String, slug: String)
|
|
POST /forum/:categSlug/:slug/new controllers.ForumPost.create(categSlug: String, slug: String, page: Int ?= 1)
|
|
POST /forum/:categSlug/delete/:id controllers.ForumPost.delete(categSlug: String, id: String)
|
|
GET /forum/redirect/post/:id controllers.ForumPost.redirect(id: String)
|
|
|
|
# Message
|
|
GET /inbox controllers.Message.inbox(page: Int ?= 1)
|
|
GET /inbox/new controllers.Message.form
|
|
POST /inbox/new controllers.Message.create
|
|
GET /inbox/preview controllers.Message.preview
|
|
GET /inbox/$id<\w{8}> controllers.Message.thread(id: String)
|
|
POST /inbox/$id<\w{8}> controllers.Message.answer(id: String)
|
|
POST /inbox/$id<\w{8}>/delete controllers.Message.delete(id: String)
|
|
POST /inbox/$id<\w{8}>/read controllers.Message.markAsRead(id: String)
|
|
|
|
# Notification
|
|
DELETE /notification/$id<\w{8}> controllers.Notification.remove(id)
|
|
|
|
# Paste
|
|
GET /paste controllers.Importer.importGame
|
|
POST /import controllers.Importer.sendGame
|
|
|
|
# Progressive import API
|
|
POST /api/import/live controllers.Importer.liveCreate
|
|
POST /api/import/live/$id<\w{8}>/:move controllers.Importer.liveMove(id: String, move: String)
|
|
|
|
# Edit
|
|
GET /editor/*urlFen controllers.Editor.load(urlFen: String)
|
|
GET /editor controllers.Editor.index
|
|
|
|
# Monitor
|
|
GET /monitor controllers.Monitor.index
|
|
GET /monitor/socket controllers.Monitor.websocket
|
|
GET /monitor/status controllers.Monitor.status
|
|
|
|
# Report
|
|
GET /report controllers.Report.form
|
|
POST /report controllers.Report.create
|
|
GET /report/thanks controllers.Report.thanks
|
|
GET /report/list controllers.Report.list
|
|
POST /report/:id/process controllers.Report.process(id: String)
|
|
|
|
# QA
|
|
GET /qa controllers.QaQuestion.index(page: Option[Int] ?= None)
|
|
GET /qa/search controllers.QaQuestion.search
|
|
GET /qa/ask controllers.QaQuestion.ask
|
|
POST /qa/ask controllers.QaQuestion.doAsk
|
|
GET /qa/tag/:slug controllers.QaQuestion.byTag(slug: String)
|
|
GET /qa/:id/:slug controllers.QaQuestion.show(id: Int, slug: String)
|
|
GET /qa/:id/:slug/edit controllers.QaQuestion.edit(id: Int, slug: String)
|
|
POST /qa/:id/edit controllers.QaQuestion.doEdit(id: Int)
|
|
POST /qa/:id/vote controllers.QaQuestion.vote(id: Int)
|
|
POST /qa/:id/rm controllers.QaQuestion.remove(id: Int)
|
|
POST /qa/:id/answer controllers.QaAnswer.create(id: Int)
|
|
POST /qa/:id/:a/vote controllers.QaAnswer.vote(id: Int, a: Int)
|
|
POST /qa/:id/:a/accept controllers.QaAnswer.accept(id: Int, a: Int)
|
|
POST /qa/:id/:a/edit-answer controllers.QaAnswer.doEdit(id: Int, a: Int)
|
|
POST /qa/:id/:a/rm-answer controllers.QaAnswer.remove(id: Int, a: Int)
|
|
POST /qa/:id/:a/move controllers.QaAnswer.moveTo(id: Int, a: Int)
|
|
POST /qa/:id/comment controllers.QaComment.question(id: Int)
|
|
POST /qa/:id/:a/comment controllers.QaComment.answer(id: Int, a: Int)
|
|
POST /qa/:id/:c/rm-comment controllers.QaComment.remove(id: Int, c: String)
|
|
|
|
# API
|
|
GET /api/user controllers.Api.users
|
|
GET /api/user/:id controllers.Api.user(id: String)
|
|
GET /api/game controllers.Api.games
|
|
GET /api/game/:id controllers.Api.game(id: String)
|
|
GET /api/puzzle/:id controllers.Api.puzzle(id: String)
|
|
# POST /api/puzzle controllers.Puzzle.importBatch
|
|
|
|
# Misc
|
|
POST /cli controllers.Cli.command
|
|
GET /captcha/$id<\w{8}> controllers.Main.captchaCheck(id: String)
|
|
GET /developers controllers.Main.developers
|
|
GET /embed controllers.Main.embed
|
|
GET /irc controllers.Main.irc
|
|
|
|
# Map
|
|
GET /world-map controllers.WorldMap.index
|
|
GET /world-map/stream controllers.WorldMap.stream
|
|
|
|
# Pages
|
|
GET /thanks controllers.Page.thanks
|
|
GET /help-lichess controllers.Page.helpLichess
|
|
GET /terms-of-service controllers.Page.tos
|
|
GET /how-to-stream-on-lichess controllers.Page.streamHowTo
|
|
GET /contact controllers.Page.contact
|
|
GET /king-of-the-hill controllers.Page.kingOfTheHill
|
|
|
|
# Donate
|
|
GET /donate controllers.Donation.index
|
|
GET /donate/thanks controllers.Donation.thanks
|
|
POST /donate/ipn controllers.Donation.ipn
|
|
|
|
# Assets
|
|
GET /assets/*file controllers.Assets.at(path="/public", file)
|