use sea_orm::entity::prelude::*;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)")]
#[serde(rename_all = "snake_case")]
pub enum IdentityKind {
#[sea_orm(string_value = "Human")]
Human,
#[sea_orm(string_value = "Agent")]
Agent,
}
impl IdentityKind {
pub fn as_str(self) -> &'static str {
match self {
Self::Human => "Human",
Self::Agent => "Agent",
}
}
}
impl std::fmt::Display for IdentityKind {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)")]
#[serde(rename_all = "snake_case")]
pub enum ReviewKind {
#[sea_orm(string_value = "Local")]
Local,
#[sea_orm(string_value = "ForgeBacked")]
ForgeBacked,
}
impl ReviewKind {
pub fn as_str(self) -> &'static str {
match self {
Self::Local => "Local",
Self::ForgeBacked => "ForgeBacked",
}
}
}
impl std::fmt::Display for ReviewKind {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)")]
#[serde(rename_all = "snake_case")]
pub enum ReviewStatus {
#[sea_orm(string_value = "Open")]
Open,
#[sea_orm(string_value = "Closed")]
Closed,
#[sea_orm(string_value = "Merged")]
Merged,
}
impl ReviewStatus {
pub fn as_str(self) -> &'static str {
match self {
Self::Open => "Open",
Self::Closed => "Closed",
Self::Merged => "Merged",
}
}
}
impl std::fmt::Display for ReviewStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)")]
#[serde(rename_all = "snake_case")]
pub enum SessionState {
#[sea_orm(string_value = "Draft")]
Draft,
#[sea_orm(string_value = "Published")]
Published,
}
impl SessionState {
pub fn as_str(self) -> &'static str {
match self {
Self::Draft => "Draft",
Self::Published => "Published",
}
}
}
impl std::fmt::Display for SessionState {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(self.as_str())
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize)]
#[sea_orm(rs_type = "String", db_type = "String(StringLen::None)")]
#[serde(rename_all = "snake_case")]
pub enum ReviewOutcome {
#[sea_orm(string_value = "Comment")]
Comment,
#[sea_orm(string_value = "Reject")]
Reject,
#[sea_orm(string_value = "Approve")]
Approve,
#[sea_orm(string_value = "Request")]
Request,
}
impl ReviewOutcome {
pub fn as_str(self) -> &'static str {
match self {
Self::Comment => "Comment",
Self::Reject => "Reject",
Self::Approve => "Approve",
Self::Request => "Request",
}
}
}
impl std::fmt::Display for ReviewOutcome {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(self.as_str())
}
}