trait StorageService extends unfiltered.filter.Plan {
implicit val formats = DefaultFormats
val identityFunction = SimpleFunction.nullary[Int]("identity")
override def intent = {
...
case req @ PUT(Path(Seg("rest" :: "products" :: Nil))) =>
ResponseString(
write(ProductDb.database withSession {
session: Session =>
implicit val s = session
Products insertValue(read[Product](Body.string(req)))
Query(Products).where(_.id === Query(identityFunction).first).list.head
})
)
...
}
}