@@ -27,7 +27,7 @@ use crate::{
2727 } ,
2828 schema:: { SuggestConnectionInitializer , VERSION } ,
2929 store:: { UnparsableRecord , UnparsableRecords } ,
30- suggestion:: { cook_raw_suggestion_url, AmpSuggestionType , Suggestion } ,
30+ suggestion:: { cook_raw_suggestion_url, AmpSuggestionType , Suggestion , SuggestionIcon } ,
3131 Result , SuggestionQuery ,
3232} ;
3333
@@ -290,7 +290,7 @@ impl<'a> SuggestDao<'a> {
290290 amp.iab_category,
291291 amp.impression_url,
292292 amp.click_url,
293- i.data AS icon ,
293+ i.data AS icon_content ,
294294 i.mimetype AS icon_mimetype
295295 FROM
296296 amp_custom_details amp
@@ -306,6 +306,13 @@ impl<'a> SuggestDao<'a> {
306306 let cooked_url = cook_raw_suggestion_url ( & raw_url) ;
307307 let raw_click_url = row. get :: < _ , String > ( "click_url" ) ?;
308308 let cooked_click_url = cook_raw_suggestion_url ( & raw_click_url) ;
309+ let icon = match row. get ( "icon_content" ) ? {
310+ Some ( content) => Some ( SuggestionIcon {
311+ content,
312+ mime_type : row. get ( "icon_mimetype" ) ?,
313+ } ) ,
314+ _ => None ,
315+ } ;
309316
310317 Ok ( Suggestion :: Amp {
311318 block_id : row. get ( "block_id" ) ?,
@@ -316,8 +323,7 @@ impl<'a> SuggestDao<'a> {
316323 raw_url,
317324 full_keyword : full_keyword_from_db
318325 . unwrap_or_else ( || full_keyword ( keyword_lowercased, & keywords) ) ,
319- icon : row. get ( "icon" ) ?,
320- icon_mimetype : row. get ( "icon_mimetype" ) ?,
326+ icon,
321327 impression_url : row. get ( "impression_url" ) ?,
322328 click_url : cooked_click_url,
323329 raw_click_url,
@@ -368,7 +374,7 @@ impl<'a> SuggestDao<'a> {
368374 } ,
369375 |row| row. get ( 0 ) ,
370376 ) ?;
371- let ( icon, icon_mimetype ) = self
377+ let icon = self
372378 . conn
373379 . try_query_row (
374380 "SELECT i.data, i.mimetype
@@ -380,21 +386,20 @@ impl<'a> SuggestDao<'a> {
380386 ":suggestion_id" : suggestion_id
381387 } ,
382388 |row| -> Result < _ > {
383- Ok ( (
384- row. get :: < _ , Option < Vec < u8 > > > ( 0 ) ?,
385- row. get :: < _ , Option < String > > ( 1 ) ?,
386- ) )
389+ Ok ( Some ( SuggestionIcon {
390+ content : row. get :: < _ , Vec < u8 > > ( 0 ) ?,
391+ mime_type : row. get :: < _ , String > ( 1 ) ?,
392+ } ) )
387393 } ,
388394 true ,
389395 ) ?
390- . unwrap_or ( ( None , None ) ) ;
396+ . unwrap_or ( None ) ;
391397
392398 Ok ( Suggestion :: Wikipedia {
393399 title,
394400 url : raw_url,
395401 full_keyword : full_keyword ( keyword_lowercased, & keywords) ,
396402 icon,
397- icon_mimetype,
398403 } )
399404 } ,
400405 ) ?;
0 commit comments