use schemars::JsonSchema;
use serde::Deserialize;
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct ListParams {
pub(crate) project_path: Option<String>,
pub(crate) all: Option<bool>,
pub(crate) project: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct IdParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct AddParams {
pub(crate) project_path: Option<String>,
pub(crate) description: String,
pub(crate) project: Option<String>,
pub(crate) priority: Option<String>,
pub(crate) tags: Option<Vec<String>>,
pub(crate) recur: Option<String>,
pub(crate) annotations: Option<Vec<String>>,
pub(crate) links: Option<Vec<String>>,
pub(crate) checks: Option<Vec<String>>,
pub(crate) depends_on: Option<Vec<String>>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct StepsParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) until: Option<usize>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct StepDoneParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) n: usize,
pub(crate) result: Option<String>,
pub(crate) kind: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct VerifyParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) step: Option<usize>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct RecallParams {
pub(crate) project_path: Option<String>,
pub(crate) query: String,
pub(crate) limit: Option<i64>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct AnnotateParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) text: String,
pub(crate) kind: Option<String>,
pub(crate) author: Option<String>,
pub(crate) on: Option<String>,
pub(crate) reconsider: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct PlanImportParams {
pub(crate) project_path: Option<String>,
pub(crate) plan_json: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct DoneParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) force: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct LinkParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) url: String,
pub(crate) label: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct DepParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) action: String,
pub(crate) other: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct CheckParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) text: String,
pub(crate) kind: Option<String>,
pub(crate) intent: Option<String>,
pub(crate) verify: Option<String>,
pub(crate) source: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct ModifyParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) description: Option<String>,
pub(crate) priority: Option<String>,
pub(crate) due: Option<String>,
pub(crate) clear_due: Option<bool>,
pub(crate) tags: Option<Vec<String>>,
pub(crate) clear_tags: Option<bool>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct ResolveParams {
pub(crate) project_path: Option<String>,
pub(crate) feedback_id: i64,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct StepEditParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) n: usize,
pub(crate) kind: Option<String>,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct GuideTextParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) text: String,
}
#[derive(Debug, Deserialize, JsonSchema)]
pub(crate) struct AttachParams {
pub(crate) project_path: Option<String>,
pub(crate) id: String,
pub(crate) path: String,
pub(crate) reason: Option<String>,
pub(crate) symbol: Option<String>,
pub(crate) lines: Option<String>,
pub(crate) source: Option<String>,
}