Decider admin access to deciders by steam id
This commit is contained in:
@@ -18,7 +18,9 @@ case class Decider(
|
||||
existAdditionalRaces: Boolean,
|
||||
existTextFieldRaces: Boolean,
|
||||
description: Boolean,
|
||||
maps: List[DeciderMapConfig]
|
||||
maps: List[DeciderMapConfig],
|
||||
/** Steam ID владельца: только он может редактировать и удалять десайдера. */
|
||||
ownerSteamId: Option[String] = None
|
||||
)
|
||||
|
||||
/**
|
||||
@@ -32,6 +34,12 @@ case class Decider(
|
||||
*/
|
||||
object DeciderRepository {
|
||||
|
||||
/**
|
||||
* Владелец по умолчанию. Записи без ownerSteamId (например, из старого
|
||||
* application.conf) считаются принадлежащими этому Steam ID.
|
||||
*/
|
||||
val DefaultOwnerSteamId: String = "76561198137977374"
|
||||
|
||||
private def appConfig: Config = ConfigFactory.load()
|
||||
|
||||
/** Файл, в который админка пишет десайдеров. */
|
||||
@@ -88,7 +96,11 @@ object DeciderRepository {
|
||||
existAdditionalRaces = Try(d.getBoolean("existAdditionalRaces")).getOrElse(false),
|
||||
existTextFieldRaces = Try(d.getBoolean("existTextFieldRaces")).getOrElse(false),
|
||||
description = Try(d.getBoolean("description")).getOrElse(false),
|
||||
maps = maps
|
||||
maps = maps,
|
||||
ownerSteamId = Try(d.getString("ownerSteamId")).toOption
|
||||
.map(_.trim)
|
||||
.filter(_.nonEmpty)
|
||||
.orElse(Some(DefaultOwnerSteamId))
|
||||
))
|
||||
}
|
||||
}
|
||||
@@ -122,6 +134,9 @@ object DeciderRepository {
|
||||
deciders.foreach { d =>
|
||||
sb.append(" ").append(quoteKey(d.key)).append(" {\n")
|
||||
sb.append(" name = ").append(quote(d.name)).append('\n')
|
||||
sb.append(" ownerSteamId = ")
|
||||
.append(quote(d.ownerSteamId.getOrElse(DefaultOwnerSteamId)))
|
||||
.append('\n')
|
||||
sb.append(" raceCount = ").append(d.raceCount).append('\n')
|
||||
if (d.existAdditionalRaces) sb.append(" existAdditionalRaces = true\n")
|
||||
if (d.existTextFieldRaces) sb.append(" existTextFieldRaces = true\n")
|
||||
|
||||
Reference in New Issue
Block a user