48 lines
938 B
Scala
48 lines
938 B
Scala
package lila.team
|
|
|
|
import org.joda.time.DateTime
|
|
|
|
import lila.user.User
|
|
|
|
case class Request(
|
|
_id: String,
|
|
team: String,
|
|
user: String,
|
|
message: String,
|
|
date: DateTime,
|
|
declined: Boolean
|
|
) {
|
|
|
|
def id = _id
|
|
}
|
|
|
|
object Request {
|
|
|
|
type ID = String
|
|
def makeId(team: Team.ID, user: User.ID) = s"$user@$team"
|
|
|
|
def make(team: Team.ID, user: User.ID, message: String): Request =
|
|
new Request(
|
|
_id = makeId(team, user),
|
|
user = user,
|
|
team = team,
|
|
message = message.trim,
|
|
date = DateTime.now,
|
|
declined = false
|
|
)
|
|
}
|
|
|
|
case class RequestWithUser(request: Request, user: User) {
|
|
def id = request.id
|
|
def message = request.message
|
|
def date = request.date
|
|
def team = request.team
|
|
}
|
|
|
|
sealed trait Requesting
|
|
object Requesting {
|
|
case object Joined extends Requesting
|
|
case object NeedRequest extends Requesting
|
|
case object NeedPassword extends Requesting
|
|
}
|