feat: ✨ read all packages
This commit is contained in:
parent
0acbb835f7
commit
f45bb18bff
3 changed files with 22 additions and 6 deletions
|
@ -51,3 +51,7 @@ pub async fn delete_package(package_name: String) -> Option<Package> {
|
||||||
.await
|
.await
|
||||||
.map_or_else(|_| None, |mut package| package.pop())
|
.map_or_else(|_| None, |mut package| package.pop())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn read_all_packages() -> Option<Vec<Package>> {
|
||||||
|
DB.select::<Vec<Package>>("Packages").await.ok()
|
||||||
|
}
|
||||||
|
|
|
@ -61,3 +61,7 @@ pub async fn upload_package(mut package_file: Multipart) -> Option<Package> {
|
||||||
|
|
||||||
Some(package)
|
Some(package)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn read_all_packages() -> Option<Vec<Package>> {
|
||||||
|
database::read_all_packages().await
|
||||||
|
}
|
||||||
|
|
|
@ -21,12 +21,13 @@ pub struct Package {
|
||||||
pub async fn route(State(app_state): State<AppState>) -> Router {
|
pub async fn route(State(app_state): State<AppState>) -> Router {
|
||||||
Router::new()
|
Router::new()
|
||||||
.route("/", get(alive))
|
.route("/", get(alive))
|
||||||
.route("/package", post(create_package))
|
.route("/packages", get(read_all_packages))
|
||||||
.route("/package/:package_name", get(read_package))
|
.route("/packages", post(create_package))
|
||||||
.route("/package/:package_name", patch(update_package))
|
.route("/packages/:package_name", get(read_package))
|
||||||
.route("/package/:package_name", delete(delete_package))
|
.route("/packages/:package_name", patch(update_package))
|
||||||
.route("/package/download/:package_name", get(download_package))
|
.route("/packages/:package_name", delete(delete_package))
|
||||||
.route("/package/upload", post(upload_package))
|
.route("/packages/downloads/:package_name", get(download_package))
|
||||||
|
.route("/packages/uploads", post(upload_package))
|
||||||
.layer(CorsLayer::permissive())
|
.layer(CorsLayer::permissive())
|
||||||
.with_state(app_state)
|
.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!(""))),
|
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!(""))),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue