mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2025-06-11 10:53:19 +02:00
Implement changes from fabaccess-api#24
This commit is contained in:
@ -208,8 +208,8 @@ impl ManageServer for Machine {
|
||||
) -> Promise<(), ::capnp::Error> {
|
||||
let mut builder = result.get();
|
||||
let user = User::new_self(self.session.clone());
|
||||
user.build_else(self.resource.get_current_user(), builder.reborrow().init_current_user());
|
||||
user.build_else(self.resource.get_previous_user(), builder.init_last_user());
|
||||
user.build_optional(self.resource.get_current_user(), builder.reborrow().init_current_user());
|
||||
user.build_optional(self.resource.get_previous_user(), builder.init_last_user());
|
||||
Promise::ok(())
|
||||
}
|
||||
fn set_property(
|
||||
|
@ -1,7 +1,8 @@
|
||||
use capnp::capability::Promise;
|
||||
use capnp_rpc::pry;
|
||||
use crate::session::SessionHandle;
|
||||
use api::user_capnp::user::{admin, info, manage, Builder};
|
||||
use api::user_capnp::user::{admin, info, manage, self};
|
||||
use api::general_capnp::optional;
|
||||
use crate::authorization::permissions::Permission;
|
||||
use crate::users::{db, UserRef};
|
||||
|
||||
@ -21,19 +22,20 @@ impl User {
|
||||
Self::new(session, user)
|
||||
}
|
||||
|
||||
pub fn build_else(&self, user: Option<UserRef>, builder: Builder) {
|
||||
pub fn build_optional(&self, user: Option<UserRef>, builder: optional::Builder<user::Owned>) {
|
||||
if let Some(user) = user.and_then(|u| self.session.users.get_user(u.get_username())) {
|
||||
let mut builder = builder.init_just();
|
||||
self.fill(user, builder);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn build(session: SessionHandle, mut builder: Builder) {
|
||||
pub fn build(session: SessionHandle, mut builder: user::Builder) {
|
||||
let this = Self::new_self(session);
|
||||
let user = this.session.get_user();
|
||||
this.fill(user, builder);
|
||||
}
|
||||
|
||||
pub fn fill(&self, user: db::User, mut builder: Builder) {
|
||||
pub fn fill(&self, user: db::User, mut builder: user::Builder) {
|
||||
builder.set_username(user.id.as_str());
|
||||
|
||||
let client = Self::new(self.session.clone(), UserRef::new(user.id.clone()));
|
||||
|
Reference in New Issue
Block a user