use serde::{Deserialize, Serialize};
#[derive(Serialize, Debug)]
pub struct SubmitPayload {
pub lang: String,
pub question_id: String,
pub typed_code: String,
}
#[derive(Serialize, Debug)]
pub struct TestPayload {
pub lang: String,
pub question_id: String,
pub typed_code: String,
pub data_input: String,
}
#[derive(Deserialize, Debug)]
pub struct TestSubmitResponse {
pub interpret_id: String,
pub test_case: String,
}
#[derive(Deserialize, Debug)]
pub struct SubmitResponse {
pub submission_id: u64,
}
#[derive(Deserialize, Debug)]
pub struct TestSubmissionCheckResult {
pub code_answer: Option<Vec<String>>,
pub code_output: Option<Vec<String>>,
pub correct_answer: Option<bool>,
pub expected_code_answer: Option<Vec<String>>,
pub full_runtime_error: Option<String>,
pub lang: Option<String>,
pub memory_percentile: Option<f64>,
pub run_success: Option<bool>,
pub runtime_percentile: Option<f64>,
pub state: String,
pub status_memory: Option<String>,
pub status_msg: Option<String>,
pub status_runtime: Option<String>,
pub total_correct: Option<u32>,
pub total_testcases: Option<u32>,
}
#[derive(Deserialize, Debug)]
pub struct SubmissionCheckResult {
pub code_output: Option<String>,
pub compile_error: Option<String>,
pub expected_output: Option<String>,
pub finished: Option<bool>,
pub full_runtime_error: Option<String>,
pub input: Option<String>,
pub input_formatted: Option<String>,
pub last_testcase: Option<String>,
pub memory_percentile: Option<f64>,
pub run_success: Option<bool>,
pub runtime_percentile: Option<f64>,
pub state: String, pub status_memory: Option<String>,
pub status_msg: Option<String>, pub status_runtime: Option<String>,
pub total_correct: Option<u32>,
pub total_testcases: Option<u32>,
}