Display account details

This commit is contained in:
2022-04-04 17:39:23 +02:00
parent a4de6a01af
commit e1eb64f27c
14 changed files with 231 additions and 3 deletions

View File

@ -1,7 +1,7 @@
use actix::{Actor, Context, Handler, Message, MessageResult};
use crate::data::entity_manager::EntityManager;
use crate::data::user::{verify_password, User, UserID};
use crate::data::user::{User, UserID, verify_password};
#[derive(Debug)]
pub enum LoginResult {
@ -21,6 +21,13 @@ pub struct LoginRequest {
#[derive(Debug)]
pub struct ChangePasswordResult(pub bool);
#[derive(Message)]
#[rtype(GetUserResult)]
pub struct GetUserRequest(pub UserID);
#[derive(Debug)]
pub struct GetUserResult(pub Option<User>);
#[derive(Message)]
#[rtype(ChangePasswordResult)]
pub struct ChangePasswordRequest {
@ -75,3 +82,11 @@ impl Handler<ChangePasswordRequest> for UsersActor {
)))
}
}
impl Handler<GetUserRequest> for UsersActor {
type Result = MessageResult<GetUserRequest>;
fn handle(&mut self, msg: GetUserRequest, _ctx: &mut Self::Context) -> Self::Result {
MessageResult(GetUserResult(self.manager.find_by_user_id(&msg.0)))
}
}