use serde::{Deserialize, Serialize};
use crate::api::v1::track::Track;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Response {
pub solution: Solution,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Solution {
#[serde(rename = "id")]
pub uuid: String,
pub url: String,
pub user: User,
pub exercise: Exercise,
pub file_download_base_url: String,
pub files: Vec<String>,
#[serde(default)]
pub submission: Option<Submission>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct User {
pub handle: String,
pub is_requester: bool,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Exercise {
#[serde(rename = "id")]
pub name: String,
pub instructions_url: String,
pub track: Track,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Submission {
pub submitted_at: String,
}