adding endpoints
This commit is contained in:
+39
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user