forked from lichess-org/lila
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBsonHandlers.scala
20 lines (16 loc) · 1.09 KB
/
BsonHandlers.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package lila.streamer
import lila.db.dsl._
import reactivemongo.bson._
private object BsonHandlers {
implicit val StreamerIdBSONHandler = stringAnyValHandler[Streamer.Id](_.value, Streamer.Id.apply)
implicit val StreamerListedBSONHandler = booleanAnyValHandler[Streamer.Listed](_.value, Streamer.Listed.apply)
implicit val StreamerPicturePathBSONHandler = stringAnyValHandler[Streamer.PicturePath](_.value, Streamer.PicturePath.apply)
implicit val StreamerNameBSONHandler = stringAnyValHandler[Streamer.Name](_.value, Streamer.Name.apply)
implicit val StreamerHeadlineBSONHandler = stringAnyValHandler[Streamer.Headline](_.value, Streamer.Headline.apply)
implicit val StreamerDescriptionBSONHandler = stringAnyValHandler[Streamer.Description](_.value, Streamer.Description.apply)
import Streamer.{ Twitch, YouTube, Approval }
implicit val StreamerTwitchBSONHandler = Macros.handler[Twitch]
implicit val StreamerYouTubeBSONHandler = Macros.handler[YouTube]
implicit val StreamerApprovalBSONHandler = Macros.handler[Approval]
implicit val StreamerBSONHandler = Macros.handler[Streamer]
}