irc-search/src/main/scala/net/abhinavsarkar/ircsearch/model.scala

34 lines
1015 B
Scala

package net.abhinavsarkar.ircsearch.model
object ChatLine {
val USER = "user"
val TS = "ts"
val MSG = "msg"
val CTXB = "ctxb"
val CTXA = "ctxa"
}
case class ChatLine(user : String, timestamp : Long, message : String,
contextBefore : List[ChatLine] = List(),
contextAfter : List[ChatLine] = List())
case class IndexRequest(
server : String, channel : String, botName : String, chatLines : List[ChatLine])
case class SearchRequest(
server : String, channel : String, botName : String, query: String,
page : Int = 0, pageSize : Int = 10)
case class SearchResult(
server : String, channel : String, botName : String, query: String,
page : Int, pageSize : Int, totalResults : Int, chatLines : List[ChatLine])
object SearchResult {
def fromSearchRequest(searchRequest : SearchRequest) = searchRequest match {
case SearchRequest(server, channel, botName, query, page, pageSize) =>
new SearchResult(server, channel, botName, query, page, pageSize, 0, List())
}
}