aboutsummaryrefslogtreecommitdiff
path: root/karlcommon/src/protocol.rs
diff options
context:
space:
mode:
authormetamuffin <yvchraiqi@protonmail.com>2022-06-11 14:32:45 +0200
committermetamuffin <yvchraiqi@protonmail.com>2022-06-11 14:32:45 +0200
commitc2699d114c921ab2ceb1f467b32a26257dddcf3d (patch)
tree0e886d333d944094c8c66905cac36a21cd010405 /karlcommon/src/protocol.rs
parent9769c17c0b4c271c1cfbe726b19a6d3f9250c7c8 (diff)
downloadkarlender-c2699d114c921ab2ceb1f467b32a26257dddcf3d.tar
karlender-c2699d114c921ab2ceb1f467b32a26257dddcf3d.tar.bz2
karlender-c2699d114c921ab2ceb1f467b32a26257dddcf3d.tar.zst
changing the protocol again
Diffstat (limited to 'karlcommon/src/protocol.rs')
-rw-r--r--karlcommon/src/protocol.rs20
1 files changed, 13 insertions, 7 deletions
diff --git a/karlcommon/src/protocol.rs b/karlcommon/src/protocol.rs
index f971ef2..de65802 100644
--- a/karlcommon/src/protocol.rs
+++ b/karlcommon/src/protocol.rs
@@ -41,15 +41,21 @@ pub struct Task {
pub id: u64,
pub name: String,
pub description: Option<String>,
-
pub tags: Vec<String>,
- pub priority: f64,
-
- pub completed: Option<i64>,
- pub scheduled: Option<i64>,
+ pub schedule: Schedule,
+}
- pub occurence: Option<Condition>,
- pub deadline: Option<Condition>,
+#[derive(Debug, Clone, Serialize, Deserialize)]
+#[serde(tag = "type", content = "options", rename_all = "snake_case")]
+pub enum Schedule {
+ Never,
+ Dynamic {
+ priority: f64,
+ scheduled: Option<i64>,
+ deadline: Option<Condition>,
+ },
+ Condition(Condition),
+ Static(Range<i64>),
}
#[derive(Debug, Clone, Serialize, Deserialize)]