Skip to content

Commit

Permalink
Add support for carousel formats (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
yukihirai0505 committed Sep 12, 2017
1 parent 5e93025 commit d43afe2
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 21 deletions.
@@ -0,0 +1,17 @@
package com.yukihirai0505.sInstagram.responses.common

/**
* author Yuki Hirai on 2017/09/12.
*/
case class CarouselMedia(
images: Images,
usersInPhoto: Seq[UsersInPhoto],
`type`: String
)

import com.github.tototoshi.play.json.JsonNaming
import play.api.libs.json.Json

object CarouselMedia {
implicit val CarouselMediaFormat = JsonNaming.snakecase(Json.format[CarouselMedia])
}
@@ -0,0 +1,16 @@
package com.yukihirai0505.sInstagram.responses.common

/**
* author Yuki Hirai on 2017/09/12.
*/
case class Position(
x: Double,
y: Double
)

import com.github.tototoshi.play.json.JsonNaming
import play.api.libs.json.Json

object Position {
implicit val PositionFormat = JsonNaming.snakecase(Json.format[Position])
}
@@ -1,14 +1,15 @@
package com.yukihirai0505.sInstagram.responses.common

case class User(
id: String,
username: String,
fullName: String,
profilePicture: String
)
fullName: String,
id: String,
profilePicture: String,
username: String
)

import com.github.tototoshi.play.json.JsonNaming
import play.api.libs.json.Json

object User {
implicit val UserFormat = JsonNaming.snakecase(Json.format[User])
}
@@ -0,0 +1,17 @@
package com.yukihirai0505.sInstagram.responses.common

/**
* author Yuki Hirai on 2017/09/12.
*/
case class UsersInPhoto(
user: User,
position: Position
)

import com.github.tototoshi.play.json.JsonNaming
import play.api.libs.json.Json

object UsersInPhoto {
implicit val UsersInPhotoFormat = JsonNaming.snakecase(Json.format[UsersInPhoto])
}

Expand Up @@ -6,11 +6,13 @@ import com.yukihirai0505.sInstagram.responses.common._
* author Yuki Hirai on 2016/11/09.
*/
case class MediaFeed(
data: Seq[MediaFeedData] = Seq.empty[MediaFeedData],
pagination: Option[Pagination],
meta: Option[Meta])
data: Seq[MediaFeedData] = Seq.empty[MediaFeedData],
pagination: Option[Pagination],
meta: Option[Meta]
)

import play.api.libs.json.Json

object MediaFeed {
implicit val MediaFeedFormat = Json.format[MediaFeed]
}
Expand Up @@ -8,19 +8,23 @@ import play.api.libs.json.Json
* author Yuki Hirai on 2016/11/09.
*/
case class MediaFeedData(
caption: Option[Caption],
comments: Option[Comments],
createdTime: String,
id: String,
filter: Option[String],
images: Option[Images],
videos: Option[Videos],
likes: Option[Likes],
link: String,
location: Option[MediaLocation],
tags: Option[List[String]],
user: User
)
caption: Caption,
comments: Comments,
createdTime: String,
id: String,
filter: Option[String],
images: Option[Images],
carouselMedia: Option[Seq[CarouselMedia]],
videos: Option[Videos],
likes: Likes,
link: String,
location: Option[MediaLocation],
tags: Seq[String],
`type`: String,
usersInPhoto: Seq[UsersInPhoto],
user: User
)

object MediaFeedData {
implicit val MediaFeedFormat = JsonNaming.snakecase(Json.format[MediaFeedData])
}

0 comments on commit d43afe2

Please sign in to comment.