@@ -211,23 +211,25 @@ pub async fn download_version(
211211 ) ) ;
212212 } ;
213213
214- let net: IpNetwork = ip. parse ( ) . or ( Err ( ApiError :: InternalError ) ) ? ;
214+ let net = ip. parse :: < IpNetwork > ( ) . ok ( ) ;
215215
216- let mut tx = pool. begin ( ) . await ?;
216+ if let Some ( net) = net {
217+ let mut tx = pool. begin ( ) . await ?;
217218
218- let downloaded_mod_previously =
219- mod_downloads:: has_downloaded_mod ( net, & mod_version. mod_id , & mut tx) . await ?;
220- let inserted = mod_downloads:: create ( net, mod_version. id , & mut tx) . await ?;
219+ let downloaded_mod_previously =
220+ mod_downloads:: has_downloaded_mod ( net, & mod_version. mod_id , & mut tx) . await ?;
221+ let inserted = mod_downloads:: create ( net, mod_version. id , & mut tx) . await ?;
221222
222- if inserted {
223- mod_versions:: increment_downloads ( mod_version. id , & mut tx) . await ?;
223+ if inserted {
224+ mod_versions:: increment_downloads ( mod_version. id , & mut tx) . await ?;
224225
225- if !downloaded_mod_previously {
226- mods:: increment_downloads ( & mod_version. mod_id , & mut tx) . await ?;
226+ if !downloaded_mod_previously {
227+ mods:: increment_downloads ( & mod_version. mod_id , & mut tx) . await ?;
228+ }
227229 }
228- }
229230
230- let _ = tx. commit ( ) . await ;
231+ let _ = tx. commit ( ) . await ;
232+ }
231233
232234 Ok ( HttpResponse :: Found ( )
233235 . append_header ( ( "Location" , url) )
@@ -363,7 +365,7 @@ pub async fn create_version(
363365 }
364366 if let Some ( tags) = & json. tags {
365367 if !tags. is_empty ( ) {
366- let tags = models:: tag:: parse_tag_list ( tags, & mut tx) . await ?;
368+ let tags = models:: tag:: parse_tag_list ( tags, & the_mod . id , & mut tx) . await ?;
367369 mod_tags:: update_for_mod ( & the_mod. id , & tags, & mut tx) . await ?;
368370 }
369371 }
@@ -480,7 +482,7 @@ pub async fn update_version(
480482
481483 // Update tags with data from mod.json
482484 let tags = if let Some ( tags) = & json. tags {
483- models:: tag:: parse_tag_list ( tags, & mut tx) . await ?
485+ models:: tag:: parse_tag_list ( tags, & the_mod . id , & mut tx) . await ?
484486 } else {
485487 vec ! [ ]
486488 } ;
0 commit comments