adding endpoints

This commit is contained in:
2026-09-18 12:45:11 -04:00
commit 29c8d0f27d
34 changed files with 1842 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
mod app;
mod database;
mod manager;
mod models;
mod router;
use std::{env, net::SocketAddr};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
dotenvy::dotenv().ok();
let database_url = env::var("DATABASE_URL")?;
let pool = database::connection::connect(&database_url).await?;
database::connection::init_database(&pool).await?;
let router = router::build_router(pool);
let address = env::var("APP_ADDRESS")
.unwrap_or_else(|_| "127.0.0.1:5005".to_string())
.parse::<SocketAddr>()?;
let listener = tokio::net::TcpListener::bind(address).await?;
axum::serve(listener, router).await?;
Ok(())
}
fn assignment_rules() {
// collect employee names and preferred shifts for each day of the week
// store employees, companies, preferences, and schedules in database tables
// use conditionals to reject invalid schedules
// use loops to assign shifts for every day and every turn
// use branching to resolve conflicts when a preferred shift is unavailable
// ensure each employee works at most one shift per day
// ensure each employee works at most five days per week
// ensure every company shift has at least two employees
// if fewer than two employees are available, choose another valid employee
}