26 lines
883 B
Scala
26 lines
883 B
Scala
package models
|
|
|
|
import play.api.libs.json.{JsValue, Json, Writes}
|
|
|
|
import java.time.Instant
|
|
|
|
case class User(id: Option[Int], username: String, gid: String, passwordDigest: Option[String])
|
|
|
|
case class AuthToken(id: Option[Int], userId: Int, token: String, createdAt: Instant, expiresAt: Instant)
|
|
|
|
case class Auction(id: Option[Int], name: String, gid: String, authorId: Int,
|
|
startingPrice: BigDecimal, currentBid: Option[BigDecimal],
|
|
currentBidderId: Option[Int], currentBidAt: Option[Instant],
|
|
createdAt: Instant)
|
|
|
|
object Auction {
|
|
implicit val writes: Writes[Auction] = (a: Auction) => Json.obj(
|
|
"id" -> a.id,
|
|
"name" -> a.name,
|
|
"gid" -> a.gid,
|
|
"starting_price" -> a.startingPrice,
|
|
"current_bid" -> a.currentBid,
|
|
"current_bidder_id" -> a.currentBidderId,
|
|
"current_bid_at" -> a.currentBidAt
|
|
)
|
|
} |