leetcode_api/leetcode/resps/
submit_list.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Deserialize, Serialize)]
4#[derive(Debug)]
5#[derive(Default)]
6#[derive(Clone)]
7#[derive(PartialEq, Eq)]
8pub struct SubmissionData {
9 #[serde(default)]
10 data: SubmissionDataInner,
11}
12
13impl SubmissionData {
14 pub fn submission_list(self) -> SubmissionList {
15 self.data.submission_list
16 }
17}
18#[derive(Deserialize, Serialize)]
19#[derive(Debug)]
20#[derive(Default)]
21#[derive(Clone)]
22#[derive(PartialEq, Eq)]
23struct SubmissionDataInner {
24 #[serde(default, alias = "submissionList")]
25 submission_list: SubmissionList,
26}
27
28#[derive(Deserialize, Serialize)]
29#[derive(Debug)]
30#[derive(Default)]
31#[derive(Clone)]
32#[derive(PartialEq, Eq)]
33pub struct SubmissionList {
34 #[serde(default, alias = "lastKey")]
35 pub(crate) last_key: Option<String>,
36 #[serde(default, alias = "hasNext")]
37 pub(crate) has_next: bool,
38 #[serde(default)]
39 pub(crate) submissions: Vec<Submission>,
40}
41
42#[derive(Deserialize, Serialize)]
43#[derive(Debug)]
44#[derive(Default)]
45#[derive(Clone)]
46#[derive(PartialEq, Eq)]
47pub struct Submission {
48 #[serde(default)]
49 pub id: String,
50 #[serde(default)]
51 pub title: String,
52 #[serde(default)]
53 pub status: Option<String>,
54 #[serde(default, alias = "statusDisplay")]
55 pub status_display: Option<String>,
56 #[serde(default)]
57 pub lang: String,
58 #[serde(default, alias = "langName")]
59 pub lang_name: String,
60 #[serde(default)]
61 pub runtime: String,
62 #[serde(default)]
63 pub timestamp: String,
64 #[serde(default)]
65 pub url: String,
66 #[serde(default, alias = "isPending")]
67 pub is_pending: String,
68 #[serde(default)]
69 pub memory: String,
70 #[serde(default, alias = "submissionComment")]
71 pub submission_comment: Option<String>,
72}