- let languages = blocking(pool, move |conn| {
- langs
- .into_iter()
- .map(|l| l.identifier)
- .map(|l| Language::read_id_from_code(conn, &l))
- .collect::<Result<Vec<LanguageId>, diesel::result::Error>>()
- })
- .await??;
- Ok(languages)
+ let mut language_ids = Vec::new();
+
+ for l in langs {
+ let id = l.identifier;
+ language_ids.push(Language::read_id_from_code(pool, Some(&id)).await?);
+ }
+
+ Ok(language_ids.into_iter().flatten().collect())