Skip to main content

broccoli_server_sdk/types/
query.rs

1use serde::{Deserialize, Serialize};
2
3/// DB query result for test case listing (id, score, position, is_sample).
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct TestCaseRow {
6    pub id: i32,
7    pub score: f64,
8    pub is_sample: bool,
9    pub position: i32,
10    #[serde(default)]
11    pub description: Option<String>,
12    #[serde(default)]
13    pub label: Option<String>,
14}
15
16/// DB query result for test case content (input and expected output).
17#[derive(Debug, Clone, Serialize, Deserialize)]
18pub struct TestCaseData {
19    pub input: String,
20    pub expected_output: String,
21}
22
23/// DB query result for problem checker configuration.
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct ProblemCheckerInfo {
26    pub id: i32,
27    pub checker_source: Option<serde_json::Value>,
28    pub checker_format: Option<String>,
29    /// Opaque checker config from plugin_config table (namespace="checker").
30    #[serde(default)]
31    pub checker_config: Option<serde_json::Value>,
32}