ctf-server
old server for hosting capture-the-flag
git clone https://9o.is/git/ctf-server.git
BroadcastMessage.scala
(1216B)
1 package com.jcabrra
2 package model
3
4 import net.liftweb.mapper._
5 import org.joda.time._, format._
6
7 /* Stores all broadcasts. */
8 class BroadcastMessage extends LongKeyedMapper[BroadcastMessage] with IdPK {
9 def getSingleton = BroadcastMessage
10
11 /* The broadcast subject. */
12 object user extends MappedLongForeignKey(this, User)
13
14 object flag extends MappedLongForeignKey(this, Challenge)
15
16 /* The ip address of the user. */
17 object ipAddress extends MappedString(this, 255)
18
19 /* The message sent. */
20 object message extends MappedString(this, 255)
21
22 /* Date it was sent. Now is default value. */
23 object date extends MappedDateTime(this) {
24 override def defaultValue = new java.util.Date
25 }
26
27 object messageType extends MappedEnum(this, BroadcastMessageType)
28
29 override def toString = message.get + " at " + formattedDate
30
31 def formattedDate: String =
32 DateTimeFormat.forPattern("MM/dd, HH:mm:ss").print(new DateTime(date.get))
33 }
34
35 object BroadcastMessage extends BroadcastMessage with LongKeyedMetaMapper[BroadcastMessage]
36
37 object BroadcastMessageType extends Enumeration {
38 type BroadcastMessageType = Value
39 val UserJoined, CorrectGuess, WrongGuess = Value
40 }
41 import BroadcastMessageType._
42