/* Options: Date: 2026-11-07 03:12:55 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: RegisterProduct.* //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, } // Route("/cmd/products/register", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RegisterProduct { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(rename = "productProvider")] #[serde(default, skip_serializing_if = "Option::is_none")] pub product_provider: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub category: Option, } impl IRequest for RegisterProduct { const NAME: &'static str = "RegisterProduct"; const VERB: &'static str = "POST"; } impl IReturn for RegisterProduct { type Response = ResponseStatus; }