job_request.rs (1373B)
1 use crate::social::job::JobInputType; 2 3 #[cfg(not(feature = "std"))] 4 use alloc::{string::String, vec::Vec}; 5 6 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))] 7 #[cfg_attr(all(test, feature = "std"), dto(export))] 8 #[cfg_attr( 9 any(feature = "serde", test), 10 derive(serde::Serialize, serde::Deserialize) 11 )] 12 #[derive(Clone, Debug, PartialEq, Eq)] 13 pub struct JobInput { 14 pub data: String, 15 pub input_type: JobInputType, 16 pub relay: Option<String>, 17 pub marker: Option<String>, 18 } 19 20 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))] 21 #[cfg_attr(all(test, feature = "std"), dto(export))] 22 #[cfg_attr( 23 any(feature = "serde", test), 24 derive(serde::Serialize, serde::Deserialize) 25 )] 26 #[derive(Clone, Debug, PartialEq, Eq)] 27 pub struct JobParam { 28 pub key: String, 29 pub value: String, 30 } 31 32 #[cfg_attr(all(test, feature = "std"), derive(dto_bindgen::Dto))] 33 #[cfg_attr(all(test, feature = "std"), dto(export))] 34 #[cfg_attr( 35 any(feature = "serde", test), 36 derive(serde::Serialize, serde::Deserialize) 37 )] 38 #[derive(Clone, Debug, PartialEq, Eq)] 39 pub struct JobRequest { 40 pub kind: u16, 41 pub inputs: Vec<JobInput>, 42 pub output: Option<String>, 43 pub params: Vec<JobParam>, 44 pub bid_sat: Option<u32>, 45 pub relays: Vec<String>, 46 pub providers: Vec<String>, 47 pub topics: Vec<String>, 48 pub encrypted: bool, 49 }