rieter/server/src/main.rs

34 lines
599 B
Rust
Raw Normal View History

2023-07-30 18:21:07 +02:00
mod api;
2023-07-16 20:52:03 +02:00
mod cli;
pub mod db;
mod error;
2023-07-11 13:41:56 +02:00
mod repo;
2023-07-16 20:52:03 +02:00
use clap::Parser;
pub use error::{Result, ServerError};
use repo::RepoGroupManager;
2023-07-30 18:21:07 +02:00
use sea_orm::DatabaseConnection;
2023-07-11 13:41:56 +02:00
use std::path::PathBuf;
use std::sync::{Arc, RwLock};
2023-07-11 13:41:56 +02:00
#[derive(Clone)]
pub struct Config {
data_dir: PathBuf,
2023-07-11 13:41:56 +02:00
repo_dir: PathBuf,
pkg_dir: PathBuf,
2023-08-03 11:08:38 +02:00
api_key: String,
2023-07-11 13:41:56 +02:00
}
#[derive(Clone)]
pub struct Global {
config: Config,
repo_manager: Arc<RwLock<RepoGroupManager>>,
2023-07-30 18:21:07 +02:00
db: DatabaseConnection,
}
2023-07-11 13:41:56 +02:00
#[tokio::main]
async fn main() -> crate::Result<()> {
2023-07-16 20:52:03 +02:00
let cli = cli::Cli::parse();
cli.run().await
2023-07-11 13:41:56 +02:00
}