algohub_server/models/
submission.rs1use 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}