gmarche-rs/src/queries.rs

51 lines
956 B
Rust

use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct NewAdQuery {
pub author: String,
pub price: String,
pub psw: String,
pub pubkey: String,
pub quantity: String,
pub title: String,
}
#[derive(Clone, Debug, Deserialize)]
pub struct RmAdQuery {
pub ad: String,
pub psw: String,
}
#[derive(Clone, Debug, Deserialize)]
pub struct AdminRmAdQuery {
pub ad: String,
}
#[derive(Clone, Debug, Deserialize)]
pub struct AdminLoginQuery {
pub psw: String,
}
#[derive(Clone, Debug, Deserialize)]
#[serde(tag = "a")]
pub enum Query {
#[serde(rename = "new_ad")]
NewAdQuery(NewAdQuery),
#[serde(rename = "rm_ad")]
RmAdQuery(RmAdQuery),
}
#[derive(Clone, Debug, Deserialize)]
#[serde(tag = "a")]
pub enum AdminQuery {
#[serde(rename = "login")]
LoginQuery(AdminLoginQuery),
#[serde(rename = "rm_ad")]
RmAdQuery(AdminRmAdQuery),
}
#[derive(Debug, Deserialize)]
struct SelectAdQuery {
pub ad: String,
}