Skip to content

Commit

Permalink
expose fields and funcs for community
Browse files Browse the repository at this point in the history
  • Loading branch information
Flemmli97 committed Dec 16, 2024
1 parent 3d5cbd3 commit c1c2d8b
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions warp/src/raygun/community.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use bytes::Bytes;
use chrono::{DateTime, Utc};
use futures::stream::BoxStream;
use indexmap::{IndexMap, IndexSet};
use macro_utils::{impl_funcs, VariantExport};
use serde::{Deserialize, Serialize};
use uuid::Uuid;

Expand All @@ -21,7 +22,7 @@ pub type CommunityRoles = IndexMap<RoleId, CommunityRole>;
pub type CommunityPermissions = IndexMap<CommunityPermission, IndexSet<RoleId>>;
pub type CommunityChannelPermissions = IndexMap<CommunityChannelPermission, IndexSet<RoleId>>;

#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq, VariantExport)]
pub struct CommunityRole {
id: RoleId,
name: String,
Expand Down Expand Up @@ -50,7 +51,7 @@ impl CommunityRole {
}
}

#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq, VariantExport)]
pub struct CommunityInvite {
id: Uuid,
target_user: Option<DID>,
Expand Down Expand Up @@ -86,7 +87,7 @@ impl CommunityInvite {
}
}

#[derive(Default, Debug, Clone, Serialize, Deserialize, Eq, PartialEq)]
#[derive(Default, Debug, Clone, Serialize, Deserialize, Eq, PartialEq, VariantExport)]
pub struct Community {
id: Uuid,
name: String,
Expand Down Expand Up @@ -171,7 +172,7 @@ impl Community {
}
}

#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[derive(Default, Debug, Clone, Serialize, Deserialize, PartialEq, Eq, VariantExport)]
pub struct CommunityChannel {
id: Uuid,
name: String,
Expand Down Expand Up @@ -229,15 +230,15 @@ impl CommunityChannel {
}
}

#[derive(Default, Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[derive(Default, Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq, VariantExport)]
#[serde(rename_all = "snake_case")]
pub enum CommunityChannelType {
#[default]
Standard,
VoiceEnabled,
}

#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash, VariantExport)]
#[serde(rename_all = "snake_case")]
pub enum CommunityPermission {
EditName,
Expand Down Expand Up @@ -269,14 +270,15 @@ pub enum CommunityPermission {
PinMessages,
}

#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq, Hash, VariantExport)]
#[serde(rename_all = "snake_case")]
pub enum CommunityChannelPermission {
ViewChannel,
SendMessages,
SendAttachments,
}

#[impl_funcs(name = "raygun_community_impls")]
#[async_trait::async_trait]
pub trait RayGunCommunity: Sync + Send {
async fn get_community_stream(
Expand Down

0 comments on commit c1c2d8b

Please sign in to comment.