| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package fr.natan.akkastreamfileprocessingapi.models
-
- import play.api.libs.json.{Json, Writes}
-
- object ModelsAndJsonMap {
-
- final case class Person(personID: String,
- primaryName: String,
- birthYear: Option[String],
- deathYear: Option[String],
- primaryProfession: List[String],
- knownForTitles: List[String]
- ) {
-
- implicit val personJsonFormatter: Writes[Person] =
- (person: Person) => Json.obj(
- "person id" -> person.personID,
- "primary name" -> person.primaryName,
- "birth year" -> person.birthYear,
- "death year" -> person.deathYear,
- "primary profession" -> person.primaryProfession,
- "known for titles" -> person.knownForTitles
- )
- }
-
- final case class TvSerie(tvSerieID: String,
- titleType: String,
- primaryTitle: String,
- originalTitle: String,
- startYear: String,
- endYear: Option[String],
- runtimeMinutes: String,
- genres: List[String]
- ) {
-
- implicit val tvSerieJsonFormatter: Writes[TvSerie] =
- (tvSerie: TvSerie) => Json.obj(
- "tv serie id" -> tvSerie.tvSerieID,
- "tv serie type" -> tvSerie.titleType,
- "primary title" -> tvSerie.primaryTitle,
- "original title" -> tvSerie.originalTitle,
- "start year" -> tvSerie.startYear,
- "end year" -> tvSerie.endYear,
- "runtime minutes" -> tvSerie.runtimeMinutes,
- "genres" -> tvSerie.genres
- )
-
- }
-
-
- final case class Episode(
- id: String,
- parentId: String,
- seasonNumber: Option[String],
- episodeNumber: Option[String]
- ){
- implicit val episodeFormatter : Writes[Episode] =
- (episode:Episode) => Json.obj(
- "episode id"-> episode.id,
- "parent id"-> episode.parentId,
- "season number"->episode.seasonNumber,
- "episode number"->episode.episodeNumber
- )
- }
- }
|