Skip to content
Clone

feat(lib/models): add space join rule and issue relation label entities

ZhenYi committed
parent 8016fdc commit cc3968f Browse files

5 files changed

+59 −0

File tree 5
Modified lib/models/src/issue/issue_member.rs View lib/models/src/issue/issue_member.rs
@@ -34,8 +34,11 @@
3434pub struct Model {
3535 #[sea_orm(primary_key, auto_increment = false)]
3636 pub id: Uuid,
37 #[sea_orm(unique_key = "issue_user_kind")]
3738 pub issue_id: Uuid,
39 #[sea_orm(unique_key = "issue_user_kind")]
3840 pub user_id: Uuid,
41 #[sea_orm(unique_key = "issue_user_kind")]
3942 pub kind: IssueMemberKind,
4043 pub created_at: OffsetDateTime,
4144 pub updated_at: Option<OffsetDateTime>,
Modified lib/models/src/issue/issue_relation_label.rs View lib/models/src/issue/issue_relation_label.rs
@@ -8,7 +8,9 @@
88pub struct Model {
99 #[sea_orm(primary_key, auto_increment = false)]
1010 pub id: Uuid,
11 #[sea_orm(unique_key = "issue_label")]
1112 pub issue_id: Uuid,
13 #[sea_orm(unique_key = "issue_label")]
1214 pub label_id: Uuid,
1315 pub created_at: OffsetDateTime,
1416 #[sea_orm(belongs_to, from = "issue_id", to = "id")]
Modified lib/models/src/space/mod.rs View lib/models/src/space/mod.rs
@@ -3,6 +3,7 @@
33pub mod space_groups;
44pub mod space_invite;
55pub mod space_invite_groups;
6pub mod space_join_rule;
67pub mod space_member_groups;
78pub mod space_members;
89pub mod space_warn;
Added lib/models/src/space/space_join_rule.rs View lib/models/src/space/space_join_rule.rs
@@ -0,0 +1,51 @@
1use sea_orm::entity::prelude::*;
2use serde::{Deserialize, Serialize};
3use time::OffsetDateTime;
4use uuid::Uuid;
5
6#[derive(
7 Debug,
8 Clone,
9 Copy,
10 PartialEq,
11 Eq,
12 Default,
13 EnumIter,
14 DeriveActiveEnum,
15 Serialize,
16 Deserialize,
17 utoipa::ToSchema,
18)]
19#[serde(rename_all = "snake_case")]
20#[sea_orm(rs_type = "String", db_type = "String(StringLen::N(32))")]
21pub enum SpaceJoinTrigger {
22 #[default]
23 #[sea_orm(string_value = "issue_reaction")]
24 IssueReaction,
25 #[sea_orm(string_value = "issue_comment_reaction")]
26 IssueCommentReaction,
27}
28
29#[sea_orm::model]
30#[derive(Clone, Debug, PartialEq, Eq, DeriveEntityModel)]
31#[sea_orm(table_name = "space_join_rule")]
32pub struct Model {
33 #[sea_orm(primary_key, auto_increment = false)]
34 pub id: Uuid,
35 #[sea_orm(unique_key = "space_group_trigger_matcher")]
36 pub space_id: Uuid,
37 #[sea_orm(unique_key = "space_group_trigger_matcher")]
38 pub group_id: Uuid,
39 #[sea_orm(unique_key = "space_group_trigger_matcher")]
40 pub trigger: SpaceJoinTrigger,
41 #[sea_orm(unique_key = "space_group_trigger_matcher")]
42 pub matcher: String,
43 #[sea_orm(default_value = "true")]
44 pub enabled: bool,
45 pub created_at: OffsetDateTime,
46 pub updated_at: Option<OffsetDateTime>,
47 #[sea_orm(belongs_to, from = "space_id", to = "id")]
48 pub space: BelongsTo<super::spaces::Entity>,
49}
50
51impl ActiveModelBehavior for ActiveModel {}
Modified lib/models/src/users/user_email_verification_codes.rs View lib/models/src/users/user_email_verification_codes.rs
@@ -21,6 +21,8 @@
2121 Signup,
2222 #[sea_orm(string_value = "password_reset")]
2323 PasswordReset,
24 #[sea_orm(string_value = "add_email")]
25 AddEmail,
2426}
2527
2628#[sea_orm::model]