Skip to content

Commit 33b36c3

Browse files
committed
models/version: Migrate Version::published_by() to async/await
1 parent 37b73ae commit 33b36c3

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/controllers/version/metadata.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,11 @@ pub async fn show(
100100

101101
let mut conn = state.db_read().await?;
102102
let (version, krate) = version_and_crate(&mut conn, &crate_name, &version).await?;
103+
let published_by = version.published_by(&mut conn).await?;
104+
103105
spawn_blocking(move || {
104106
let conn: &mut AsyncConnectionWrapper<_> = &mut conn.into();
105107

106-
let published_by = version.published_by(conn)?;
107108
let actions = VersionOwnerAction::by_version(conn, &version)?;
108109

109110
let version = EncodableVersion::from(version, &krate.name, published_by, actions);
@@ -146,10 +147,11 @@ pub async fn update(
146147
)
147148
.await?;
148149

150+
let published_by = version.published_by(&mut conn).await?;
151+
149152
spawn_blocking(move || {
150153
let conn: &mut AsyncConnectionWrapper<_> = &mut conn.into();
151154

152-
let published_by = version.published_by(conn)?;
153155
let actions = VersionOwnerAction::by_version(conn, &version)?;
154156
let updated_version = EncodableVersion::from(version, &krate.name, published_by, actions);
155157
Ok(json!({ "version": updated_version }))

src/models/version.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ impl Version {
5555

5656
/// Gets the User who ran `cargo publish` for this version, if recorded.
5757
/// Not for use when you have a group of versions you need the publishers for.
58-
pub fn published_by(&self, conn: &mut impl Conn) -> QueryResult<Option<User>> {
59-
use diesel::RunQueryDsl;
58+
pub async fn published_by(&self, conn: &mut AsyncPgConnection) -> QueryResult<Option<User>> {
59+
use diesel_async::RunQueryDsl;
6060

6161
match self.published_by {
62-
Some(pb) => users::table.find(pb).first(conn).optional(),
62+
Some(pb) => users::table.find(pb).first(conn).await.optional(),
6363
None => Ok(None),
6464
}
6565
}

0 commit comments

Comments
 (0)