mirror of
https://github.com/arcan1s/ffxivbis.git
synced 2025-04-24 17:27:17 +00:00
Release 0.9.11
change loggin, more tests, cosmetic changes
This commit is contained in:
parent
d9cbb6cf00
commit
08f7f4571e
@ -8,9 +8,10 @@
|
||||
</root>
|
||||
|
||||
<logger name="me.arcanis.ffxivbis" level="DEBUG" />
|
||||
<logger name="http" level="DEBUG">
|
||||
<logger name="http" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="http" />
|
||||
</logger>
|
||||
<logger name="slick" level="INFO" />
|
||||
<logger name="org.flywaydb.core.internal" level="INFO" />
|
||||
|
||||
</configuration>
|
||||
|
@ -17,7 +17,7 @@ import spray.json._
|
||||
|
||||
trait HttpHandler extends StrictLogging { this: JsonSupport =>
|
||||
|
||||
implicit def exceptionHandler: ExceptionHandler = ExceptionHandler {
|
||||
def exceptionHandler: ExceptionHandler = ExceptionHandler {
|
||||
case ex: IllegalArgumentException =>
|
||||
complete(StatusCodes.BadRequest, ErrorResponse(ex.getMessage))
|
||||
|
||||
@ -26,7 +26,7 @@ trait HttpHandler extends StrictLogging { this: JsonSupport =>
|
||||
complete(StatusCodes.InternalServerError, ErrorResponse("unknown server error"))
|
||||
}
|
||||
|
||||
implicit def rejectionHandler: RejectionHandler =
|
||||
def rejectionHandler: RejectionHandler =
|
||||
RejectionHandler.default
|
||||
.mapRejectionResponse {
|
||||
case response @ HttpResponse(_, _, entity: HttpEntity.Strict, _) =>
|
||||
|
@ -69,7 +69,7 @@ class BiSView(override val storage: ActorRef[Message],
|
||||
|
||||
def bisAction(playerId: PlayerId, piece: String, pieceType: String)(fn: Piece => Future[Unit]) =
|
||||
getPiece(playerId, piece, pieceType) match {
|
||||
case Some(item) => fn(item).map(_ => ())
|
||||
case Some(item) => fn(item)
|
||||
case _ => Future.failed(new Error(s"Could not construct piece from `$piece ($pieceType)`"))
|
||||
}
|
||||
|
||||
@ -79,7 +79,7 @@ class BiSView(override val storage: ActorRef[Message],
|
||||
bisAction(playerId, piece, pieceType)(addPieceBiS(playerId, _))
|
||||
case (Some(piece), Some(pieceType), "remove", _) =>
|
||||
bisAction(playerId, piece, pieceType)(removePieceBiS(playerId, _))
|
||||
case (_, _, "create", Some(link)) => putBiS(playerId, link).map(_ => ())
|
||||
case (_, _, "create", Some(link)) => putBiS(playerId, link)
|
||||
case _ => Future.failed(new Error(s"Could not perform $action"))
|
||||
}
|
||||
case _ => Future.failed(new Error(s"Could not construct player id from `$player`"))
|
||||
|
@ -70,8 +70,8 @@ class LootView(override val storage: ActorRef[Message])
|
||||
|
||||
PlayerId(partyId, player) match {
|
||||
case Some(playerId) => (getPiece(playerId), action) match {
|
||||
case (Some(piece), "add") => addPieceLoot(playerId, piece, maybeFreeLoot).map(_ => ())
|
||||
case (Some(piece), "remove") => removePieceLoot(playerId, piece).map(_ => ())
|
||||
case (Some(piece), "add") => addPieceLoot(playerId, piece, maybeFreeLoot)
|
||||
case (Some(piece), "remove") => removePieceLoot(playerId, piece)
|
||||
case _ => Future.failed(new Error(s"Could not construct piece from `$maybePiece ($maybePieceType)`"))
|
||||
}
|
||||
case _ => Future.failed(new Error(s"Could not construct player id from `$player`"))
|
||||
|
@ -68,8 +68,8 @@ class PlayerView(override val storage: ActorRef[Message],
|
||||
Player(-1, partyId, playerId.job, playerId.nick, BiS.empty, Seq.empty, maybeLink, maybePriority.getOrElse(0))
|
||||
|
||||
(action, maybePlayerId) match {
|
||||
case ("add", Some(playerId)) => addPlayer(player(playerId)).map(_ => ())
|
||||
case ("remove", Some(playerId)) => removePlayer(playerId).map(_ => ())
|
||||
case ("add", Some(playerId)) => addPlayer(player(playerId))
|
||||
case ("remove", Some(playerId)) => removePlayer(playerId)
|
||||
case _ => Future.failed(new Error(s"Could not perform $action with $nick ($job)"))
|
||||
}
|
||||
}
|
||||
|
@ -68,10 +68,10 @@ class UserView(override val storage: ActorRef[Message])
|
||||
|
||||
action match {
|
||||
case "add" => (maybePassword, permission) match {
|
||||
case (Some(password), Some(permission)) => addUser(User(partyId, username, password, permission), isHashedPassword = false).map(_ => ())
|
||||
case (Some(password), Some(permission)) => addUser(User(partyId, username, password, permission), isHashedPassword = false)
|
||||
case _ => Future.failed(new Error(s"Could not construct permission/password from `$maybePermission`/`$maybePassword`"))
|
||||
}
|
||||
case "remove" => removeUser(partyId, username).map(_ => ())
|
||||
case "remove" => removeUser(partyId, username)
|
||||
case _ => Future.failed(new Error(s"Could not perform $action"))
|
||||
}
|
||||
}
|
||||
|
@ -7,9 +7,10 @@ object PieceType {
|
||||
case object Crafted extends PieceType
|
||||
case object Tome extends PieceType
|
||||
case object Savage extends PieceType
|
||||
case object Artifact extends PieceType
|
||||
|
||||
lazy val available: Seq[PieceType] =
|
||||
Seq(Crafted, Tome, Savage)
|
||||
Seq(Crafted, Tome, Savage, Artifact)
|
||||
|
||||
def withName(pieceType: String): PieceType =
|
||||
available.find(_.toString.equalsIgnoreCase(pieceType)) match {
|
||||
|
@ -17,6 +17,7 @@ import scala.concurrent.duration.FiniteDuration
|
||||
import scala.language.implicitConversions
|
||||
|
||||
object Implicits {
|
||||
|
||||
implicit def getBooleanFromOptionString(maybeYes: Option[String]): Boolean = maybeYes.map(_.toLowerCase) match {
|
||||
case Some("yes" | "on") => true
|
||||
case _ => false
|
||||
|
@ -19,10 +19,27 @@ object Fixtures {
|
||||
Ring(pieceType = PieceType.Tome, Job.DNC, "right ring")
|
||||
)
|
||||
)
|
||||
lazy val bis2: BiS = BiS(
|
||||
Seq(
|
||||
Weapon(pieceType = PieceType.Savage ,Job.DNC),
|
||||
Head(pieceType = PieceType.Tome, Job.DNC),
|
||||
Body(pieceType = PieceType.Savage, Job.DNC),
|
||||
Hands(pieceType = PieceType.Tome, Job.DNC),
|
||||
Waist(pieceType = PieceType.Tome, Job.DNC),
|
||||
Legs(pieceType = PieceType.Savage, Job.DNC),
|
||||
Feet(pieceType = PieceType.Tome, Job.DNC),
|
||||
Ears(pieceType = PieceType.Savage, Job.DNC),
|
||||
Neck(pieceType = PieceType.Savage, Job.DNC),
|
||||
Wrist(pieceType = PieceType.Savage, Job.DNC),
|
||||
Ring(pieceType = PieceType.Tome, Job.DNC, "left ring"),
|
||||
Ring(pieceType = PieceType.Savage, Job.DNC, "right ring")
|
||||
)
|
||||
)
|
||||
|
||||
lazy val link: String = "https://ffxiv.ariyala.com/19V5R"
|
||||
lazy val link2: String = "https://ffxiv.ariyala.com/1A0WM"
|
||||
lazy val link3: String = "https://etro.gg/gearset/26a67536-b4ce-4adc-a46a-f70e348bb138"
|
||||
lazy val link4: String = "https://etro.gg/gearset/865fc886-994f-4c28-8fc1-4379f160a916"
|
||||
|
||||
lazy val lootWeapon: Piece = Weapon(pieceType = PieceType.Tome, Job.AnyJob)
|
||||
lazy val lootBody: Piece = Body(pieceType = PieceType.Savage, Job.AnyJob)
|
||||
|
@ -29,5 +29,11 @@ class BisProviderTest extends ScalaTestWithActorTestKit(Settings.withRandomDatab
|
||||
probe.expectMessage(askTimeout, Fixtures.bis)
|
||||
}
|
||||
|
||||
"get best in slot set (etro 2)" in {
|
||||
val probe = testKit.createTestProbe[BiS]()
|
||||
provider ! DownloadBiS(Fixtures.link4, Job.DNC, probe.ref)
|
||||
probe.expectMessage(askTimeout, Fixtures.bis2)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
version := "0.9.10"
|
||||
version := "0.9.11"
|
||||
|
Loading…
Reference in New Issue
Block a user