Skip to main content

poly_x_tracker/model/
users.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4use crate::model::Platform;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub struct User {
9    pub id: String,
10    pub handle: String,
11    pub name: String,
12    pub platform: Platform,
13    pub platform_id: String,
14    pub avatar_url: String,
15    pub bio: String,
16    pub verified: bool,
17    pub created_at: DateTime<Utc>,
18    pub updated_at: DateTime<Utc>,
19    pub trackings: Vec<UserTrackings>,
20    #[serde(rename = "_count")]
21    pub count: UserCount,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
25#[serde(rename_all = "camelCase")]
26pub struct UserTrackings {
27    pub id: String,
28    pub user_id: String,
29    pub title: String,
30    pub start_date: DateTime<Utc>,
31    pub end_date: DateTime<Utc>,
32    pub created_at: DateTime<Utc>,
33    pub updated_at: DateTime<Utc>,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct UserCount {
39    pub posts: u32,
40}