chibiauth/src/main.rs

44 lines
796 B
Rust
Raw Normal View History

2022-02-08 10:36:22 +00:00
mod controller;
mod database;
2022-02-08 10:36:22 +00:00
use std::collections::HashMap;
use std::sync::Arc;
use anyhow::Result;
2022-02-08 10:36:22 +00:00
use clap::Parser;
use parking_lot::RwLock;
use crate::controller::setup_router;
2022-02-08 10:36:22 +00:00
pub type CsrfMap = RwLock<HashMap<String, String>>;
2022-02-08 10:36:22 +00:00
#[derive(Parser)]
struct Args {
#[clap(short, long)]
pub database: String,
2022-02-08 10:36:22 +00:00
#[clap(short, long)]
pub port: u16,
}
2022-02-08 10:36:22 +00:00
fn setup_default_subscriber() -> Result<()> {
tracing_subscriber::fmt::init();
2022-02-08 10:36:22 +00:00
Ok(())
2022-02-08 10:36:22 +00:00
}
#[tokio::main]
async fn main() -> Result<()> {
let args = Args::parse();
setup_default_subscriber()?;
let csrf_map = Arc::new(RwLock::new(HashMap::<String, String>::new()));
let db = crate::database::setup_connection_and_for_replication(args.database)?;
2022-02-08 10:36:22 +00:00
let router = setup_router(csrf_map);
2022-02-08 10:36:22 +00:00
Ok(())
}