eval_stack/engine/
models.rs1use std::path::PathBuf;
2
3use serde::{Deserialize, Serialize};
4use surrealdb::sql::Thing;
5
6use crate::compile::Language;
7
8#[derive(Serialize, Deserialize, Clone, Debug)]
9#[serde(rename_all = "snake_case")]
10pub enum Status {
11 InQueue,
12 Judging,
13 Ready,
14}
15
16#[derive(Debug, Serialize, Deserialize)]
17pub struct TestCase {
18 pub input: PathBuf,
19 pub output: PathBuf,
20}
21
22#[derive(Debug, Serialize, Deserialize)]
23pub struct Submission {
24 pub id: Thing,
25
26 pub lang: Language,
27 pub test_cases: Vec<TestCase>,
28
29 pub code: String,
30 pub status: Status,
31 pub creator: Thing,
32
33 pub created_at: chrono::NaiveDateTime,
34 pub updated_at: chrono::NaiveDateTime,
35}