loading environmen variable to config added
This commit is contained in:
9
Cargo.lock
generated
9
Cargo.lock
generated
@ -2,6 +2,15 @@
|
|||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dotenv"
|
||||||
|
version = "0.15.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "navidrome_weekly"
|
name = "navidrome_weekly"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"dotenv",
|
||||||
|
]
|
||||||
|
@ -4,3 +4,4 @@ version = "0.1.0"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
dotenv = "0.15.0"
|
||||||
|
64
src/main.rs
64
src/main.rs
@ -1,3 +1,63 @@
|
|||||||
fn main() {
|
use dotenv::dotenv;
|
||||||
println!("Hello, world!");
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
struct ListenBrainz {
|
||||||
|
discovery: String,
|
||||||
|
user: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub struct Config {
|
||||||
|
listen_brainz: ListenBrainz,
|
||||||
|
url: String,
|
||||||
|
sleep: i32,
|
||||||
|
playlist_dir: String,
|
||||||
|
persist: bool,
|
||||||
|
system: String,
|
||||||
|
playlist_name: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Credentials {
|
||||||
|
api_key: String,
|
||||||
|
user: String,
|
||||||
|
password: String,
|
||||||
|
headers: HashMap<String, String>,
|
||||||
|
token: String,
|
||||||
|
salt: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Song {
|
||||||
|
title: String,
|
||||||
|
artist: String,
|
||||||
|
album: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Track {
|
||||||
|
album: String,
|
||||||
|
artist: String,
|
||||||
|
title: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
dotenv().ok();
|
||||||
|
// let mailcoach_api_token = std::env::var("MAILCOACH_API_TOKEN").expect("MAILCOACH_API_TOKEN must be set.");
|
||||||
|
let cfg = construct_data();
|
||||||
|
let tracks: Option<Vec<Track>> = None;
|
||||||
|
}
|
||||||
|
|
||||||
|
fn construct_data() -> Config {
|
||||||
|
let lsb = ListenBrainz {
|
||||||
|
discovery: std::env::var("LISTENBRAINZ_DISCOVERY")
|
||||||
|
.expect("LISTENBRAINZ_DISCOVERY must be set."),
|
||||||
|
user: std::env::var("LISTENBRAINZ_USER").expect("LISTENBRAINZ_USER msut be set"),
|
||||||
|
};
|
||||||
|
let config = Config {
|
||||||
|
listen_brainz: lsb,
|
||||||
|
url: std::env::var("SYSTEM_USERNAME").expect("SYSTEM_USERNAME must be set"),
|
||||||
|
sleep: 1,
|
||||||
|
playlist_dir: std::env::var("PLAYLIST_DIR").expect("PLAYLIST_DIR must be set"),
|
||||||
|
persist: true,
|
||||||
|
system: std::env::var("NV_WEEKLY").expect("NV_WEEKLY must be set"),
|
||||||
|
playlist_name: "".to_string(),
|
||||||
|
};
|
||||||
|
return config;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user