Skip to content

Commit 68895ae

Browse files
committed
fmt: cargo fmt
1 parent 258b17e commit 68895ae

File tree

9 files changed

+225
-99
lines changed

9 files changed

+225
-99
lines changed

atcoder-problems-backend/src/server/auth.rs

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::server::AppData;
2+
use actix_web::http::header::LOCATION;
3+
use actix_web::{cookie::Cookie, error, web, HttpRequest, HttpResponse, Result};
24
use async_trait::async_trait;
35
use serde::{Deserialize, Serialize};
46
use sql_client::internal::user_manager::UserManager;
5-
use actix_web::{error, web, HttpRequest, HttpResponse, Result, cookie::Cookie};
6-
use actix_web::http::header::LOCATION;
77

88
const REDIRECT_URL: &str = "https://kenkoooo.com/atcoder/";
99

@@ -51,9 +51,11 @@ impl Authentication for GitHubAuthentication {
5151
.header("Accept", "application/json")
5252
.json(&request)
5353
.send()
54-
.await.map_err(error::ErrorInternalServerError)?
54+
.await
55+
.map_err(error::ErrorInternalServerError)?
5556
.json()
56-
.await.map_err(error::ErrorInternalServerError)?;
57+
.await
58+
.map_err(error::ErrorInternalServerError)?;
5759
Ok(response.access_token)
5860
}
5961
async fn get_user_id(&self, access_token: &str) -> Result<GitHubUserResponse> {
@@ -63,9 +65,11 @@ impl Authentication for GitHubAuthentication {
6365
.get("https://api.github.com/user")
6466
.header("Authorization", token_header)
6567
.send()
66-
.await.map_err(error::ErrorInternalServerError)?
68+
.await
69+
.map_err(error::ErrorInternalServerError)?
6770
.json()
68-
.await.map_err(error::ErrorInternalServerError)?;
71+
.await
72+
.map_err(error::ErrorInternalServerError)?;
6973
Ok(response)
7074
}
7175
}
@@ -88,19 +92,28 @@ pub(crate) struct Query {
8892
pub(crate) async fn get_token<A: Authentication + Clone>(
8993
_request: HttpRequest,
9094
data: web::Data<AppData<A>>,
91-
query: web::Query<Query>
95+
query: web::Query<Query>,
9296
) -> Result<HttpResponse> {
9397
let client = data.authentication.clone();
9498
let conn = data.pg_pool.clone();
9599

96-
let token = client.get_token(&query.code).await.map_err(error::ErrorInternalServerError)?;
97-
let response = client.get_user_id(&token).await.map_err(error::ErrorInternalServerError)?;
100+
let token = client
101+
.get_token(&query.code)
102+
.await
103+
.map_err(error::ErrorInternalServerError)?;
104+
let response = client
105+
.get_user_id(&token)
106+
.await
107+
.map_err(error::ErrorInternalServerError)?;
98108
let internal_user_id = response.id.to_string();
99-
conn.register_user(&internal_user_id).await.map_err(error::ErrorInternalServerError)?;
109+
conn.register_user(&internal_user_id)
110+
.await
111+
.map_err(error::ErrorInternalServerError)?;
100112

101113
let cookie = Cookie::build("token", token).path("/").finish();
102114
let redirect_fragment = query
103-
.redirect_to.clone()
115+
.redirect_to
116+
.clone()
104117
.unwrap_or_else(|| "/login/user".to_string());
105118
let redirect_url = format!("{}#{}", REDIRECT_URL, redirect_fragment);
106119
let response = HttpResponse::Found()
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::server::utils::GetAuthId;
22
use crate::server::{AppData, Authentication, CommonResponse};
3+
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
34
use serde::Deserialize;
45
use sql_client::internal::user_manager::UserManager;
5-
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
66

77
#[derive(Deserialize)]
88
pub(crate) struct Query {
@@ -12,21 +12,25 @@ pub(crate) struct Query {
1212
pub(crate) async fn update<A: Authentication + Clone + Send + Sync + 'static>(
1313
request: HttpRequest,
1414
data: web::Data<AppData<A>>,
15-
body: web::Json<Query>
15+
body: web::Json<Query>,
1616
) -> Result<HttpResponse> {
1717
let user_id = data.get_authorized_id(request.cookie("token")).await?;
1818
let conn = data.pg_pool.clone();
1919
conn.update_internal_user_info(&user_id, &body.atcoder_user_id)
20-
.await.map_err(error::ErrorInternalServerError)?;
20+
.await
21+
.map_err(error::ErrorInternalServerError)?;
2122
Ok(HttpResponse::empty_json())
2223
}
2324

2425
pub(crate) async fn get<A: Authentication + Clone + Send + Sync + 'static>(
2526
request: HttpRequest,
26-
data: web::Data<AppData<A>>
27+
data: web::Data<AppData<A>>,
2728
) -> Result<HttpResponse> {
2829
let user_id = data.get_authorized_id(request.cookie("token")).await?;
2930
let conn = data.pg_pool.clone();
30-
let info = conn.get_internal_user_info(&user_id).await.map_err(error::ErrorInternalServerError)?;
31+
let info = conn
32+
.get_internal_user_info(&user_id)
33+
.await
34+
.map_err(error::ErrorInternalServerError)?;
3135
Ok(HttpResponse::json(&info)?)
3236
}

atcoder-problems-backend/src/server/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ pub(crate) mod problem_list;
66
pub(crate) mod progress_reset;
77
pub(crate) mod ranking;
88
pub(crate) mod rated_point_sum_ranking;
9+
pub(crate) mod services;
910
pub(crate) mod time_submissions;
1011
pub(crate) mod user_info;
1112
pub(crate) mod user_submissions;
1213
pub(crate) mod utils;
1314
pub(crate) mod virtual_contest;
14-
pub(crate) mod services;
1515

16+
use actix_web::{http::header, web, App, HttpResponse, HttpServer};
1617
pub use auth::{Authentication, GitHubAuthentication, GitHubUserResponse};
17-
use actix_web::{web, App, HttpServer, HttpResponse, http::header};
1818

1919
pub async fn run_server<A>(
2020
pg_pool: sql_client::PgPool,
@@ -64,7 +64,7 @@ impl CommonResponse for HttpResponse {
6464
let mut response = self;
6565
response.headers_mut().insert(
6666
header::ACCESS_CONTROL_ALLOW_ORIGIN,
67-
header::HeaderValue::from_str("*").unwrap()
67+
header::HeaderValue::from_str("*").unwrap(),
6868
);
6969
response
7070
}
Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
use crate::server::utils::GetAuthId;
22
use crate::server::{AppData, Authentication, CommonResponse};
3+
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
34
use serde::Deserialize;
45
use sql_client::internal::progress_reset_manager::ProgressResetManager;
5-
use actix_web::{web, error, HttpResponse, HttpRequest, Result};
66

77
pub(crate) async fn get_progress_reset_list<A: Authentication + Clone + Send + Sync + 'static>(
88
request: HttpRequest,
99
data: web::Data<AppData<A>>,
1010
) -> Result<HttpResponse> {
1111
let user_id = data.get_authorized_id(request.cookie("token")).await?;
1212
let conn = data.pg_pool.clone();
13-
let list = conn.get_progress_reset_list(&user_id).await.map_err(error::ErrorInternalServerError)?;
13+
let list = conn
14+
.get_progress_reset_list(&user_id)
15+
.await
16+
.map_err(error::ErrorInternalServerError)?;
1417
let response = HttpResponse::json(&list)?;
1518
Ok(response)
1619
}
@@ -24,16 +27,13 @@ pub(crate) struct AddItemQuery {
2427
pub(crate) async fn add_progress_reset_item<A: Authentication + Clone + Send + Sync + 'static>(
2528
request: HttpRequest,
2629
data: web::Data<AppData<A>>,
27-
query: web::Json<AddItemQuery>
30+
query: web::Json<AddItemQuery>,
2831
) -> Result<HttpResponse> {
2932
let user_id = data.get_authorized_id(request.cookie("token")).await?;
3033
let conn = data.pg_pool.clone();
31-
conn.add_item(
32-
&user_id,
33-
&query.problem_id,
34-
query.reset_epoch_second,
35-
)
36-
.await.map_err(error::ErrorInternalServerError)?;
34+
conn.add_item(&user_id, &query.problem_id, query.reset_epoch_second)
35+
.await
36+
.map_err(error::ErrorInternalServerError)?;
3737
Ok(HttpResponse::Ok().finish())
3838
}
3939

@@ -42,14 +42,17 @@ pub(crate) struct DeleteItemQuery {
4242
problem_id: String,
4343
}
4444

45-
pub(crate) async fn delete_progress_reset_item<A: Authentication + Clone + Send + Sync + 'static>(
45+
pub(crate) async fn delete_progress_reset_item<
46+
A: Authentication + Clone + Send + Sync + 'static,
47+
>(
4648
request: HttpRequest,
4749
data: web::Data<AppData<A>>,
48-
query: web::Json<DeleteItemQuery>
50+
query: web::Json<DeleteItemQuery>,
4951
) -> Result<HttpResponse> {
5052
let user_id = data.get_authorized_id(request.cookie("token")).await?;
5153
let conn = data.pg_pool.clone();
5254
conn.remove_item(&user_id, &query.problem_id)
53-
.await.map_err(error::ErrorInternalServerError)?;
55+
.await
56+
.map_err(error::ErrorInternalServerError)?;
5457
Ok(HttpResponse::Ok().finish())
5558
}

atcoder-problems-backend/src/server/ranking/mod.rs

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
use crate::server::{AppData, CommonResponse};
22

33
use actix_web::{error, web, HttpRequest, HttpResponse, Result};
4+
use async_trait::async_trait;
45
use serde::{Deserialize, Serialize};
56
use sql_client::accepted_count::AcceptedCountClient;
67
use sql_client::language_count::LanguageCountClient;
78
use sql_client::rated_point_sum::RatedPointSumClient;
89
use sql_client::streak::StreakClient;
910
use std::ops::Range;
10-
use async_trait::async_trait;
1111

1212
#[derive(Deserialize)]
1313
pub(crate) struct UserRankRequest {
@@ -38,8 +38,15 @@ const MAX_RANKING_RANGE_LENGTH: usize = 1_000;
3838
// 実行時に問題があるようであれば (?Send) は外し、ranking の引数から request を除けば良さそう
3939
#[async_trait(?Send)]
4040
pub(crate) trait RankingSelector<A: Sync + Send + Clone + 'static> {
41-
async fn fetch(data: web::Data<AppData<A>>, query: Range<usize>) -> Result<Vec<RankingResponseEntry>>;
42-
async fn get_ranking(_request: HttpRequest, data: web::Data<AppData<A>>, query: web::Query<RankingRequest>) -> Result<HttpResponse> {
41+
async fn fetch(
42+
data: web::Data<AppData<A>>,
43+
query: Range<usize>,
44+
) -> Result<Vec<RankingResponseEntry>>;
45+
async fn get_ranking(
46+
_request: HttpRequest,
47+
data: web::Data<AppData<A>>,
48+
query: web::Query<RankingRequest>,
49+
) -> Result<HttpResponse> {
4350
let query = (query.from)..(query.to);
4451
if query.len() > MAX_RANKING_RANGE_LENGTH {
4552
return Ok(HttpResponse::BadRequest().finish());
@@ -53,7 +60,11 @@ pub(crate) trait RankingSelector<A: Sync + Send + Clone + 'static> {
5360
#[async_trait(?Send)]
5461
pub(crate) trait UserRankSelector<A: Sync + Send + Clone + 'static> {
5562
async fn fetch(data: web::Data<AppData<A>>, query: &str) -> Result<Option<UserRankResponse>>;
56-
async fn get_users_rank(_request: HttpRequest, data: web::Data<AppData<A>>, query: web::Query<UserRankRequest>) -> Result<HttpResponse> {
63+
async fn get_users_rank(
64+
_request: HttpRequest,
65+
data: web::Data<AppData<A>>,
66+
query: web::Query<UserRankRequest>,
67+
) -> Result<HttpResponse> {
5768
let user_rank = Self::fetch(data, &query.user).await?;
5869
// map と ok_or に書き換えられる
5970
match user_rank {
@@ -70,7 +81,10 @@ pub(crate) struct StreakRanking;
7081

7182
#[async_trait(?Send)]
7283
impl<A: Sync + Send + Clone + 'static> RankingSelector<A> for StreakRanking {
73-
async fn fetch(data: web::Data<AppData<A>>, query: Range<usize>) -> Result<Vec<RankingResponseEntry>> {
84+
async fn fetch(
85+
data: web::Data<AppData<A>>,
86+
query: Range<usize>,
87+
) -> Result<Vec<RankingResponseEntry>> {
7488
let conn = data.pg_pool.clone();
7589
let ranking = conn
7690
.load_streak_count_in_range(query)
@@ -106,7 +120,10 @@ pub(crate) struct AcRanking;
106120

107121
#[async_trait(?Send)]
108122
impl<A: Sync + Send + Clone + 'static> RankingSelector<A> for AcRanking {
109-
async fn fetch(data: web::Data<AppData<A>>, query: Range<usize>) -> Result<Vec<RankingResponseEntry>> {
123+
async fn fetch(
124+
data: web::Data<AppData<A>>,
125+
query: Range<usize>,
126+
) -> Result<Vec<RankingResponseEntry>> {
110127
let conn = data.pg_pool.clone();
111128
let ranking = conn
112129
.load_accepted_count_in_range(query)

0 commit comments

Comments
 (0)