Browse Source

server: Add BalanceOrderingParser

scalafmt-draft
Alexis Hernandez 7 years ago
parent
commit
b4df50edac
  1. 23
      server/app/com/xsn/explorer/models/fields/BalanceField.scala
  2. 15
      server/app/com/xsn/explorer/parsers/BalanceOrderingParser.scala

23
server/app/com/xsn/explorer/models/fields/BalanceField.scala

@ -0,0 +1,23 @@
package com.xsn.explorer.models.fields
import com.xsn.explorer.data.anorm.interpreters.ColumnNameResolver
sealed abstract class BalanceField(val string: String)
object BalanceField {
case object Available extends BalanceField("available")
case object Received extends BalanceField("received")
case object Spent extends BalanceField("spent")
case object Address extends BalanceField("address")
def from(string: String): Option[BalanceField] = string match {
case Available.string => Some(Available)
case Received.string => Some(Received)
case Spent.string => Some(Spent)
case Address.string => Some(Address)
case _ => None
}
implicit val columnNameResolver: ColumnNameResolver[BalanceField] = (field) => field.string
}

15
server/app/com/xsn/explorer/parsers/BalanceOrderingParser.scala

@ -0,0 +1,15 @@
package com.xsn.explorer.parsers
import com.xsn.explorer.models.base.OrderingCondition
import com.xsn.explorer.models.fields.BalanceField
class BalanceOrderingParser extends FieldOrderingParser[BalanceField] {
override protected val defaultField = BalanceField.Available
override protected val defaultOrderingCondition: OrderingCondition = OrderingCondition.DescendingOrder
override protected def parseField(unsafeField: String): Option[BalanceField] = {
BalanceField.from(unsafeField)
}
}
Loading…
Cancel
Save