thot_core/system/
user.rs

1//! User.
2use crate::types::ResourceId;
3use chrono::prelude::*;
4
5#[cfg(feature = "serde")]
6use serde::{Deserialize, Serialize};
7
8// ************
9// *** User ***
10// ************
11
12/// Represents a User.
13#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
14#[derive(Clone, Debug)]
15pub struct User {
16    pub rid: ResourceId,
17    pub created: DateTime<Utc>,
18    pub email: String,
19    pub name: Option<String>,
20}
21
22impl User {
23    pub fn new(email: String, name: Option<String>) -> User {
24        User {
25            rid: ResourceId::new(),
26            created: Utc::now(),
27            name,
28            email,
29        }
30    }
31}
32#[cfg(test)]
33#[path = "./user_test.rs"]
34mod user_test;