backend/model/enum/
membership.rs

1//! [`Membership`] enum.
2
3use diesel_derive_enum::DbEnum;
4use serde::{Deserialize, Serialize};
5use typeshare::typeshare;
6use utoipa::ToSchema;
7
8/// Enum containing all possible membership types.
9#[typeshare]
10#[derive(Serialize, Deserialize, DbEnum, Debug, ToSchema)]
11#[ExistingTypePath = "crate::schema::sql_types::Membership"]
12pub enum Membership {
13    /// Membership type for supporting `PermaplanT` financially.
14    #[serde(rename = "supporting")]
15    #[db_rename = "supporting"]
16    Supporting,
17    /// Membership type for regular `PermaplanT` membership.
18    #[serde(rename = "regular")]
19    #[db_rename = "regular"]
20    Regular,
21    /// Membership type for enjoying `PermaplanT` by helping others.
22    #[serde(rename = "contributing")]
23    #[db_rename = "contributing"]
24    Contributing,
25}