forklaunch 1.35.1

Launch faster with forklaunch
use forklaunch_worker_interface::{JobContext, JobPayload};
use uuid::Uuid;
use zeroize::Zeroize;

#[forklaunch_core::contract::schema(rename_all = "camelCase", unknown_fields = "deny")]
pub struct WorkInput {
    pub resource_id: Uuid,
    #[field(min = 1, max = 9_007_199_254_740_991)]
    pub revision: i64,
    pub message: String,
}
impl Zeroize for WorkInput {
    fn zeroize(&mut self) {
        self.message.zeroize();
    }
}

#[forklaunch_core::contract::schema(rename_all = "camelCase", unknown_fields = "deny")]
pub struct WorkEvent {
    pub context: JobContext,
    pub queue: String,
    pub input: WorkInput,
}
impl Zeroize for WorkEvent {
    fn zeroize(&mut self) {
        self.input.zeroize();
    }
}
impl JobPayload for WorkEvent {
    fn context(&self) -> JobContext {
        self.context
    }
}