chore: re-map project structure to using multi workspace paradigm

This commit is contained in:
Maulana Sodiqin
2025-04-06 13:25:44 +07:00
parent de9c5a6dc1
commit b4bf78f0d6
87 changed files with 325 additions and 192 deletions
+33
View File
@@ -0,0 +1,33 @@
use super::Env;
use crate::{SurrealMemClient, SurrealWsClient};
use surrealdb::engine::local::Mem;
use surrealdb::engine::remote::ws::{Client, Ws};
use surrealdb::opt::auth::Root;
use surrealdb::{Result, Surreal};
pub mod resource;
pub use resource::*;
pub async fn surrealdb_init_ws() -> Result<SurrealWsClient> {
let env = Env::new();
let db = Surreal::<Client>::init();
db.connect::<Ws>(env.surrealdb_url.clone()).await?;
db.signin(Root {
username: &env.surrealdb_username,
password: &env.surrealdb_password,
})
.await?;
db.use_ns(env.surrealdb_namespace.clone())
.use_db(env.surrealdb_dbname.clone())
.await?;
Ok(db)
}
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)
}
+31
View File
@@ -0,0 +1,31 @@
use std::fmt;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum ResourceEnum {
OtpCache,
UsersCache,
GachaItems,
GachaClaims,
GachaRolls,
Users,
Roles,
Permissions,
RolesPermissions,
}
impl fmt::Display for ResourceEnum {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let str = match self {
ResourceEnum::Users => "app_users",
ResourceEnum::UsersCache => "app_users_cache",
ResourceEnum::OtpCache => "app_otp_cache",
ResourceEnum::Roles => "app_roles",
ResourceEnum::Permissions => "app_permissions",
ResourceEnum::RolesPermissions => "app_roles_permissions",
ResourceEnum::GachaItems => "app_gacha_items",
ResourceEnum::GachaClaims => "app_gacha_claims",
ResourceEnum::GachaRolls => "app_gacha_rolls",
};
write!(f, "{}", str)
}
}