/* Options: Date: 2026-11-07 02:58:27 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: NotifyFrontend.* //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, PartialEq, Default)] #[serde(default)] pub struct Ref { pub id: String, pub val: String, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RefEx { #[serde(flatten)] pub r#ref: Ref, pub data: RecordDictionary, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RecordDictionary(pub HashMap); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct BettingApp { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Origin { #[serde(default, skip_serializing_if = "Option::is_none")] pub application: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub ip: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub organization: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub region: Option, #[serde(rename = "locationGroup")] #[serde(default, skip_serializing_if = "Option::is_none")] pub location_group: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub device: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub clerk: Option, } #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, Hash, Default)] #[repr(i32)] pub enum SlipSubmissionStatus { #[default] Pending = 0, Accepted = 2, Rejected = 3, Failed = 4, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct AcceptedSlipInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub origin: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub bettor: Option, #[serde(rename = "slipSubmissionStatus")] pub slip_submission_status: SlipSubmissionStatus, #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ErrorInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub origin: Option, #[serde(rename = "errorCode")] #[serde(default, skip_serializing_if = "Option::is_none")] pub error_code: Option, #[serde(rename = "errorDescription")] #[serde(default, skip_serializing_if = "Option::is_none")] pub error_description: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option>, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ConfirmationInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub bettor: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub origin: Option, #[serde(rename = "confirmationCode")] #[serde(default, skip_serializing_if = "Option::is_none")] pub confirmation_code: Option, #[serde(rename = "confirmationDescription")] #[serde(default, skip_serializing_if = "Option::is_none")] pub confirmation_description: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option>, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct WalletTransactionInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub reason: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct WalletUpdateInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub bettor: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub origin: Option, #[serde(rename = "transactionInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub transaction_info: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct UserNotificationsUpdatedInfo { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ApplicationEventsUpdated {} #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct SlipDeliveryIssueRefundRequestUpdated {} // Route("/cmd/notify/frontend/") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct NotifyFrontend { #[serde(rename = "acceptedSlipInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub accepted_slip_info: Option, #[serde(rename = "errorInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub error_info: Option, #[serde(rename = "confirmationInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub confirmation_info: Option, #[serde(rename = "slipCancellationId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub slip_cancellation_id: Option, #[serde(rename = "walletUpdatedInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub wallet_updated_info: Option, #[serde(rename = "userNotificationsUpdated")] #[serde(default, skip_serializing_if = "Option::is_none")] pub user_notifications_updated: Option, #[serde(rename = "applicationEventsUpdated")] #[serde(default, skip_serializing_if = "Option::is_none")] pub application_events_updated: Option, #[serde(rename = "slipDeliveryIssueRefundRequestUpdated")] #[serde(default, skip_serializing_if = "Option::is_none")] pub slip_delivery_issue_refund_request_updated: Option, } impl IRequest for NotifyFrontend { const NAME: &'static str = "NotifyFrontend"; const VERB: &'static str = "POST"; } impl IReturn for NotifyFrontend { type Response = ResponseStatus; }