1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3
4use crate::Duration;
5
6#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
7#[serde(rename_all = "snake_case")]
8pub enum JailMsg {
9 Jail {
11 operator: String,
13 duration: JailingDuration,
15 },
16 Unjail {
19 operator: Option<String>,
22 },
23}
24
25#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, JsonSchema, Debug)]
26#[serde(rename_all = "snake_case")]
27pub enum JailingDuration {
28 Duration(Duration),
29 Forever {},
30}
31
32impl From<Duration> for JailingDuration {
33 fn from(dur: Duration) -> Self {
34 Self::Duration(dur)
35 }
36}