leetcode_api/leetcode/resps/
submit_list.rs

1use 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}