leetcode_api/leetcode/question/
pb_list.rs1use serde::{Deserialize, Serialize};
2
3use crate::entities::topic_tags;
4
5#[derive(Clone)]
6#[derive(Debug)]
7#[derive(Default)]
8#[derive(PartialEq)]
9#[derive(Serialize, Deserialize)]
10pub struct PbListData {
11 #[serde(default)]
12 pub data: DataInner,
13}
14#[derive(Clone)]
15#[derive(Debug)]
16#[derive(Default)]
17#[derive(PartialEq)]
18#[derive(Serialize, Deserialize)]
19pub struct DataInner {
20 #[serde(default, alias = "problemsetQuestionList")]
21 pub problemset_question_list: ProblemsetQuestionList,
22}
23
24#[derive(Clone)]
25#[derive(Debug)]
26#[derive(Default)]
27#[derive(PartialEq)]
28#[derive(Serialize, Deserialize)]
29pub struct ProblemsetQuestionList {
30 #[serde(default)]
33 pub total: u32,
34 #[serde(default)]
35 pub questions: Vec<NewIndex>,
36}
37
38#[derive(Clone)]
39#[derive(Debug)]
40#[derive(Default)]
41#[derive(PartialEq)]
42#[derive(Serialize, Deserialize)]
43pub struct NewIndex {
44 #[serde(default, alias = "titleSlug")]
45 pub title_slug: String,
46 #[serde(default)]
47 pub title: String,
48 #[serde(default, alias = "titleCn")]
49 pub title_cn: Option<String>,
50 #[serde(default, alias = "isFavor")]
51 pub is_favor: bool,
52 #[serde(default, alias = "frontendQuestionId")]
53 pub frontend_question_id: String,
54 #[serde(default, alias = "paidOnly")]
55 pub paid_only: bool,
56 #[serde(default)]
57 pub difficulty: String,
58 #[serde(default)]
59 pub status: Option<String>,
60 #[serde(default, alias = "acRate")]
61 pub ac_rate: f64,
62 #[serde(default, alias = "topicTags")]
63 pub topic_tags: Option<Vec<topic_tags::Model>>,
64}