Add default user
This commit is contained in:
parent
6a002561a4
commit
af7f6dd8f3
2 changed files with 29 additions and 5 deletions
|
|
@ -21,3 +21,4 @@ sqlx = { version = "0.8.2", features = ["sqlite", "runtime-tokio", "uuid", "chro
|
||||||
chrono = { version = "0.4.38", features = ["serde"] }
|
chrono = { version = "0.4.38", features = ["serde"] }
|
||||||
aide = { version = "0.13.4", features = ["axum", "axum-ws", "scalar"] }
|
aide = { version = "0.13.4", features = ["axum", "axum-ws", "scalar"] }
|
||||||
schemars = { version = "0.8.21", features = ["chrono", "uuid1"] }
|
schemars = { version = "0.8.21", features = ["chrono", "uuid1"] }
|
||||||
|
rand = "0.8.5"
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,36 @@
|
||||||
|
use rand::distributions::Alphanumeric;
|
||||||
|
use rand::{thread_rng, Rng};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
#[derive(Debug, Deserialize, Serialize, Clone)]
|
||||||
#[derive(Debug, Deserialize, Serialize, Clone, Default)]
|
|
||||||
pub struct UserConfig {
|
pub struct UserConfig {
|
||||||
#[serde(default = "Vec::new")]
|
#[serde(default = "default_users")]
|
||||||
pub users: Vec<User>,
|
pub user_tokens: Vec<User>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Serialize, Clone)]
|
#[derive(Debug, Deserialize, Serialize, Clone)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub token: String,
|
pub token: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Default for UserConfig {
|
||||||
|
fn default() -> Self {
|
||||||
|
UserConfig {
|
||||||
|
user_tokens: default_users(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn default_users() -> Vec<User> {
|
||||||
|
vec![User {
|
||||||
|
name: "admin".to_string(),
|
||||||
|
token: get_random_token(),
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_random_token() -> String {
|
||||||
|
thread_rng()
|
||||||
|
.sample_iter(&Alphanumeric)
|
||||||
|
.take(64)
|
||||||
|
.map(char::from)
|
||||||
|
.collect()
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue