rust_woocommerce/controllers/
shipping_zones.rs1use 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 pub fn new(name: impl Into<String>) -> Self {
12 Self {
13 name: name.into(),
14 order: 0,
15 }
16 }
17 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 pub fn id(mut self, id: i32) -> Self {
33 let _ = self.id.insert(id);
34 self
35 }
36 pub fn name(mut self, name: impl Into<String>) -> Self {
38 let _ = self.name.insert(name.into());
39 self
40 }
41 pub fn order(mut self, order: i32) -> Self {
43 let _ = self.order.insert(order);
44 self
45 }
46}