mirror of
https://codeberg.org/likwid/likwid.git
synced 2026-02-09 21:13:09 +00:00
dev: default config + jwt secret for dev
This commit is contained in:
parent
6ac85c3fcb
commit
91d2f79740
2 changed files with 58 additions and 42 deletions
|
|
@ -1,42 +1,57 @@
|
|||
use serde::Deserialize;
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub struct Config {
|
||||
pub database_url: String,
|
||||
pub server_host: String,
|
||||
pub server_port: u16,
|
||||
/// Enable demo mode - restricts destructive actions and enables demo accounts
|
||||
#[serde(default)]
|
||||
pub demo_mode: bool,
|
||||
/// Secret key for JWT tokens
|
||||
#[serde(default = "default_jwt_secret")]
|
||||
pub jwt_secret: String,
|
||||
}
|
||||
|
||||
fn default_jwt_secret() -> String {
|
||||
"".to_string()
|
||||
}
|
||||
|
||||
impl Config {
|
||||
pub fn from_env() -> Result<Self, envy::Error> {
|
||||
dotenvy::dotenv().ok();
|
||||
envy::from_env::<Config>()
|
||||
}
|
||||
|
||||
/// Check if demo mode is enabled
|
||||
pub fn is_demo(&self) -> bool {
|
||||
self.demo_mode
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Config {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
database_url: "postgres://likwid:likwid@localhost:5432/likwid".to_string(),
|
||||
server_host: "127.0.0.1".to_string(),
|
||||
server_port: 3000,
|
||||
demo_mode: false,
|
||||
jwt_secret: default_jwt_secret(),
|
||||
}
|
||||
}
|
||||
}
|
||||
use serde::Deserialize;
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub struct Config {
|
||||
#[serde(default = "default_database_url")]
|
||||
pub database_url: String,
|
||||
#[serde(default = "default_server_host")]
|
||||
pub server_host: String,
|
||||
#[serde(default = "default_server_port")]
|
||||
pub server_port: u16,
|
||||
/// Enable demo mode - restricts destructive actions and enables demo accounts
|
||||
#[serde(default)]
|
||||
pub demo_mode: bool,
|
||||
/// Secret key for JWT tokens
|
||||
#[serde(default = "default_jwt_secret")]
|
||||
pub jwt_secret: String,
|
||||
}
|
||||
|
||||
fn default_database_url() -> String {
|
||||
"postgres://likwid:likwid@localhost:5432/likwid".to_string()
|
||||
}
|
||||
|
||||
fn default_server_host() -> String {
|
||||
"127.0.0.1".to_string()
|
||||
}
|
||||
|
||||
fn default_server_port() -> u16 {
|
||||
3000
|
||||
}
|
||||
|
||||
fn default_jwt_secret() -> String {
|
||||
"".to_string()
|
||||
}
|
||||
|
||||
impl Config {
|
||||
pub fn from_env() -> Result<Self, envy::Error> {
|
||||
dotenvy::dotenv().ok();
|
||||
envy::from_env::<Config>()
|
||||
}
|
||||
|
||||
/// Check if demo mode is enabled
|
||||
pub fn is_demo(&self) -> bool {
|
||||
self.demo_mode
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Config {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
database_url: "postgres://likwid:likwid@localhost:5432/likwid".to_string(),
|
||||
server_host: "127.0.0.1".to_string(),
|
||||
server_port: 3000,
|
||||
demo_mode: false,
|
||||
jwt_secret: default_jwt_secret(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ New-Item -ItemType Directory -Force -Path $stateDir | Out-Null
|
|||
if (-not $env:POSTGRES_USER) { $env:POSTGRES_USER = 'likwid' }
|
||||
if (-not $env:POSTGRES_PASSWORD) { $env:POSTGRES_PASSWORD = 'likwid' }
|
||||
if (-not $env:POSTGRES_DB) { $env:POSTGRES_DB = 'likwid' }
|
||||
if (-not $env:JWT_SECRET) { $env:JWT_SECRET = 'dev_jwt_secret_not_for_production' }
|
||||
$env:DATABASE_URL = "postgres://$($env:POSTGRES_USER):$($env:POSTGRES_PASSWORD)@127.0.0.1:5432/$($env:POSTGRES_DB)"
|
||||
|
||||
# Check if already running
|
||||
|
|
|
|||
Loading…
Reference in a new issue