Fix unlisted showing (#873)

* Fix projects showing draft

* fix build

* run fmt
This commit is contained in:
Geometrically
2024-01-27 19:11:00 -05:00
committed by GitHub
parent 5b63b0b398
commit d5107f2ef6
9 changed files with 30 additions and 21 deletions

View File

@@ -92,7 +92,7 @@ pub async fn maven_metadata(
.map(|x| x.1)
.ok();
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}
@@ -286,7 +286,7 @@ pub async fn version_file(
.map(|x| x.1)
.ok();
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}
@@ -347,7 +347,7 @@ pub async fn version_file_sha1(
.map(|x| x.1)
.ok();
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}
@@ -389,7 +389,7 @@ pub async fn version_file_sha512(
.map(|x| x.1)
.ok();
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}

View File

@@ -57,7 +57,7 @@ pub async fn forge_updates(
.map(|x| x.1)
.ok();
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::InvalidInput(ERROR.to_string()));
}

View File

@@ -85,7 +85,7 @@ pub async fn organization_projects_get(
let projects_data =
crate::database::models::Project::get_many_ids(&project_ids, &**pool, &redis).await?;
let projects = filter_visible_projects(projects_data, &current_user, &pool).await?;
let projects = filter_visible_projects(projects_data, &current_user, &pool, true).await?;
Ok(HttpResponse::Ok().json(projects))
}

View File

@@ -137,7 +137,7 @@ pub async fn projects_get(
.map(|x| x.1)
.ok();
let projects = filter_visible_projects(projects_data, &user_option, &pool).await?;
let projects = filter_visible_projects(projects_data, &user_option, &pool, false).await?;
Ok(HttpResponse::Ok().json(projects))
}
@@ -164,7 +164,7 @@ pub async fn project_get(
.ok();
if let Some(data) = project_data {
if is_visible_project(&data.inner, &user_option, &pool).await? {
if is_visible_project(&data.inner, &user_option, &pool, false).await? {
return Ok(HttpResponse::Ok().json(Project::from(data)));
}
}
@@ -971,7 +971,7 @@ pub async fn dependency_list(
.ok();
if let Some(project) = result {
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}
@@ -2064,7 +2064,7 @@ pub async fn project_follow(
let user_id: db_ids::UserId = user.id.into();
let project_id: db_ids::ProjectId = result.inner.id;
if !is_visible_project(&result.inner, &Some(user), &pool).await? {
if !is_visible_project(&result.inner, &Some(user), &pool, false).await? {
return Err(ApiError::NotFound);
}
@@ -2215,7 +2215,7 @@ pub async fn project_get_organization(
ApiError::InvalidInput("The specified project does not exist!".to_string())
})?;
if !is_visible_project(&result.inner, &current_user, &pool).await? {
if !is_visible_project(&result.inner, &current_user, &pool, false).await? {
Err(ApiError::InvalidInput(
"The specified project does not exist!".to_string(),
))

View File

@@ -60,7 +60,7 @@ pub async fn team_members_get_project(
.map(|x| x.1)
.ok();
if !is_visible_project(&project.inner, &current_user, &pool).await? {
if !is_visible_project(&project.inner, &current_user, &pool, false).await? {
return Err(ApiError::NotFound);
}
let members_data =

View File

@@ -69,7 +69,7 @@ pub async fn projects_list(
let projects: Vec<_> =
crate::database::Project::get_many_ids(&project_data, &**pool, &redis).await?;
let projects = filter_visible_projects(projects, &user, &pool).await?;
let projects = filter_visible_projects(projects, &user, &pool, true).await?;
Ok(HttpResponse::Ok().json(projects))
} else {
Err(ApiError::NotFound)

View File

@@ -283,6 +283,7 @@ pub async fn get_projects_from_hashes(
database::models::Project::get_many_ids(&project_ids, &**pool, &redis).await?,
&user_option,
&pool,
false,
)
.await?;

View File

@@ -80,7 +80,7 @@ pub async fn version_project_get_helper(
.ok();
if let Some(project) = result {
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}
@@ -724,7 +724,7 @@ pub async fn version_list(
.ok();
if let Some(project) = result {
if !is_visible_project(&project.inner, &user_option, &pool).await? {
if !is_visible_project(&project.inner, &user_option, &pool, false).await? {
return Err(ApiError::NotFound);
}