/* Options: Date: 2026-11-07 04:19:15 Version: 10.42 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://s4w2.api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetFeedHeartbeat.* //ExcludeTypes: //DefaultImports: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum Stages { #[default] None = 0, Countdown = 1, Processing = 2, Draw = 3, Results = 4, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Progress { pub step: i32, pub steps: i32, pub pct: f32, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct FeedHeartbeat { #[serde(rename = "roundId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub round_id: Option, pub stage: Stages, pub step: i32, pub steps: i32, #[serde(rename = "utcTimestamp")] pub utc_timestamp: String, #[serde(rename = "lockdownStepFromEnd")] pub lockdown_step_from_end: i32, #[serde(default, skip_serializing_if = "Option::is_none")] pub overall: Option, #[serde(rename = "isHappyHour")] pub is_happy_hour: bool, } // Route("/qry/feed/hb") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct GetFeedHeartbeat {} impl IRequest for GetFeedHeartbeat { const NAME: &'static str = "GetFeedHeartbeat"; const VERB: &'static str = "POST"; } impl IReturn for GetFeedHeartbeat { type Response = FeedHeartbeat; }