Implement the user event store
[aquarium] / src / main / scala / gr / grnet / aquarium / store / UserEventStore.scala
1 package gr.grnet.aquarium.store
2
3 import com.ckkloverdos.maybe.Maybe
4 import gr.grnet.aquarium.logic.events.{ResourceEvent, UserEvent}
5
6 /**
7  * * An abstraction for Aquarium user event stores.
8  *
9  * @author Georgios Gousios <gousiosg@gmail.com>
10  */
11 trait UserEventStore {
12
13   def storeUserEvent(event: UserEvent): Maybe[RecordID]
14
15   def findUserEventById(id: String): Maybe[UserEvent]
16
17   def findUserEventsByUserId(userId: String)
18                             (sortWith: Option[(UserEvent, UserEvent) => Boolean]): List[UserEvent]
19 }