use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use serde_json::Value;
#[derive(Deserialize, Serialize, Clone)]
pub enum LogLevel {
Debug,
Error,
Info,
Warn,
}
#[derive(Deserialize)]
pub struct Message {
pub level: LogLevel,
pub message: String,
pub metadata: HashMap<String, Value>,
}
#[derive(Deserialize, Serialize, Eq, PartialEq, Debug, Clone)]
#[serde(tag = "type")]
pub enum InitQuery {
#[serde(rename = "GraphqlQuery")]
Graphql(GraphqlQuery),
#[serde(rename = "StoredQuery")]
Stored(StoredQuery),
}
#[derive(Deserialize, Serialize, Eq, PartialEq, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct GraphqlQuery {
pub code: String,
}
#[derive(Deserialize, Serialize, Eq, PartialEq, Debug, Clone)]
#[serde(rename_all = "camelCase")]
pub struct StoredQuery {
pub id: String,
}