mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-06-20 16:35:17 +00:00
Can get current user ID
This commit is contained in:
@ -2,6 +2,7 @@ use crate::api_data::login_success::LoginSuccess;
|
||||
use crate::controllers::routes::RequestResult;
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::helpers::account_helper;
|
||||
use crate::api_data::current_user_id::CurrentUserID;
|
||||
|
||||
/// Account controller
|
||||
///
|
||||
@ -28,4 +29,9 @@ pub fn login_user(request: &mut HttpRequestHandler) -> RequestResult {
|
||||
request.forbidden("Invalid email address / password!".to_string())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Get current user ID
|
||||
pub fn user_id(request: &mut HttpRequestHandler) -> RequestResult {
|
||||
request.set_response(CurrentUserID::new(request.user_id()?))
|
||||
}
|
@ -51,6 +51,15 @@ impl Route {
|
||||
func
|
||||
}
|
||||
}
|
||||
|
||||
pub fn post(uri: &'static str, func: RequestProcess) -> Route {
|
||||
Route {
|
||||
method: POST,
|
||||
need_login: true,
|
||||
uri,
|
||||
func
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Get the list of routes available
|
||||
@ -62,5 +71,8 @@ pub fn get_routes() -> Vec<Route> {
|
||||
// Account controller
|
||||
Route::post_without_login("/account/login", Box::new(account_controller::login_user)),
|
||||
Route::post_without_login("/user/connectUSER", Box::new(account_controller::login_user)),
|
||||
|
||||
Route::post("/account/id", Box::new(account_controller::user_id)),
|
||||
Route::post("/user/getCurrentUserID", Box::new(account_controller::user_id)),
|
||||
]
|
||||
}
|
@ -108,6 +108,11 @@ fn process_simple_route(route: &Route, req: &mut HttpRequestHandler) -> RequestR
|
||||
// Validate client token
|
||||
req.check_client_token()?;
|
||||
|
||||
// Check user token, if required
|
||||
if route.need_login || req.has_post_parameter("userToken1") {
|
||||
req.check_user_token()?;
|
||||
}
|
||||
|
||||
(route.func)(req)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user