diff --git a/CHANGELOG.md b/CHANGELOG.md index d9f4871..63ec9e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,13 +9,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -* Server - * Functional repository server - * Serve packages from any number of repositories & architectures - * Publish packages to and delete packages from repositories using HTTP - requests - * Packages of architecture "any" are part of every architecture's - database - * Bearer authentication for private routes - * REST API - * Repository & package information available using JSON REST API +* Functional repository server + * Supports any number of repositories, grouped into distros, each + supporting any number of architectures + * Repository & package information available using JSON REST API + * Queueing system with configurable number of workers for resilient + concurrency +* TOML configuration file +* SQLite & Postgres support diff --git a/server/src/web/repo.rs b/server/src/web/repo.rs index e1bc61a..84d80ca 100644 --- a/server/src/web/repo.rs +++ b/server/src/web/repo.rs @@ -5,7 +5,7 @@ use axum::{ extract::{Path, State}, http::{Request, StatusCode}, response::IntoResponse, - routing::{delete, post}, + routing::{delete, get, post}, Router, }; use futures::TryStreamExt; @@ -27,12 +27,7 @@ pub fn router(api_key: &str) -> Router { ) // Routes added after the layer do not get that layer applied, so the GET requests will not // be authorized - .route( - "/:distro/:repo/:arch/:filename", - delete(delete_package) - .route_layer(ValidateRequestHeaderLayer::bearer(api_key)) - .get(get_file), - ) + .route("/:distro/:repo/:arch/:filename", get(get_file)) } /// Serve the package archive files and database archives. If files are requested for an @@ -129,28 +124,3 @@ async fn delete_arch_repo( Ok(StatusCode::NOT_FOUND) } } - -async fn delete_package( - State(_global): State, - Path((_distro, _repo, _arch, _pkg_name)): Path<(String, String, String, String)>, -) -> crate::Result { - Ok(StatusCode::NOT_FOUND) - //if let Some(mgr) = global.mgr.get_mgr(&distro).await { - // let pkg_removed = mgr.remove_pkg(&repo, &arch, &pkg_name).await?; - // - // if pkg_removed { - // tracing::info!( - // "Removed package '{}' ({}) from repository '{}'", - // pkg_name, - // arch, - // repo - // ); - // - // Ok(StatusCode::OK) - // } else { - // Ok(StatusCode::NOT_FOUND) - // } - //} else { - // Ok(StatusCode::NOT_FOUND) - //} -}