vlr_scraper/model/
event.rs1use serde::{Deserialize, Serialize};
2use strum_macros::EnumString;
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
6pub enum EventType {
7 Upcoming,
8 Completed,
9}
10
11#[derive(Debug, Clone, Serialize)]
13pub struct EventsData {
14 pub events: Vec<Event>,
15 pub page: u8,
16 pub total_pages: u8,
17}
18
19#[derive(Debug, Clone, Serialize)]
21pub struct Event {
22 pub status: EventStatus,
23 pub region: String,
24 pub id: u32,
25 pub title: String,
26 pub slug: String,
27 pub href: String,
28 pub icon_url: String,
29 pub price: String,
30 pub dates: String,
31}
32
33#[derive(
35 Debug, Default, Clone, Serialize, EnumString, strum_macros::Display, strum_macros::FromRepr,
36)]
37#[strum(serialize_all = "lowercase")]
38pub enum EventStatus {
39 Completed,
40 Ongoing,
41 Upcoming,
42 #[default]
43 #[strum(disabled)]
44 Unknown,
45}
46
47#[derive(Debug, Clone, strum_macros::Display)]
49#[strum(serialize_all = "kebab-case")]
50pub enum Region {
51 All,
52 NorthAmerica,
53 Europe,
54 Brazil,
55 AsiaPacific,
56 Korea,
57 Japan,
58 LatinAmerica,
59 Oceania,
60 MiddleEastNorthAfrica,
61 GameChangers,
62 Collegiate,
63}