lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

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 }