mirror of
https://github.com/n08i40k/schedule-parser-rusted.git
synced 2025-12-06 17:57:47 +03:00
Реформат путей к эндпоинтам.
Добавлен экстрактор пользователя с дополнительными полями.
Добавлена связь таблиц User и FCM.
Завершена реализация авторизации с помощью VK ID.
Добавлен эндпоинт fcm/update-callback/{version}.
This commit is contained in:
28
src/routes/fcm/update_callback.rs
Normal file
28
src/routes/fcm/update_callback.rs
Normal file
@@ -0,0 +1,28 @@
|
||||
use crate::app_state::AppState;
|
||||
use crate::database::models::User;
|
||||
use crate::extractors::base::SyncExtractor;
|
||||
use actix_web::{HttpResponse, Responder, post, web};
|
||||
use diesel::SaveChangesDsl;
|
||||
|
||||
#[utoipa::path(responses(
|
||||
(status = OK),
|
||||
(status = INTERNAL_SERVER_ERROR)
|
||||
))]
|
||||
#[post("/update-callback/{version}")]
|
||||
async fn update_callback(
|
||||
app_state: web::Data<AppState>,
|
||||
version: web::Path<String>,
|
||||
user: SyncExtractor<User>,
|
||||
) -> impl Responder {
|
||||
let mut user = user.into_inner();
|
||||
|
||||
user.version = version.into_inner();
|
||||
|
||||
match app_state.lock_connection(|con| user.save_changes::<User>(con)) {
|
||||
Ok(_) => HttpResponse::Ok(),
|
||||
Err(e) => {
|
||||
eprintln!("Failed to update user: {}", e);
|
||||
HttpResponse::InternalServerError()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user