Skip to content

Commit f4b31a2

Browse files
committed
version::yank: Use token scope restrictions
1 parent 46f6a21 commit f4b31a2

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/controllers/version/yank.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use swirl::Job;
55

66
use super::{extract_crate_name_and_semver, version_and_crate};
77
use crate::controllers::cargo_prelude::*;
8+
use crate::models::token::EndpointScope;
89
use crate::models::Rights;
910
use crate::models::{insert_version_owner_action, VersionAction};
1011
use crate::schema::versions;
@@ -32,9 +33,14 @@ pub fn unyank(req: &mut dyn RequestExt) -> EndpointResult {
3233
fn modify_yank(req: &mut dyn RequestExt, yanked: bool) -> EndpointResult {
3334
// FIXME: Should reject bad requests before authentication, but can't due to
3435
// lifetime issues with `req`.
35-
let auth = AuthCheck::default().check(req)?;
36+
3637
let (crate_name, semver) = extract_crate_name_and_semver(req)?;
3738

39+
let auth = AuthCheck::default()
40+
.with_endpoint_scope(EndpointScope::Yank)
41+
.for_crate(crate_name)
42+
.check(req)?;
43+
3844
let conn = req.db_write()?;
3945
let (version, krate) = version_and_crate(&conn, crate_name, semver)?;
4046
let api_token_id = auth.api_token_id();

0 commit comments

Comments
 (0)