1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-01-08 11:42:35 +00:00
comunicapiv3/src/data/user.rs

49 lines
1.1 KiB
Rust
Raw Normal View History

2020-05-26 16:02:14 +00:00
use crate::utils::user_data_utils::user_data_url;
2020-05-24 14:35:54 +00:00
///! User information
///!
///! @author Pierre Hubert
pub type UserID = i64;
2020-05-26 11:15:39 +00:00
#[derive(Debug, PartialEq)]
pub enum UserPageStatus {
OPEN,
PUBLIC,
PRIVATE
}
#[derive(Debug, PartialEq)]
#[allow(non_camel_case_types)]
pub enum AccountImageVisibility {
FRIENDS,
COMUNIC_USERS,
EVERYONE
}
2020-05-23 17:17:48 +00:00
#[derive(Debug)]
pub struct User {
2020-05-24 14:35:54 +00:00
pub id: UserID,
2020-05-23 17:17:48 +00:00
pub email: String,
pub password: String,
pub first_name: String,
pub last_name: String,
2020-05-26 11:18:38 +00:00
pub status: UserPageStatus,
pub virtual_directory: Option<String>,
pub account_image_path: Option<String>,
pub account_image_visibility: AccountImageVisibility,
2020-05-26 16:02:14 +00:00
}
impl User {
/// Get the URL pointing to the default account image
pub fn default_account_image_url() -> String {
user_data_url(crate::constants::DEFAULT_ACCOUNT_IMAGE)
}
/// Get the URL pointing to the error account image, when the user is not allowed to see user
/// account image
pub fn error_account_image_url() -> String {
user_data_url(crate::constants::ERROR_ACCOUNT_IMAGE)
}
2020-05-23 17:17:48 +00:00
}