diff --git a/crates/crates_io_database/src/models/krate.rs b/crates/crates_io_database/src/models/krate.rs
index 7b84462aa74..6a8a926891e 100644
--- a/crates/crates_io_database/src/models/krate.rs
+++ b/crates/crates_io_database/src/models/krate.rs
@@ -18,18 +18,6 @@ use tracing::instrument;
use super::Team;
-#[derive(Debug, Queryable, Identifiable, Associations, Clone, Copy)]
-#[diesel(
- table_name = recent_crate_downloads,
- check_for_backend(diesel::pg::Pg),
- primary_key(crate_id),
- belongs_to(Crate),
-)]
-pub struct RecentCrateDownloads {
- pub crate_id: i32,
- pub downloads: i32,
-}
-
#[derive(Debug, Clone, Queryable, Selectable)]
#[diesel(table_name = crates, check_for_backend(diesel::pg::Pg))]
pub struct CrateName {
diff --git a/crates/crates_io_database/src/models/mod.rs b/crates/crates_io_database/src/models/mod.rs
index 25c7726ecfa..d69fbfcbb7f 100644
--- a/crates/crates_io_database/src/models/mod.rs
+++ b/crates/crates_io_database/src/models/mod.rs
@@ -10,7 +10,7 @@ pub use self::download::VersionDownload;
pub use self::email::{Email, NewEmail};
pub use self::follow::Follow;
pub use self::keyword::{CrateKeyword, Keyword};
-pub use self::krate::{Crate, CrateName, NewCrate, RecentCrateDownloads};
+pub use self::krate::{Crate, CrateName, NewCrate};
pub use self::owner::{CrateOwner, Owner, OwnerKind};
pub use self::team::{NewTeam, Team};
pub use self::token::ApiToken;
diff --git a/src/controllers/krate/metadata.rs b/src/controllers/krate/metadata.rs
index f2416327718..8132279bce8 100644
--- a/src/controllers/krate/metadata.rs
+++ b/src/controllers/krate/metadata.rs
@@ -7,8 +7,8 @@
use crate::app::AppState;
use crate::controllers::krate::CratePath;
use crate::models::{
- Category, Crate, CrateCategory, CrateKeyword, Keyword, RecentCrateDownloads, TopVersions, User,
- Version, VersionOwnerAction,
+ Category, Crate, CrateCategory, CrateKeyword, Keyword, TopVersions, User, Version,
+ VersionOwnerAction,
};
use crate::schema::*;
use crate::util::errors::{
@@ -136,7 +136,7 @@ pub async fn find_crate(
),
load_keywords(&mut conn, &krate, include.keywords),
load_categories(&mut conn, &krate, include.categories),
- load_recent_downloads(&mut conn, &krate, include.downloads),
+ load_recent_downloads(&mut conn, krate.id, include.downloads),
)?;
let ids = versions_and_publishers
@@ -285,16 +285,17 @@ fn load_categories<'a>(
async move { Ok(Some(fut.await?)) }.boxed()
}
-fn load_recent_downloads<'a>(
+fn load_recent_downloads(
conn: &mut AsyncPgConnection,
- krate: &'a Crate,
+ crate_id: i32,
includes: bool,
-) -> BoxFuture<'a, AppResult