@@ -14,7 +14,9 @@ module ModelFactory
1414 Models ::DynamicZones ::EnrichmentDynamicZone => :to_dynamic_zone ,
1515 Models ::Collections ::EnrichmentList => :to_enrichment_list ,
1616 Models ::Images ::FeaturedImage => :to_featured_image ,
17+ Models ::Images ::Image => :to_image ,
1718 Models ::Meta ::HeaderMenu => :to_menu ,
19+ Models ::Meta ::FooterLinkBlock => :to_footer ,
1820 Models ::DynamicZones ::HomepageDynamicZone => :to_dynamic_zone ,
1921 Models ::Meta ::PageTitle => :to_page_title ,
2022 Models ::Meta ::Seo => :to_seo ,
@@ -131,6 +133,19 @@ def self.to_featured_image(strapi_data, _all_data, size = :large)
131133 }
132134 end
133135
136+ def self . to_image ( strapi_data , _all_data , default_size = :medium )
137+ return nil unless strapi_data . dig ( :data , :attributes )
138+
139+ image_data = strapi_data [ :data ] [ :attributes ]
140+ {
141+ url : image_data [ :url ] ,
142+ alt : image_data [ :alternativeText ] ,
143+ caption : image_data [ :caption ] ,
144+ formats : image_data [ :formats ] ,
145+ default_size :
146+ }
147+ end
148+
134149 def self . to_menu ( strapi_data , _all_data )
135150 {
136151 menu_items : strapi_data . map do |menu_item |
@@ -142,6 +157,16 @@ def self.to_menu(strapi_data, _all_data)
142157 }
143158 end
144159
160+ def self . to_footer ( strapi_data , _all_data )
161+ {
162+ link_block : strapi_data . map do |link |
163+ {
164+ links : link [ :link ] . map { |l | { link_text : l [ :linkText ] , url : l [ :url ] , icon : l [ :icon ] } }
165+ }
166+ end
167+ }
168+ end
169+
145170 def self . to_page_title ( strapi_data , _all_data )
146171 {
147172 title : strapi_data [ :title ] ,
0 commit comments