feat: event management and websocket for updates
This commit is contained in:
@@ -4,6 +4,9 @@ edition = "2021"
|
||||
version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
chrono = { version = "0.4.39", features = ["serde"] }
|
||||
serde = { version = "1.0.218", features = ["derive"] }
|
||||
serde_bytes = "0.11.15"
|
||||
|
||||
[build-dependencies]
|
||||
bindgen = "0.69"
|
||||
|
||||
1
sparse-actions/src/actions.rs
Normal file
1
sparse-actions/src/actions.rs
Normal file
@@ -0,0 +1 @@
|
||||
pub trait Action {}
|
||||
@@ -3,3 +3,6 @@
|
||||
pub mod payload_types {
|
||||
include!(concat!(std::env!("OUT_DIR"), "/bindings.rs"));
|
||||
}
|
||||
|
||||
pub mod actions;
|
||||
pub mod messages;
|
||||
|
||||
40
sparse-actions/src/messages.rs
Normal file
40
sparse-actions/src/messages.rs
Normal file
@@ -0,0 +1,40 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub struct RegisterBeacon {
|
||||
pub beacon_id: String,
|
||||
pub template_id: u16,
|
||||
pub cwd: PathBuf,
|
||||
pub operating_system: String,
|
||||
pub userent: String,
|
||||
pub hostname: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub enum CronTimezone {
|
||||
Utc,
|
||||
Local,
|
||||
}
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub enum RuntimeConfig {
|
||||
Oneshot,
|
||||
Random {
|
||||
interval_min: u64,
|
||||
interval_max: u64,
|
||||
},
|
||||
Regular {
|
||||
interval: u64,
|
||||
},
|
||||
Cron {
|
||||
schedule: String,
|
||||
timezone: CronTimezone,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
pub struct BeaconConfig {
|
||||
pub runtime_config: RuntimeConfig,
|
||||
}
|
||||
Reference in New Issue
Block a user