Skip to content

Commit

Permalink
Merge branch 'master' into learn-co
Browse files Browse the repository at this point in the history
  • Loading branch information
allanjoseph98 committed Jul 31, 2024
2 parents 26d1c29 + 56612ed commit eb4b9bb
Show file tree
Hide file tree
Showing 1,448 changed files with 7,449 additions and 5,325 deletions.
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,6 @@ cd9708a0d772fe445635ae05306f1cb9365902de

# Scala Steward: Reformat with scalafmt 3.8.2
2b774ffaf8926dc9986954f3c427cbe479e05f6a

# Scala Steward: Reformat with scalafmt 3.8.3
f058dab0bfdfcf3f40d510526607e3e359354e54
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@ project/metals.sbt
project/project
project/target
public/compiled
public/hashed
public/npm
public/lifat
public/css/
public/json
target
data/
dist/
node_modules/
local/
ui/common/css/theme/gen/*.scss
ui/common/**/*.js
ui/common/**/*.d.ts
Expand Down
2 changes: 1 addition & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version = "3.8.2"
version = "3.8.3"
runner.dialect = scala3

align.preset = more
Expand Down
7 changes: 2 additions & 5 deletions app/Env.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ import akka.actor.*
import com.softwaremill.macwire.*
import play.api.libs.ws.StandaloneWSClient
import play.api.mvc.{ ControllerComponents, SessionCookieBaker }
import play.api.{ Configuration, Environment, Mode, ConfigLoader }
import play.api.{ ConfigLoader, Configuration, Environment, Mode }

import lila.core.config.*
import lila.common.config.given
import lila.common.autoconfig.{ *, given }
import lila.core.data.{ Strings, UserIds }
import lila.core.i18n.Translator

