algohub_server/models/
submission.rs

1use eval_stack::{compile::Language, judge::JudgeResult};
2use serde::{Deserialize, Serialize};
3use surrealdb::sql::Thing;
4
5#[derive(Serialize, Deserialize, Clone, Debug)]
6#[serde(rename_all = "snake_case")]
7pub enum Status {
8    InQueue,
9    Judging,
10    Ready,
11}
12
13#[derive(Serialize, Deserialize, Debug)]
14pub struct Submission {
15    pub id: Option<Thing>,
16
17    pub lang: Language,
18    pub problem: Thing,
19    pub code: String,
20    pub status: Status,
21    pub judge_details: Vec<JudgeResult>,
22    pub judge_result: Option<JudgeResult>,
23    pub creator: Thing,
24    pub contest: Option<Thing>,
25
26    pub created_at: chrono::NaiveDateTime,
27    pub updated_at: chrono::NaiveDateTime,
28}