blob: 0ff48273927ff81287d6d79d84a86c63e9374a18 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#![feature(proc_macro_hygiene, decl_macro)]
#![feature(try_trait)]
#[macro_use]
extern crate rocket;
#[macro_use]
extern crate lazy_static;
mod database;
mod errors;
mod serve;
mod spotify;
use tokio::runtime::Runtime;
fn main() {
let runtime = Runtime::new().unwrap();
let (client, connection) = runtime
.block_on(tokio_postgres::connect(
"host=127.0.0.1 user=spotify_intersect password=example dbname=track_db",
tokio_postgres::NoTls,
))
.expect("failed to connect to database");
unsafe {
database::_client = Some(client);
}
runtime.spawn(async { connection.await.unwrap() });
runtime
.block_on(database::initialize_db())
.expect("failed to initialize_db");
println!("connected with db");
runtime
.block_on(
rocket::ignite()
.mount(
"/",
routes![
serve::token,
serve::get_tracks,
serve::match_users,
serve::get_users,
serve::create_lobby
],
)
.launch(),
)
.unwrap();
}
|