1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-02-20 16:02:39 +00:00
comunicapiv3/src/api_data/res_find_virtual_directory.rs

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!()
}
}
}