Skip to content
Clone
163952e
142 lines 3.3 KB Rust
use sea_orm::entity::prelude::*;
use serde::{Deserialize, Serialize};
use utoipa::ToSchema;
pub mod organization_invite_redemptions;
pub mod organization_invites;
pub mod organization_join_requests;
pub mod organization_join_rules;
pub mod organization_member_permissions;
pub mod organization_member_roles;
pub mod organization_members;
pub mod organization_role_permissions;
pub mod organization_roles;
pub mod organizations;
pub mod space_bans;
pub mod space_extras;
pub mod space_group_permissions;
pub mod space_groups;
pub mod space_invite;
pub mod space_invite_groups;
pub mod space_join_request;
pub mod space_join_rule;
pub mod space_member_extras;
pub mod space_member_groups;
pub mod space_members;
pub mod space_warn;
pub mod spaces;
pub use spaces::*;
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
pub enum OrganizationStatus {
Active,
Suspended,
Archived,
}
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
pub enum OrgMemberRole {
Member,
Admin,
Owner,
}
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
pub enum OrgJoinMethod {
Direct,
InviteLink,
InviteTargeted,
InviteEmail,
}
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
pub enum PermissionEffect {
Allow,
Deny,
}
/// 会籍的通知偏好,对应旧 `space_members.message_notifications`。
/// 旧表用 0/1/2 存,这里用字符串存,便于跨服务读写时直接透传。
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
pub enum MessageNotifications {
All,
Mentions,
Nothing,
}
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
#[derive(Default)]
pub enum OrganizationJoinPolicy {
Open,
Approval,
#[default]
InviteOnly,
Private,
}
#[derive(
Clone, Copy, Debug, PartialEq, Eq, EnumIter, DeriveActiveEnum, Serialize, Deserialize, ToSchema,
)]
#[serde(rename_all = "snake_case")]
#[sea_orm(
rs_type = "String",
db_type = "String(StringLen::N(16))",
rename_all = "snake_case"
)]
#[derive(Default)]
pub enum OrganizationJoinRequestStatus {
#[default]
Pending,
Approved,
Rejected,
Withdrawn,
}