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