2025-03-17 09:27:19 +07:00
|
|
|
use super::Env;
|
2025-06-29 23:23:18 +07:00
|
|
|
use crate::SurrealMemClient;
|
2025-03-21 17:00:19 +07:00
|
|
|
use surrealdb::engine::local::Mem;
|
2025-06-29 23:23:18 +07:00
|
|
|
use surrealdb::engine::any;
|
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-06-29 23:23:18 +07:00
|
|
|
use crate::enviroment::load_env;
|
2025-02-25 02:00:19 +07:00
|
|
|
|
2025-03-14 09:53:20 +07:00
|
|
|
pub mod resource;
|
|
|
|
|
pub use resource::*;
|
|
|
|
|
|
2025-06-29 23:23:18 +07:00
|
|
|
pub async fn surrealdb_init_ws() -> Result<Surreal<any::Any>> {
|
|
|
|
|
load_env();
|
2025-03-17 09:27:19 +07:00
|
|
|
let env = Env::new();
|
2025-06-29 23:23:18 +07:00
|
|
|
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::new();
|
|
|
|
|
let db = Surreal::new::<Mem>(()).await?;
|
|
|
|
|
db.use_ns(&env.surrealdb_namespace)
|
|
|
|
|
.use_db(&env.surrealdb_dbname)
|
|
|
|
|
.await?;
|
|
|
|
|
Ok(db)
|
|
|
|
|
}
|