sync
This commit is contained in:
parent
bf6966bd67
commit
0c64f098c6
9 changed files with 136 additions and 14 deletions
|
@ -13,7 +13,12 @@ static DB: LazyLock<Surreal<Client>> = LazyLock::new(Surreal::init);
|
|||
pub async fn establish_connection() -> Result<(), surrealdb::Error> {
|
||||
DB.connect::<Ws>("localhost:8000").await?;
|
||||
DB.use_ns("Packages").await?;
|
||||
DB.use_db("Packages").await
|
||||
DB.use_db("Packages").await?;
|
||||
DB.query("DEFINE TABLE Packages")
|
||||
.await.map(|_| ())?;
|
||||
DB.query("DEFINE INDEX package_nameINDEX on TABLE Packages COLUMNS package_name UNIQUE").await.map(|_| ())
|
||||
|
||||
|
||||
}
|
||||
|
||||
pub async fn is_alive() -> bool {
|
||||
|
@ -27,29 +32,24 @@ pub async fn is_alive() -> bool {
|
|||
}
|
||||
|
||||
pub async fn create_package(package: Package) -> Option<Package> {
|
||||
DB.create::<Option<Package>>(package.get_name())
|
||||
DB.create::<Option<Package>>(("Packages", package.get_name()))
|
||||
.content(package)
|
||||
.await
|
||||
.map_or_else(|_| None, |package| package)
|
||||
}
|
||||
|
||||
pub async fn read_package(package_name: String) -> Option<Package> {
|
||||
DB.select::<Vec<Package>>(package_name)
|
||||
.await
|
||||
.map_or_else(|_| None, |mut package| package.pop())
|
||||
DB.select(("Packages", package_name)).await.ok()?
|
||||
}
|
||||
|
||||
pub async fn update_package(package_name: String, package: Package) -> Option<Package> {
|
||||
DB.update::<Vec<Package>>(package_name)
|
||||
DB.update(("Packages", package_name))
|
||||
.content(package)
|
||||
.await
|
||||
.map_or_else(|_| None, |mut package| package.pop())
|
||||
.await.ok()?
|
||||
}
|
||||
|
||||
pub async fn delete_package(package_name: String) -> Option<Package> {
|
||||
DB.delete::<Vec<Package>>(package_name)
|
||||
.await
|
||||
.map_or_else(|_| None, |mut package| package.pop())
|
||||
DB.delete(("Packages", package_name)).await.ok()?
|
||||
}
|
||||
|
||||
pub async fn read_all_packages() -> Option<Vec<Package>> {
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
pub mod database;
|
||||
pub mod http;
|
||||
pub mod package;
|
||||
pub mod routing;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue