coder/models/
users.rs

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}