backend/model/enum/
track.rs

1//! [`Track`] enum.
2
3use diesel_derive_enum::DbEnum;
4use serde::{Deserialize, Serialize};
5use typeshare::typeshare;
6use utoipa::ToSchema;
7
8/// Enum containing all possible Blossom tracks.
9#[typeshare]
10#[derive(Serialize, Deserialize, DbEnum, Debug, ToSchema)]
11#[ExistingTypePath = "crate::schema::sql_types::Track"]
12pub enum Track {
13    /// Track for Blossoms aimed at new users.
14    #[serde(rename = "beginner")]
15    #[db_rename = "beginner"]
16    Beginner,
17    /// Track for Blossoms aimed to be repeated every season.
18    #[serde(rename = "seasonal")]
19    #[db_rename = "seasonal"]
20    Seasonal,
21    /// Track for Blossoms aimed at users that want to do everything `PermaplanT` has to offer.
22    #[serde(rename = "completionist")]
23    #[db_rename = "completionist"]
24    Completionist,
25    /// Track for Blossoms aimed at user that want to prove their expertise by helping others.
26    #[serde(rename = "expert")]
27    #[db_rename = "expert"]
28    Expert,
29}