diff --git a/server/src/database.rs b/server/src/database.rs index 1779003..7058307 100644 --- a/server/src/database.rs +++ b/server/src/database.rs @@ -51,3 +51,7 @@ pub async fn delete_package(package_name: String) -> Option { .await .map_or_else(|_| None, |mut package| package.pop()) } + +pub async fn read_all_packages() -> Option> { + DB.select::>("Packages").await.ok() +} diff --git a/server/src/package/utils.rs b/server/src/package/utils.rs index 8fba2c7..a521b01 100644 --- a/server/src/package/utils.rs +++ b/server/src/package/utils.rs @@ -61,3 +61,7 @@ pub async fn upload_package(mut package_file: Multipart) -> Option { Some(package) } + +pub async fn read_all_packages() -> Option> { + database::read_all_packages().await +} diff --git a/server/src/routing.rs b/server/src/routing.rs index 23af00e..77d40e0 100644 --- a/server/src/routing.rs +++ b/server/src/routing.rs @@ -21,12 +21,13 @@ pub struct Package { pub async fn route(State(app_state): State) -> Router { Router::new() .route("/", get(alive)) - .route("/package", post(create_package)) - .route("/package/:package_name", get(read_package)) - .route("/package/:package_name", patch(update_package)) - .route("/package/:package_name", delete(delete_package)) - .route("/package/download/:package_name", get(download_package)) - .route("/package/upload", post(upload_package)) + .route("/packages", get(read_all_packages)) + .route("/packages", post(create_package)) + .route("/packages/:package_name", get(read_package)) + .route("/packages/:package_name", patch(update_package)) + .route("/packages/:package_name", delete(delete_package)) + .route("/packages/downloads/:package_name", get(download_package)) + .route("/packages/uploads", post(upload_package)) .layer(CorsLayer::permissive()) .with_state(app_state) } @@ -88,3 +89,10 @@ async fn upload_package(package_file: Multipart) -> impl IntoResponse { None => (StatusCode::BAD_REQUEST, Json(serde_json::json!(""))), } } + +async fn read_all_packages() -> impl IntoResponse { + match crate::package::utils::read_all_packages().await { + Some(packages) => (StatusCode::OK, Json(serde_json::json!(packages))), + None => (StatusCode::BAD_REQUEST, Json(serde_json::json!(""))), + } +}