final class Env(
Expand Down Expand Up @@ -54,8 +51,8 @@ final class Env(
val analyse: lila.analyse.Env = wire[lila.analyse.Env]
val fishnet: lila.fishnet.Env = wire[lila.fishnet.Env]
val history: lila.history.Env = wire[lila.history.Env]
val round: lila.round.Env = wire[lila.round.Env]
val bookmark: lila.bookmark.Env = wire[lila.bookmark.Env]
val round: lila.round.Env = wire[lila.round.Env]
val search: lila.search.Env = wire[lila.search.Env]
val gameSearch: lila.gameSearch.Env = wire[lila.gameSearch.Env]
val perfStat: lila.perfStat.Env = wire[lila.perfStat.Env]
Expand Down
2 changes: 1 addition & 1 deletion app/Lila.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package lila.app

import play.api.inject.DefaultApplicationLifecycle
import play.api.Configuration
import play.api.inject.DefaultApplicationLifecycle

// The program entry point.
// To run with bloop:
Expand Down
6 changes: 2 additions & 4 deletions app/controllers/Account.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ package controllers
import play.api.data.Form
import play.api.libs.json.*
import play.api.mvc.*
import scalatags.Text.Frag
import scala.util.chaining.*
import views.account.pages

import lila.web.AnnounceApi
import lila.app.{ *, given }
import lila.common.HTTPRequest
import lila.security.SecurityForm.Reopen
import views.account.pages
import lila.web.AnnounceApi

final class Account(
env: Env,
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/Analyse.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import play.api.mvc.*

import lila.app.{ *, given }
import lila.common.HTTPRequest
import lila.game.{ PgnDump, Pov }
import lila.core.misc.lpv.LpvEmbed
import lila.game.PgnDump
import lila.oauth.AccessToken
import lila.tree.ExportOptions
import lila.core.misc.lpv.LpvEmbed

final class Analyse(
env: Env,
Expand Down
7 changes: 2 additions & 5 deletions app/controllers/Api.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package controllers

import scala.util.chaining.*
import akka.stream.scaladsl.*
import play.api.libs.json.*
import play.api.mvc.*
Expand All @@ -9,12 +8,11 @@ import lila.api.GameApiV2
import lila.app.{ *, given }
import lila.common.HTTPRequest
import lila.common.Json.given
import lila.core.LightUser
import lila.core.net.IpAddress
import lila.core.chess.MultiPv
import lila.core.net.IpAddress
import lila.core.{ LightUser, id }
import lila.gathering.Condition.GetMyTeamIds
import lila.security.Mobile
import lila.core.id

final class Api(
env: Env,
Expand Down Expand Up @@ -188,7 +186,6 @@ final class Api(
def tournamentResults(id: TourId) = Anon:
val csv = HTTPRequest.acceptsCsv(req) || get("as").has("csv")
env.tournament.tournamentRepo.byId(id).orNotFound { tour =>
import lila.tournament.JsonView.playerResultWrites
val withSheet = getBool("sheet")
val perSecond = MaxPerSecond:
if withSheet
Expand Down
6 changes: 3 additions & 3 deletions app/controllers/Auth.scala
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import play.api.mvc.*
import lila.app.{ *, given }
import lila.common.HTTPRequest
import lila.common.Json.given
import lila.security.SecurityForm.{ MagicLink, PasswordReset }
import lila.security.{ FingerPrint, Signup }
import lila.core.email.{ UserIdOrEmail, UserStrOrEmail }
import lila.core.net.IpAddress
import lila.core.email.{ UserStrOrEmail, UserIdOrEmail }
import lila.core.security.ClearPassword
import lila.memo.RateLimit
import lila.security.SecurityForm.{ MagicLink, PasswordReset }
import lila.security.{ FingerPrint, Signup }

final class Auth(
env: Env,
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/BulkPairing.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ package controllers

import play.api.libs.json.*

import lila.api.GameApiV2
import lila.app.*
import lila.common.Json.given
import lila.challenge.ChallengeBulkSetup
import lila.api.GameApiV2
import lila.common.Json.given

final class BulkPairing(gameC: => Game, apiC: => Api, env: Env) extends LilaController(env):

Expand Down
11 changes: 4 additions & 7 deletions app/controllers/Challenge.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ import play.api.libs.json.Json
import play.api.mvc.{ RequestHeader, Result }

import lila.app.{ *, given }
import lila.challenge.Challenge as ChallengeModel
import lila.core.net.{ Bearer, IpAddress }
import lila.challenge.{ Challenge as ChallengeModel, Direction }
import lila.core.id.ChallengeId
import lila.game.{ AnonCookie }
import lila.core.net.Bearer
import lila.core.socket.SocketVersion
import lila.game.AnonCookie
import lila.oauth.{ EndpointScopes, OAuthScope, OAuthServer }
import lila.setup.ApiConfig
import lila.core.socket.SocketVersion
import lila.challenge.Direction
import lila.common.Json.given

final class Challenge(
env: Env,
Expand Down Expand Up @@ -359,7 +357,6 @@ final class Challenge(
config =>
limit
.challenge(req.ipAddress, rateLimited):
import lila.challenge.Challenge.*
env.challenge.api
.createOpen(config)
.map: challenge =>
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/Clas.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ package controllers
package clas

import akka.stream.scaladsl.*
import play.api.mvc.*
import play.api.data.Form
import play.api.mvc.*

import lila.app.{ *, given }
import lila.clas.ClasForm.ClasData
import lila.clas.ClasInvite
import lila.core.security.ClearPassword
import lila.core.id.{ ClasId, ClasInviteId }
import lila.core.security.ClearPassword

final class Clas(env: Env, authC: Auth) extends LilaController(env):

Expand Down
3 changes: 1 addition & 2 deletions app/controllers/Dasher.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ import play.api.libs.ws.JsonBodyReadables.*
import play.api.libs.ws.StandaloneWSClient

import lila.app.{ *, given }
import lila.common.Json.lightUserWrites
import lila.core.i18n.{ I18nKey as trans, defaultLang }
import lila.i18n.{ LangPicker, LangList }
import lila.i18n.{ LangList, LangPicker }
import lila.pref.ui.DasherJson

final class Dasher(env: Env)(using ws: StandaloneWSClient) extends LilaController(env):
Expand Down
5 changes: 1 addition & 4 deletions app/controllers/Export.scala
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
package controllers

import scala.util.chaining.*
import akka.stream.scaladsl.*
import akka.util.ByteString

import chess.format.{ Fen, Uci }
import chess.variant.Variant
import play.api.mvc.Result

import lila.app.*
import lila.core.net.IpAddress
import lila.pref.{ PieceSet, Theme }
import lila.core.id.PuzzleId
import lila.pref.{ PieceSet, Theme }

final class Export(env: Env) extends LilaController(env):

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Fishnet.scala
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package controllers

import monocle.syntax.all.*
import play.api.libs.json.*
import play.api.mvc.*

import monocle.syntax.all.*
import scala.util.{ Failure, Success }

import lila.app.*
Expand Down
4 changes: 1 addition & 3 deletions app/controllers/ForumCateg.scala
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package controllers

import lila.app.{ *, given }
import lila.core.config
import lila.core.id.{ ForumCategId, ForumTopicId }
import lila.core.id.ForumCategId
import lila.forum.ForumCateg.{ diagnosticId, ublogId }
import lila.team.Team

final class ForumCateg(env: Env) extends LilaController(env) with ForumController:

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/ForumController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package controllers
import play.api.mvc.*

import lila.app.{ *, given }
import lila.forum.ForumTopic
import lila.core.id.{ ForumCategId, ForumTopicId }
import lila.forum.ForumTopic

private[controllers] trait ForumController:
self: LilaController =>
Expand Down
3 changes: 1 addition & 2 deletions app/controllers/ForumPost.scala
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package controllers

import lila.app.{ *, given }
import lila.core.net.IpAddress
import lila.core.i18n.I18nKey as trans
import lila.core.id.{ ForumCategId, ForumTopicId }
import lila.core.id.ForumCategId
import lila.msg.MsgPreset

final class ForumPost(env: Env) extends LilaController(env) with ForumController:
Expand Down
3 changes: 1 addition & 2 deletions app/controllers/ForumTopic.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ package controllers
import play.api.libs.json.*

import lila.app.{ *, given }
import lila.core.net.IpAddress
import lila.forum.ForumCateg.diagnosticId
import lila.common.Json.given
import lila.core.id.{ ForumCategId, ForumTopicId }
import lila.forum.ForumCateg.diagnosticId

final class ForumTopic(env: Env) extends LilaController(env) with ForumController:

Expand Down
12 changes: 6 additions & 6 deletions app/controllers/Game.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@ package controllers
import play.api.mvc.*

import java.time.format.DateTimeFormatter
import scala.util.chaining.*

import lila.api.GameApiV2
import lila.app.{ *, given }
import lila.common.HTTPRequest

import lila.rating.PerfType
import lila.core.id.GameAnyId

final class Game(env: Env, apiC: => Api) extends LilaController(env):

def bookmark(gameId: GameId) = Auth { _ ?=> me ?=>
env.bookmark.api.toggle(gameId, me).inject(NoContent)
def bookmark(gameId: GameId) = AuthOrScopedBody(_.Web.Mobile) { _ ?=> me ?=>
env.bookmark.api
.toggle(env.round.gameProxy.updateIfPresent)(gameId, me, getBoolOpt("v"))
.inject(NoContent)
}

def delete(gameId: GameId) = Auth { _ ?=> me ?=>
Expand Down Expand Up @@ -149,7 +148,8 @@ final class Game(env: Env, apiC: => Api) extends LilaController(env):
delayMoves = delayMovesFromReq,
lastFen = getBool("lastFen"),
accuracy = getBool("accuracy"),
division = getBoolOpt("division") | extended
division = getBoolOpt("division") | extended,
bookmark = getBool("withBookmarked")
)

private[controllers] def delayMovesFromReq(using RequestHeader) =
Expand Down
4 changes: 0 additions & 4 deletions app/controllers/GameMod.scala
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package controllers

import play.api.data.*

import lila.api.GameApiV2
import lila.app.{ *, given }
import lila.core.config

final class GameMod(env: Env)(using akka.stream.Materializer) extends LilaController(env):

Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Github.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package controllers
import play.api.libs.json.*
import play.api.mvc.*

import lila.app.{ *, given }
import lila.app.*

final class Github(env: Env) extends LilaController(env):

Expand Down
6 changes: 2 additions & 4 deletions app/controllers/Importer.scala
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package controllers

import scala.util.{ Either, Left, Right }
import chess.ErrorStr
import chess.format.pgn.PgnStr
import play.api.libs.json.Json
import play.api.mvc.*

import scala.util.{ Either, Left, Right }

import lila.app.{ *, given }
import lila.common.HTTPRequest
import lila.common.Json.given
import lila.core.net.IpAddress
import lila.game.GameExt.analysable

final class Importer(env: Env) extends LilaController(env):

Expand Down
20 changes: 9 additions & 11 deletions app/controllers/Insight.scala
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package controllers

import play.api.i18n.Lang
import play.api.libs.json.{ JsValue, Json }
import play.api.mvc.*

import lila.app.{ *, given }
import lila.insight.{ InsightDimension, InsightMetric }
import lila.core.i18n.Translate
import lila.insight.{ InsightDimension, InsightMetric }

final class Insight(env: Env) extends LilaController(env):

Expand Down Expand Up @@ -67,18 +65,18 @@ final class Insight(env: Env) extends LilaController(env):
.map { Ok(_) }
)

private def Accessible(username: UserStr)(f: lila.user.User => Fu[Result])(using ctx: Context) =
Found(meOrFetch(username)): u =>
env.insight.share
.grant(u)(using ctx.me)
.flatMap:
if _ then f(u)
else Forbidden.page(views.insight.forbidden(u))
private def Accessible(username: UserStr)(f: lila.user.User => Fu[Result])(using Context) =
isAccessible(username)(f, u => Forbidden.page(views.insight.forbidden(u)))

private def AccessibleApi(username: UserStr)(f: lila.user.User => Fu[Result])(using Context) =
isAccessible(username)(f, _ => Forbidden)

private def isAccessible(
username: UserStr
)(f: lila.user.User => Fu[Result], fallback: lila.user.User => Fu[Result])(using Context): Fu[Result] =
Found(meOrFetch(username)): u =>
env.insight.share
.grant(u)(using ctx.me)
.flatMap:
if _ then f(u)
else Forbidden
else fallback(u)
Loading

0 comments on commit eb4b9bb

Please sign in to comment.