Brak opisu

ModelsAndJsonMap.scala 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package fr.natan.akkastreamfileprocessingapi.models
  2. import play.api.libs.json.{Json, Writes}
  3. object ModelsAndJsonMap {
  4. final case class Person(personID: String,
  5. primaryName: String,
  6. birthYear: String,
  7. deathYear: String,
  8. primaryProfession: List[String],
  9. knownForTitles: List[String]
  10. ) {
  11. implicit val personJsonFormatter: Writes[Person] =
  12. (person: Person) => Json.obj(
  13. "person id" -> person.personID,
  14. "primary name" -> person.primaryName,
  15. "birth year" -> person.birthYear,
  16. "death year" -> person.deathYear,
  17. "primary profession" -> person.primaryProfession,
  18. "known for titles" -> person.knownForTitles
  19. )
  20. }
  21. final case class TvSerie(tvSerieID: String,
  22. titleType: String,
  23. primaryTitle: String,
  24. originalTitle: String,
  25. startYear: String,
  26. endYear: String,
  27. runtimeMinutes: String,
  28. genres: List[String]
  29. ) {
  30. implicit val tvSerieJsonFormatter: Writes[TvSerie] =
  31. (tvSerie: TvSerie) => Json.obj(
  32. "tv serie id" -> tvSerie.tvSerieID,
  33. "tv serie type" -> tvSerie.titleType,
  34. "primary title" -> tvSerie.primaryTitle,
  35. "original title" -> tvSerie.originalTitle,
  36. "start year" -> tvSerie.startYear,
  37. "end year" -> tvSerie.endYear,
  38. "runtime minutes" -> tvSerie.runtimeMinutes,
  39. "genres" -> tvSerie.genres
  40. )
  41. }
  42. }

Powered by TurnKey Linux.