mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
* refactor: user manager * refactor: user manager * refactor: session location * refactor: user manager * chore: gen ts files * feat: implement indexeddb persistence * chore: integrate user manager * chore: update * chore: run on web thread * chore: run on web thread * chore: fix test * chore: add test * chore: add test * chore: add user & sign in with password * chore: fix test * chore: update docs * chore: fix warnings * chore: gen files * chore: add user * chore: add files * chore: update config * chore: update scirpt * chore: update scirpt * fix: build * chore: update command * fix: ci * ci: fix * fix: compile * fix: compile * fix: ci * fix: compile * fix: tauri build * chore: fix test * chore: fix test
65 lines
1.3 KiB
Rust
65 lines
1.3 KiB
Rust
use serde_repr::Deserialize_repr;
|
|
|
|
macro_rules! if_native {
|
|
($($item:item)*) => {$(
|
|
#[cfg(not(target_arch = "wasm32"))]
|
|
$item
|
|
)*}
|
|
}
|
|
|
|
macro_rules! if_wasm {
|
|
($($item:item)*) => {$(
|
|
#[cfg(target_arch = "wasm32")]
|
|
$item
|
|
)*}
|
|
}
|
|
|
|
if_native! {
|
|
mod native;
|
|
pub mod af_cloud_config {
|
|
pub use crate::native::af_cloud_config::*;
|
|
}
|
|
}
|
|
|
|
if_wasm! {
|
|
mod wasm;
|
|
pub mod af_cloud_config {
|
|
pub use crate::wasm::af_cloud_config::*;
|
|
}
|
|
}
|
|
|
|
pub mod supabase_config;
|
|
|
|
pub const CLOUT_TYPE_STR: &str = "APPFLOWY_CLOUD_ENV_CLOUD_TYPE";
|
|
|
|
#[derive(Deserialize_repr, Debug, Clone, PartialEq, Eq)]
|
|
#[repr(u8)]
|
|
pub enum AuthenticatorType {
|
|
Local = 0,
|
|
Supabase = 1,
|
|
AppFlowyCloud = 2,
|
|
}
|
|
|
|
impl AuthenticatorType {
|
|
pub fn write_env(&self) {
|
|
let s = self.clone() as u8;
|
|
std::env::set_var(CLOUT_TYPE_STR, s.to_string());
|
|
}
|
|
|
|
#[allow(dead_code)]
|
|
fn from_str(s: &str) -> Self {
|
|
match s {
|
|
"0" => AuthenticatorType::Local,
|
|
"1" => AuthenticatorType::Supabase,
|
|
"2" => AuthenticatorType::AppFlowyCloud,
|
|
_ => AuthenticatorType::Local,
|
|
}
|
|
}
|
|
|
|
#[allow(dead_code)]
|
|
pub fn from_env() -> Self {
|
|
let cloud_type_str = std::env::var(CLOUT_TYPE_STR).unwrap_or_default();
|
|
AuthenticatorType::from_str(&cloud_type_str)
|
|
}
|
|
}
|