Can create user accounts
This commit is contained in:
@ -18,9 +18,6 @@ pub struct LoginRequest {
|
||||
pub password: String,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ChangePasswordResult(pub bool);
|
||||
|
||||
#[derive(Message)]
|
||||
#[rtype(GetUserResult)]
|
||||
pub struct GetUserRequest(pub UserID);
|
||||
@ -50,6 +47,16 @@ pub struct ChangePasswordRequest {
|
||||
pub temporary: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ChangePasswordResult(pub bool);
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct UpdateUserResult(pub bool);
|
||||
|
||||
#[derive(Message)]
|
||||
#[rtype(UpdateUserResult)]
|
||||
pub struct UpdateUserRequest(pub User);
|
||||
|
||||
pub struct UsersActor {
|
||||
manager: EntityManager<User>,
|
||||
}
|
||||
@ -119,4 +126,18 @@ impl Handler<GetAllUsersRequest> for UsersActor {
|
||||
fn handle(&mut self, _msg: GetAllUsersRequest, _ctx: &mut Self::Context) -> Self::Result {
|
||||
MessageResult(GetAllUsersResult(self.manager.cloned()))
|
||||
}
|
||||
}
|
||||
|
||||
impl Handler<UpdateUserRequest> for UsersActor {
|
||||
type Result = MessageResult<UpdateUserRequest>;
|
||||
|
||||
fn handle(&mut self, msg: UpdateUserRequest, _ctx: &mut Self::Context) -> Self::Result {
|
||||
MessageResult(UpdateUserResult(match self.manager.update_or_replace(msg.0) {
|
||||
Ok(_) => true,
|
||||
Err(e) => {
|
||||
log::error!("Failed to update user information! {:?}", e);
|
||||
false
|
||||
}
|
||||
}))
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user