Skip to main content

earl_protocol_sql/
schema.rs

1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4use earl_core::schema::TransportTemplate;
5
6#[derive(Debug, Clone, Deserialize, Serialize)]
7#[serde(deny_unknown_fields)]
8pub struct SqlOperationTemplate {
9    pub sql: SqlQueryTemplate,
10    pub transport: Option<TransportTemplate>,
11}
12
13#[derive(Debug, Clone, Deserialize, Serialize)]
14#[serde(deny_unknown_fields)]
15pub struct SqlQueryTemplate {
16    pub connection_secret: String,
17    pub query: String,
18    pub params: Option<Vec<Value>>,
19    pub sandbox: Option<SqlSandboxTemplate>,
20}
21
22#[derive(Debug, Clone, Deserialize, Serialize)]
23#[serde(deny_unknown_fields)]
24pub struct SqlSandboxTemplate {
25    pub read_only: Option<bool>,
26    pub max_rows: Option<u64>,
27    pub max_time_ms: Option<u64>,
28}