vrchatapi/models/
store_shelf.rs1use crate::models;
10use serde::{Deserialize, Serialize};
11
12#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
13pub struct StoreShelf {
14 #[serde(rename = "highlightListing", skip_serializing_if = "Option::is_none")]
15 pub highlight_listing: Option<models::ProductListing>,
16 #[serde(rename = "highlightListingId", skip_serializing_if = "Option::is_none")]
17 pub highlight_listing_id: Option<String>,
18 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "listingIds")]
21 pub listing_ids: Vec<String>,
22 #[serde(rename = "listings", skip_serializing_if = "Option::is_none")]
23 pub listings: Option<Vec<models::ProductListing>>,
24 #[serde(rename = "shelfDescription")]
25 pub shelf_description: String,
26 #[serde(rename = "shelfLayout")]
27 pub shelf_layout: String,
28 #[serde(rename = "shelfTitle")]
29 pub shelf_title: String,
30 #[serde(rename = "updatedAt")]
31 pub updated_at: String,
32}
33
34impl StoreShelf {
35 pub fn new(
36 id: String,
37 listing_ids: Vec<String>,
38 shelf_description: String,
39 shelf_layout: String,
40 shelf_title: String,
41 updated_at: String,
42 ) -> StoreShelf {
43 StoreShelf {
44 highlight_listing: None,
45 highlight_listing_id: None,
46 id,
47 listing_ids,
48 listings: None,
49 shelf_description,
50 shelf_layout,
51 shelf_title,
52 updated_at,
53 }
54 }
55}