Skip to content

Commit a1ecef8

Browse files
committed
views: Implement from_dep/reverse_dep() methods for EncodableDependency
1 parent 13fdc94 commit a1ecef8

File tree

4 files changed

+15
-10
lines changed

4 files changed

+15
-10
lines changed

src/controllers/krate/metadata.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ pub fn reverse_dependencies(req: &mut dyn RequestExt) -> EndpointResult {
247247
let (rev_deps, total) = krate.reverse_dependencies(&*conn, pagination_options)?;
248248
let rev_deps: Vec<_> = rev_deps
249249
.into_iter()
250-
.map(|dep| dep.encodable(&krate.name))
250+
.map(|dep| EncodableDependency::from_reverse_dep(dep, &krate.name))
251251
.collect();
252252

253253
let version_ids: Vec<i32> = rev_deps.iter().map(|dep| dep.version_id).collect();

src/controllers/version/metadata.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub fn dependencies(req: &mut dyn RequestExt) -> EndpointResult {
2626
let deps = version.dependencies(&conn)?;
2727
let deps = deps
2828
.into_iter()
29-
.map(|(dep, crate_name)| dep.encodable(&crate_name, None))
29+
.map(|(dep, crate_name)| EncodableDependency::from_dep(dep, &crate_name))
3030
.collect();
3131

3232
#[derive(Serialize)]

src/models/dependency.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,6 @@ impl Dependency {
6767
}
6868
}
6969

70-
impl ReverseDependency {
71-
pub fn encodable(self, crate_name: &str) -> EncodableDependency {
72-
self.dependency
73-
.encodable(crate_name, Some(self.crate_downloads))
74-
}
75-
}
76-
7770
pub fn add_dependencies(
7871
conn: &PgConnection,
7972
deps: &[EncodableCrateDependency],

src/views.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ use std::collections::HashMap;
33

44
use crate::github;
55
use crate::models::{
6-
Badge, Category, CreatedApiToken, DependencyKind, Keyword, Owner, Team, User, VersionDownload,
6+
Badge, Category, CreatedApiToken, Dependency, DependencyKind, Keyword, Owner,
7+
ReverseDependency, Team, User, VersionDownload,
78
};
89
use crate::util::rfc3339;
910

@@ -95,6 +96,17 @@ pub struct EncodableDependency {
9596
pub downloads: i32,
9697
}
9798

99+
impl EncodableDependency {
100+
pub fn from_dep(dependency: Dependency, crate_name: &str) -> Self {
101+
dependency.encodable(crate_name, None)
102+
}
103+
104+
pub fn from_reverse_dep(rev_dep: ReverseDependency, crate_name: &str) -> Self {
105+
let dependency = rev_dep.dependency;
106+
dependency.encodable(crate_name, Some(rev_dep.crate_downloads))
107+
}
108+
}
109+
98110
#[derive(Serialize, Deserialize, Debug)]
99111
pub struct EncodableVersionDownload {
100112
pub version: i32,

0 commit comments

Comments
 (0)