Skip to main content

umami_api/
websites.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize};
3
4use crate::{teams::TeamWithMembers, users::BaseUser};
5
6#[derive(Clone, Debug, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct Website {
9  pub id: String,
10  pub name: String,
11  pub domain: String,
12  pub share_id: Option<String>,
13  pub reset_at: Option<DateTime<Utc>>,
14  pub user_id: Option<String>,
15  pub team_id: Option<String>,
16  pub created_by: Option<String>,
17  pub created_at: DateTime<Utc>,
18  pub updated_at: Option<DateTime<Utc>>,
19  pub deleted_at: Option<DateTime<Utc>>,
20}
21
22#[derive(Clone, Debug, Deserialize)]
23#[serde(rename_all = "camelCase")]
24pub struct WebsiteWithCreateUser {
25  #[serde(flatten)]
26  pub website: Website,
27  pub create_user: BaseUser,
28}
29
30#[derive(Clone, Debug, Deserialize)]
31pub struct WebsiteWithUser {
32  #[serde(flatten)]
33  pub website: Website,
34  pub user: Option<BaseUser>,
35}
36
37#[derive(Clone, Debug, Deserialize)]
38pub struct WebsiteWithUserTeam {
39  #[serde(flatten)]
40  pub website: WebsiteWithUser,
41  pub team: Option<TeamWithMembers>,
42}