rust_woocommerce/controllers/
shipping_zones.rs

1use serde::{Deserialize, Serialize};
2use serde_with::skip_serializing_none;
3#[skip_serializing_none]
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct ShippingZoneCreate {
6    name: String,
7    order: i32,
8}
9impl ShippingZoneCreate {
10    /// Shipping zone name.
11    pub fn new(name: impl Into<String>) -> Self {
12        Self {
13            name: name.into(),
14            order: 0,
15        }
16    }
17    /// Shipping zone order.
18    pub fn order(mut self, order: i32) -> Self {
19        self.order = order;
20        self
21    }
22}
23#[skip_serializing_none]
24#[derive(Debug, Clone, Serialize, Deserialize, Default)]
25pub struct ShippingZoneUpdate {
26    id: Option<i32>,
27    name: Option<String>,
28    order: Option<i32>,
29}
30impl ShippingZoneUpdate {
31    /// Unique identifier for the resource.
32    pub fn id(mut self, id: i32) -> Self {
33        let _ = self.id.insert(id);
34        self
35    }
36    /// Shipping zone name.
37    pub fn name(mut self, name: impl Into<String>) -> Self {
38        let _ = self.name.insert(name.into());
39        self
40    }
41    /// Shipping zone order.
42    pub fn order(mut self, order: i32) -> Self {
43        let _ = self.order.insert(order);
44        self
45    }
46}