1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct User {
6 pub id: String,
7 pub name: String,
8 pub username: String,
9 pub email: String,
10 pub dotfiles_git_uri: String,
11 pub roles: Vec<SiteRole>,
12 pub avatar_hash: String,
13 pub key_regenerated_at: DateTime<Utc>,
14 pub created_at: DateTime<Utc>,
15 pub updated_at: DateTime<Utc>,
16}
17
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19pub enum SiteRole {
20 #[serde(rename = "site-admin")]
21 Admin,
22 #[serde(rename = "site-auditor")]
23 Auditor,
24 #[serde(rename = "site-manager")]
25 Manager,
26 #[serde(rename = "site-member")]
27 Member,
28}