1
0
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:
2020-05-24 17:57:47 +02:00
parent 3b1b377d82
commit 75024dbca6
7 changed files with 82 additions and 5 deletions

View File

@ -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()?))
}

View File

@ -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)),
]
}

View File

@ -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)
}