start work on moving dev db path
This commit is contained in:
parent
94400ba7d5
commit
ab8bfbbed3
@ -1 +1 @@
|
|||||||
DATABASE_URL=sqlite://creddy.db?mode=rwc
|
DATABASE_URL=sqlite://C:/Users/Joe/AppData/Roaming/creddy/creddy.dev.db
|
||||||
|
13
src-tauri/Cargo.lock
generated
13
src-tauri/Cargo.lock
generated
@ -69,6 +69,7 @@ dependencies = [
|
|||||||
"aws-types",
|
"aws-types",
|
||||||
"clap",
|
"clap",
|
||||||
"dirs 5.0.1",
|
"dirs 5.0.1",
|
||||||
|
"is-terminal",
|
||||||
"netstat2",
|
"netstat2",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"serde",
|
"serde",
|
||||||
@ -2015,6 +2016,18 @@ dependencies = [
|
|||||||
"windows-sys 0.48.0",
|
"windows-sys 0.48.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "is-terminal"
|
||||||
|
version = "0.4.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
|
||||||
|
dependencies = [
|
||||||
|
"hermit-abi 0.3.1",
|
||||||
|
"io-lifetimes",
|
||||||
|
"rustix",
|
||||||
|
"windows-sys 0.48.0",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itertools"
|
name = "itertools"
|
||||||
version = "0.10.5"
|
version = "0.10.5"
|
||||||
|
@ -35,6 +35,7 @@ strum_macros = "0.24"
|
|||||||
auto-launch = "0.4.0"
|
auto-launch = "0.4.0"
|
||||||
dirs = "5.0"
|
dirs = "5.0"
|
||||||
clap = { version = "3.2.23", features = ["derive"] }
|
clap = { version = "3.2.23", features = ["derive"] }
|
||||||
|
is-terminal = "0.4.7"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
# by default Tauri runs in production mode
|
# by default Tauri runs in production mode
|
||||||
|
@ -66,6 +66,7 @@ pub async fn connect_db() -> Result<SqlitePool, SetupError> {
|
|||||||
.create_if_missing(true);
|
.create_if_missing(true);
|
||||||
let pool_opts = SqlitePoolOptions::new();
|
let pool_opts = SqlitePoolOptions::new();
|
||||||
let pool: SqlitePool = pool_opts.connect_with(conn_opts).await?;
|
let pool: SqlitePool = pool_opts.connect_with(conn_opts).await?;
|
||||||
|
sqlx::migrate!().run(&pool).await?;
|
||||||
Ok(pool)
|
Ok(pool)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,8 +75,6 @@ async fn setup(app: &mut App) -> Result<(), Box<dyn Error>> {
|
|||||||
APP.set(app.handle()).unwrap();
|
APP.set(app.handle()).unwrap();
|
||||||
|
|
||||||
let pool = connect_db().await?;
|
let pool = connect_db().await?;
|
||||||
sqlx::migrate!().run(&pool).await?;
|
|
||||||
|
|
||||||
let conf = AppConfig::load(&pool).await?;
|
let conf = AppConfig::load(&pool).await?;
|
||||||
let session = Session::load(&pool).await?;
|
let session = Session::load(&pool).await?;
|
||||||
let srv = Server::new(conf.listen_addr, conf.listen_port, app.handle()).await?;
|
let srv = Server::new(conf.listen_addr, conf.listen_port, app.handle()).await?;
|
||||||
|
@ -2,6 +2,7 @@ use std::net::Ipv4Addr;
|
|||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use auto_launch::AutoLaunchBuilder;
|
use auto_launch::AutoLaunchBuilder;
|
||||||
|
use is_terminal::IsTerminal;
|
||||||
use serde::{Serialize, Deserialize};
|
use serde::{Serialize, Deserialize};
|
||||||
use sqlx::SqlitePool;
|
use sqlx::SqlitePool;
|
||||||
|
|
||||||
@ -90,16 +91,17 @@ pub fn set_auto_launch(is_configured: bool) -> Result<(), SetupError> {
|
|||||||
|
|
||||||
|
|
||||||
pub fn get_or_create_db_path() -> Result<PathBuf, DataDirError> {
|
pub fn get_or_create_db_path() -> Result<PathBuf, DataDirError> {
|
||||||
// debug_assertions doesn't always mean we are running in dev
|
|
||||||
if cfg!(debug_assertions) && std::env::var("HOME").is_ok() {
|
|
||||||
return Ok(PathBuf::from("./creddy.db"));
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut path = dirs::data_dir()
|
let mut path = dirs::data_dir()
|
||||||
.ok_or(DataDirError::NotFound)?;
|
.ok_or(DataDirError::NotFound)?;
|
||||||
|
path.push("creddy");
|
||||||
|
|
||||||
std::fs::create_dir_all(&path)?;
|
std::fs::create_dir_all(&path)?;
|
||||||
path.push("creddy.db");
|
if cfg!(debug_assertions) && std::io::stdout().is_terminal() {
|
||||||
|
path.push("creddy.dev.db");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
path.push("creddy.db");
|
||||||
|
}
|
||||||
|
|
||||||
Ok(path)
|
Ok(path)
|
||||||
}
|
}
|
||||||
|
@ -59,16 +59,7 @@ impl Handler {
|
|||||||
return Ok(())
|
return Ok(())
|
||||||
}
|
}
|
||||||
let base = req_path == b"/creddy/base-credentials";
|
let base = req_path == b"/creddy/base-credentials";
|
||||||
if base {
|
|
||||||
if clients.len() != 1
|
|
||||||
|| clients[0].is_none()
|
|
||||||
|| clients[0].as_ref().unwrap().exe != std::env::current_exe()?
|
|
||||||
{
|
|
||||||
self.stream.write(b"HTTP/1.0 403 Access Denied\r\n\r\n").await?;
|
|
||||||
return Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let req = Request {id: self.request_id, clients, base};
|
let req = Request {id: self.request_id, clients, base};
|
||||||
self.app.emit_all("credentials-request", &req)?;
|
self.app.emit_all("credentials-request", &req)?;
|
||||||
let starting_visibility = self.show_window()?;
|
let starting_visibility = self.show_window()?;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user