66
77use Instagram \Exception \InstagramFetchException ;
88use Instagram \Hydrator \UserInfoHydrator ;
9- use Instagram \Model \{Media , Carousel };
9+ use Instagram \Model \{Media , Carousel , Image };
1010use Instagram \Utils \InstagramHelper ;
1111
1212class CarouselHydrator
@@ -76,28 +76,34 @@ public function carouselMediaHydrator(array $carouselItems): array
7676 {
7777 $ carouselMedias = [];
7878 foreach ($ carouselItems as $ carouselItem ) {
79- $ carouselType = $ this ->getTypeCarousel ($ carouselItem ->media_type );
80-
81- if ($ carouselType == Media::TYPE_IMAGE ) {
82- $ carouselMedia = [
83- 'id ' => $ carouselItem ->pk ,
84- 'parentId ' => $ carouselItem ->carousel_parent_id ,
85- 'type ' => $ carouselType ,
86- 'width ' => $ carouselItem ->original_width ,
87- 'height ' => $ carouselItem ->original_height ,
88- ];
89-
90- if (property_exists ($ carouselItem , 'image_versions2 ' )) {
91- $ carouselMedia ['image ' ] = $ carouselItem ->image_versions2 ->candidates ;
92- }
93-
94- if (property_exists ($ carouselItem , 'video_versions ' )) {
95- $ carouselMedia ['video ' ] = $ carouselItem ->video_versions ;
96- }
97-
98- if (property_exists ($ carouselItem , 'accessibility_caption ' )) {
99- $ carouselMedia ['accessibilityCaption ' ] = $ carouselItem ->accessibility_caption ;
100- }
79+ $ carouselType = $ this ->getCarouselType ($ carouselItem ->media_type );
80+
81+ $ carouselMedia = [
82+ 'id ' => $ carouselItem ->pk ,
83+ 'parentId ' => $ carouselItem ->carousel_parent_id ,
84+ 'type ' => $ carouselType ,
85+ 'width ' => $ carouselItem ->original_width ,
86+ 'height ' => $ carouselItem ->original_height ,
87+ ];
88+
89+ if (property_exists ($ carouselItem , 'image_versions2 ' )) {
90+ $ carouselMedia ['image ' ] = $ carouselItem ->image_versions2 ->candidates ;
91+ }
92+
93+ if (property_exists ($ carouselItem , 'video_versions ' )) {
94+ $ carouselMedia ['video ' ] = $ carouselItem ->video_versions ;
95+ }
96+
97+ if (property_exists ($ carouselItem , 'video_duration ' )) {
98+ $ carouselMedia ['duration ' ] = $ carouselItem ->video_duration ;
99+ }
100+
101+ if (property_exists ($ carouselItem , 'accessibility_caption ' )) {
102+ $ carouselMedia ['accessibilityCaption ' ] = $ carouselItem ->accessibility_caption ;
103+ }
104+
105+ if (property_exists ($ carouselItem , 'number_of_qualities ' )) {
106+ $ carouselMedia ['quality ' ] = $ carouselItem ->number_of_qualities ;
101107 }
102108
103109 $ carouselMedias [] = (object ) $ carouselMedia ;
@@ -108,10 +114,11 @@ public function carouselMediaHydrator(array $carouselItems): array
108114
109115 /**
110116 * @param int $media_type
117+ *
111118 * @return string
112119 * @throws InstagramFetchException
113120 */
114- private function getTypeCarousel (int $ media_type ): string
121+ private function getCarouselType (int $ media_type ): string
115122 {
116123 switch ($ media_type ) {
117124 case Media::MEDIA_TYPE_IMAGE :
0 commit comments