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}