Skip to content

Commit d28d84d

Browse files
committed
models/action: Allow retrieval of actions from slice of reference
1 parent e868fd7 commit d28d84d

File tree

4 files changed

+11
-10
lines changed

4 files changed

+11
-10
lines changed

src/controllers/krate/metadata.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,12 @@ pub async fn show(app: AppState, Path(name): Path<String>, req: Parts) -> AppRes
6565
let versions = versions_and_publishers
6666
.iter()
6767
.map(|(v, _)| v)
68-
.cloned()
6968
.collect::<Vec<_>>();
69+
let actions = VersionOwnerAction::for_versions(conn, &versions)?;
7070
Some(
7171
versions_and_publishers
7272
.into_iter()
73-
.zip(VersionOwnerAction::for_versions(conn, &versions)?)
73+
.zip(actions)
7474
.map(|((v, pb), aas)| (v, pb, aas))
7575
.collect::<Vec<_>>(),
7676
)
@@ -267,12 +267,12 @@ pub async fn reverse_dependencies(
267267
.load(conn)?;
268268
let versions = versions_and_publishers
269269
.iter()
270-
.map(|(v, _, _)| v)
271-
.cloned()
270+
.map(|(v, ..)| v)
272271
.collect::<Vec<_>>();
272+
let actions = VersionOwnerAction::for_versions(conn, &versions)?;
273273
let versions = versions_and_publishers
274274
.into_iter()
275-
.zip(VersionOwnerAction::for_versions(conn, &versions)?)
275+
.zip(actions)
276276
.map(|((version, krate_name, published_by), actions)| {
277277
EncodableVersion::from(version, &krate_name, published_by, actions)
278278
})

src/controllers/krate/versions.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ pub async fn versions(
6868
.data
6969
.iter()
7070
.map(|(v, _)| v)
71-
.cloned()
7271
.collect::<Vec<_>>();
72+
let actions = VersionOwnerAction::for_versions(conn, &versions)?;
7373
let versions = versions_and_publishers
7474
.data
7575
.into_iter()
76-
.zip(VersionOwnerAction::for_versions(conn, &versions)?)
76+
.zip(actions)
7777
.map(|((v, pb), aas)| EncodableVersion::from(v, &crate_name, pb, aas))
7878
.collect::<Vec<_>>();
7979

src/controllers/user/me.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,11 @@ pub async fn updates(app: AppState, req: Parts) -> AppResult<Json<Value>> {
8585
.pages_pagination(PaginationOptions::builder().gather(&req)?);
8686
let data: Paginated<(Version, String, Option<User>)> = query.load(conn)?;
8787
let more = data.next_page_params().is_some();
88-
let versions = data.iter().map(|(v, _, _)| v).cloned().collect::<Vec<_>>();
88+
let versions = data.iter().map(|(v, ..)| v).collect::<Vec<_>>();
89+
let actions = VersionOwnerAction::for_versions(conn, &versions)?;
8990
let data = data
9091
.into_iter()
91-
.zip(VersionOwnerAction::for_versions(conn, &versions)?)
92+
.zip(actions)
9293
.map(|((v, cn, pb), voas)| (v, cn, pb, voas));
9394

9495
let versions = data

src/models/action.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ impl VersionOwnerAction {
6565

6666
pub fn for_versions(
6767
conn: &mut impl Conn,
68-
versions: &[Version],
68+
versions: &[&Version],
6969
) -> QueryResult<Vec<Vec<(Self, User)>>> {
7070
Ok(Self::belonging_to(versions)
7171
.inner_join(users::table)

0 commit comments

Comments
 (0)