MCPcopy Create free account
hub / github.com/SeaQL/sea-orm / main

Function main

examples/salvo_example/api/src/lib.rs:144–180  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

142
143#[tokio::main]
144pub async fn main() {
145 std::env::set_var("RUST_LOG", "debug");
146 tracing_subscriber::fmt::init();
147
148 // get env vars
149 dotenvy::dotenv().ok();
150 let db_url = env::var("DATABASE_URL").expect("DATABASE_URL is not set in .env file");
151 let host = env::var("HOST").expect("HOST is not set in .env file");
152 let port = env::var("PORT").expect("PORT is not set in .env file");
153 let server_url = format!("{host}:{port}");
154
155 // create post table if not exists
156 let conn = Database::connect(&db_url).await.unwrap();
157 Migrator::up(&conn, None).await.unwrap();
158 let templates = Tera::new(concat!(env!("CARGO_MANIFEST_DIR"), "/templates/**/*")).unwrap();
159 let state = AppState { templates, conn };
160
161 println!("Starting server at {server_url}");
162
163 let router = Router::new()
164 .hoop(affix::inject(state))
165 .post(create)
166 .get(list)
167 .push(Router::with_path("new").get(new))
168 .push(Router::with_path("<id>").get(edit).post(update))
169 .push(Router::with_path("delete/<id>").post(delete))
170 .push(
171 Router::with_path("static/<**>").get(salvo::prelude::StaticDir::new(concat!(
172 env!("CARGO_MANIFEST_DIR"),
173 "/static"
174 ))),
175 );
176
177 Server::new(TcpListener::bind(TcpListener::new(format!("{host}:{port}"))).await)
178 .serve(router)
179 .await;
180}

Callers

nothing calls this directly

Calls 5

initFunction · 0.85
unwrapMethod · 0.80
pushMethod · 0.80
newFunction · 0.70
getMethod · 0.45

Tested by

no test coverage detected