@@ -27,7 +27,7 @@ use crate::{
27
27
} ,
28
28
schema:: { SuggestConnectionInitializer , VERSION } ,
29
29
store:: { UnparsableRecord , UnparsableRecords } ,
30
- suggestion:: { cook_raw_suggestion_url, AmpSuggestionType , Suggestion } ,
30
+ suggestion:: { cook_raw_suggestion_url, AmpSuggestionType , Suggestion , SuggestionIcon } ,
31
31
Result , SuggestionQuery ,
32
32
} ;
33
33
@@ -290,7 +290,7 @@ impl<'a> SuggestDao<'a> {
290
290
amp.iab_category,
291
291
amp.impression_url,
292
292
amp.click_url,
293
- i.data AS icon ,
293
+ i.data AS icon_content ,
294
294
i.mimetype AS icon_mimetype
295
295
FROM
296
296
amp_custom_details amp
@@ -306,6 +306,13 @@ impl<'a> SuggestDao<'a> {
306
306
let cooked_url = cook_raw_suggestion_url ( & raw_url) ;
307
307
let raw_click_url = row. get :: < _ , String > ( "click_url" ) ?;
308
308
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
+ } ;
309
316
310
317
Ok ( Suggestion :: Amp {
311
318
block_id : row. get ( "block_id" ) ?,
@@ -316,8 +323,7 @@ impl<'a> SuggestDao<'a> {
316
323
raw_url,
317
324
full_keyword : full_keyword_from_db
318
325
. unwrap_or_else ( || full_keyword ( keyword_lowercased, & keywords) ) ,
319
- icon : row. get ( "icon" ) ?,
320
- icon_mimetype : row. get ( "icon_mimetype" ) ?,
326
+ icon,
321
327
impression_url : row. get ( "impression_url" ) ?,
322
328
click_url : cooked_click_url,
323
329
raw_click_url,
@@ -368,7 +374,7 @@ impl<'a> SuggestDao<'a> {
368
374
} ,
369
375
|row| row. get ( 0 ) ,
370
376
) ?;
371
- let ( icon, icon_mimetype ) = self
377
+ let icon = self
372
378
. conn
373
379
. try_query_row (
374
380
"SELECT i.data, i.mimetype
@@ -380,21 +386,20 @@ impl<'a> SuggestDao<'a> {
380
386
":suggestion_id" : suggestion_id
381
387
} ,
382
388
|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
+ } ) )
387
393
} ,
388
394
true ,
389
395
) ?
390
- . unwrap_or ( ( None , None ) ) ;
396
+ . unwrap_or ( None ) ;
391
397
392
398
Ok ( Suggestion :: Wikipedia {
393
399
title,
394
400
url : raw_url,
395
401
full_keyword : full_keyword ( keyword_lowercased, & keywords) ,
396
402
icon,
397
- icon_mimetype,
398
403
} )
399
404
} ,
400
405
) ?;
0 commit comments