Files
imphnen-backend-service/imphnen-libs/src/surrealdb/mod.rs
T

36 lines
851 B
Rust
Raw Normal View History

use crate::enviroment::ENV;
use surrealdb::engine::any;
use surrealdb::engine::local::{Db, Mem};
2025-03-17 09:27:19 +07:00
use surrealdb::opt::auth::Root;
2025-03-13 23:40:16 +07:00
use surrealdb::{Result, Surreal};
2025-02-25 02:00:19 +07:00
pub type SurrealWsClient = Surreal<any::Any>;
pub type SurrealMemClient = Surreal<Db>;
2025-03-14 09:53:20 +07:00
pub mod resource;
pub use resource::*;
pub async fn surrealdb_init_ws() -> Result<Surreal<any::Any>> {
let env = &ENV;
let db = any::connect(&env.surrealdb_url).await?;
2025-03-17 09:27:19 +07:00
db.signin(Root {
username: &env.surrealdb_username,
password: &env.surrealdb_password,
2025-03-13 23:40:16 +07:00
})
.await?;
2025-03-19 19:33:56 +07:00
db.use_ns(env.surrealdb_namespace.clone())
.use_db(env.surrealdb_dbname.clone())
2025-03-17 09:27:19 +07:00
.await?;
2025-02-25 02:00:19 +07:00
Ok(db)
}
2025-03-21 17:00:19 +07:00
pub async fn surrealdb_init_mem() -> Result<SurrealMemClient> {
let env = &ENV;
2025-03-21 17:00:19 +07:00
let db = Surreal::new::<Mem>(()).await?;
db.use_ns(&env.surrealdb_namespace)
.use_db(&env.surrealdb_dbname)
.await?;
Ok(db)
}