longbridge/content/
types.rs1use serde::{Deserialize, Serialize};
2use time::OffsetDateTime;
3
4use crate::serde_utils;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct TopicItem {
9 pub id: String,
11 #[serde(default)]
13 pub title: String,
14 #[serde(default)]
16 pub description: String,
17 pub url: String,
19 #[serde(
21 serialize_with = "time::serde::rfc3339::serialize",
22 deserialize_with = "serde_utils::timestamp::deserialize"
23 )]
24 pub published_at: OffsetDateTime,
25 pub comments_count: i32,
27 pub likes_count: i32,
29 pub shares_count: i32,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
35pub struct NewsItem {
36 pub id: String,
38 #[serde(default)]
40 pub title: String,
41 #[serde(default)]
43 pub description: String,
44 pub url: String,
46 #[serde(
48 serialize_with = "time::serde::rfc3339::serialize",
49 deserialize_with = "serde_utils::timestamp::deserialize"
50 )]
51 pub published_at: OffsetDateTime,
52 pub comments_count: i32,
54 pub likes_count: i32,
56 pub shares_count: i32,
58}