/app/models/Model.scala
http://github.com/leodagdag/persistance · Scala · 28 lines · 21 code · 7 blank · 0 comment · 0 complexity · 4563203f013a74b2c0231f24385523a1 MD5 · raw file
- package models
- import com.novus.salat.dao._
- import com.mongodb.casbah.commons.Imports._
- import utils._
- trait Model[ObjectType <: AnyRef, K <: Any] {
- val PAGE_SIZE: Int = 10
- def byPage(num: Int)(implicit dao: SalatDAO[ObjectType, K]): List[ObjectType] = {
- var skip: Int = 0
- num match {
- case 0 => skip = 0
- case _ => skip = (num - 1) * PAGE_SIZE
- }
- dao.find(MongoDBObject()).skip(skip).limit(PAGE_SIZE).toList
- }
- def all(implicit dao: SalatDAO[ObjectType, ObjectId]): List[ObjectType] = {
- dao.find(MongoDBObject.empty).toList
- }
- def update[A <: DBObject](q: A,o: ObjectType)(implicit dao: SalatDAO[ObjectType, K]) {
- dao.update(q,o, false, false, dao.collection.writeConcern)
- }
- }