upgrade to axum 0.5
This commit is contained in:
parent
a2a8a41689
commit
951cb29311
5 changed files with 19 additions and 12 deletions
|
@ -9,7 +9,7 @@ edition = "2021"
|
|||
futures = "0.3"
|
||||
tokio = { version = "1.15", features = ["full"] }
|
||||
hyper = "0.14"
|
||||
axum = { version = "0.4", features = ["json", "headers", "multipart"] }
|
||||
axum = { version = "0.5", features = ["json", "headers", "multipart"] }
|
||||
diesel = { version = "1.4.4", features = ["postgres", "chrono"] }
|
||||
diesel-derive-enum = { version = "1.1", features = ["postgres"] }
|
||||
bb8 = "0.7"
|
||||
|
|
|
@ -160,14 +160,17 @@ pub fn find_match_base(id: i32, conn: &PgConnection) -> QueryResult<MatchBase> {
|
|||
}
|
||||
|
||||
pub enum MatchResult {
|
||||
Finished { winner: Option<i32> }
|
||||
Finished { winner: Option<i32> },
|
||||
}
|
||||
|
||||
pub fn save_match_result(id: i32, result: MatchResult, conn: &PgConnection) -> QueryResult<()> {
|
||||
let MatchResult::Finished { winner } = result;
|
||||
|
||||
diesel::update(matches::table.find(id))
|
||||
.set((matches::winner.eq(winner), matches::state.eq(MatchState::Finished)))
|
||||
.set((
|
||||
matches::winner.eq(winner),
|
||||
matches::state.eq(MatchState::Finished),
|
||||
))
|
||||
.execute(conn)?;
|
||||
Ok(())
|
||||
}
|
|
@ -24,7 +24,7 @@ use axum::{
|
|||
extract::{Extension, FromRequest, RequestParts},
|
||||
http::StatusCode,
|
||||
routing::{get, post},
|
||||
AddExtensionLayer, Router,
|
||||
Router,
|
||||
};
|
||||
|
||||
// TODO: make these configurable
|
||||
|
@ -105,12 +105,16 @@ pub fn get_config() -> Result<Configuration, ConfigError> {
|
|||
.try_deserialize()
|
||||
}
|
||||
|
||||
async fn run_registry(_db_pool: DbPool) {
|
||||
async fn run_registry(db_pool: DbPool) {
|
||||
// TODO: put in config
|
||||
let addr = SocketAddr::from(([127, 0, 0, 1], 9001));
|
||||
|
||||
axum::Server::bind(&addr)
|
||||
.serve(registry_service().into_make_service())
|
||||
.serve(
|
||||
registry_service()
|
||||
.layer(Extension(db_pool))
|
||||
.into_make_service(),
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
}
|
||||
|
@ -124,7 +128,7 @@ pub async fn run_app() {
|
|||
|
||||
let api_service = Router::new()
|
||||
.nest("/api", api())
|
||||
.layer(AddExtensionLayer::new(db_pool))
|
||||
.layer(Extension(db_pool))
|
||||
.into_make_service();
|
||||
|
||||
// TODO: put in config
|
||||
|
|
|
@ -12,7 +12,7 @@ use std::path::PathBuf;
|
|||
use thiserror;
|
||||
|
||||
use crate::db::bots::{self, CodeBundle};
|
||||
use crate::db::ratings::{RankedBot, self};
|
||||
use crate::db::ratings::{self, RankedBot};
|
||||
use crate::db::users::User;
|
||||
use crate::modules::bots::save_code_bundle;
|
||||
use crate::{DatabaseConnection, BOTS_DIR};
|
||||
|
|
|
@ -5,7 +5,7 @@ use axum::extract::{FromRequest, RequestParts, TypedHeader};
|
|||
use axum::headers::authorization::Bearer;
|
||||
use axum::headers::Authorization;
|
||||
use axum::http::StatusCode;
|
||||
use axum::response::{Headers, IntoResponse, Response};
|
||||
use axum::response::{IntoResponse, Response};
|
||||
use axum::{async_trait, Json};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
|
@ -163,9 +163,9 @@ pub async fn login(conn: DatabaseConnection, params: Json<LoginParams>) -> Respo
|
|||
Some(user) => {
|
||||
let session = sessions::create_session(&user, &conn);
|
||||
let user_data: UserData = user.into();
|
||||
let headers = Headers(vec![("Token", &session.token)]);
|
||||
let headers = [("Token", &session.token)];
|
||||
|
||||
(headers, Json(user_data)).into_response()
|
||||
(StatusCode::OK, headers, Json(user_data)).into_response()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue