mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-02-20 16:02:39 +00:00
30 lines
781 B
Rust
30 lines
781 B
Rust
//! Find virtual directory result
|
|
//!
|
|
//! @author Pierre Hubert
|
|
|
|
use serde::{Serialize};
|
|
use crate::data::error::ResultBoxError;
|
|
use crate::data::user::User;
|
|
use crate::data::group_id::GroupID;
|
|
|
|
#[derive(Serialize)]
|
|
pub struct ResultFindVirtualDirectory {
|
|
kind: String,
|
|
id: u64,
|
|
}
|
|
|
|
impl ResultFindVirtualDirectory {
|
|
/// Construct a new instance
|
|
pub fn new(user: ResultBoxError<User>, group: ResultBoxError<GroupID>) -> ResultFindVirtualDirectory {
|
|
match (user, group) {
|
|
|
|
// User
|
|
(Ok(u), _) => ResultFindVirtualDirectory { kind: "user".to_string(), id: u.id.id() },
|
|
|
|
// Group
|
|
(_, Ok(g)) => ResultFindVirtualDirectory { kind: "group".to_string(), id: g.id() },
|
|
|
|
_ => unreachable!()
|
|
}
|
|
}
|
|
} |