Merge remote-tracking branch 'origin/main' into livekit

This commit is contained in:
Zomatree
2025-06-02 02:11:51 +01:00
parent 48e0b48ea9
commit ea1c165d80
89 changed files with 1662 additions and 1651 deletions

View File

@@ -1,7 +1,8 @@
use iso8601_timestamp::Timestamp;
use revolt_models::v0::*;
use revolt_permissions::{calculate_user_permissions, UserPermission};
use crate::{util::permissions::DatabasePermissionQuery, Database, FileUsedFor};
use crate::{util::permissions::DatabasePermissionQuery, Database};
impl crate::Bot {
pub fn into_public_bot(self, user: crate::User) -> PublicBot {
@@ -496,7 +497,7 @@ impl crate::Message {
reactions: self.reactions,
interactions: self.interactions.into(),
masquerade: self.masquerade.map(Into::into),
flags: self.flags.map(|flags| flags as u32).unwrap_or_default(),
flags: self.flags.unwrap_or_default(),
pinned: self.pinned,
}
}
@@ -525,7 +526,7 @@ impl From<crate::PartialMessage> for PartialMessage {
reactions: value.reactions,
interactions: value.interactions.map(Into::into),
masquerade: value.masquerade.map(Into::into),
flags: value.flags.map(|flags| flags as u32),
flags: value.flags,
pinned: value.pinned,
}
}
@@ -606,6 +607,17 @@ impl From<Masquerade> for crate::Masquerade {
}
}
impl From<crate::PolicyChange> for PolicyChange {
fn from(value: crate::PolicyChange) -> Self {
PolicyChange {
created_time: value.created_time,
effective_time: value.effective_time,
description: value.description,
url: value.url,
}
}
}
impl From<crate::Report> for Report {
fn from(value: crate::Report) -> Self {
Report {
@@ -1209,6 +1221,7 @@ impl From<User> for crate::User {
privileged: value.privileged,
bot: value.bot.map(Into::into),
suspended_until: None,
last_acknowledged_policy_change: Timestamp::UNIX_EPOCH,
}
}
}

View File

@@ -87,7 +87,7 @@ impl<'z> BulkDatabasePermissionQuery<'z> {
}
}
pub fn channel(self, channel: &'z Channel) -> BulkDatabasePermissionQuery {
pub fn channel(self, channel: &'z Channel) -> BulkDatabasePermissionQuery<'z> {
BulkDatabasePermissionQuery {
channel: Some(channel.clone()),
..self
@@ -109,7 +109,7 @@ impl<'z> BulkDatabasePermissionQuery<'z> {
}
}
pub fn members(self, members: &'z [Member]) -> BulkDatabasePermissionQuery {
pub fn members(self, members: &'z [Member]) -> BulkDatabasePermissionQuery<'z> {
BulkDatabasePermissionQuery {
members: Some(members.to_owned()),
cached_member_perms: None,
@@ -120,7 +120,7 @@ impl<'z> BulkDatabasePermissionQuery<'z> {
}
}
pub fn users(self, users: &'z [User]) -> BulkDatabasePermissionQuery {
pub fn users(self, users: &'z [User]) -> BulkDatabasePermissionQuery<'z> {
BulkDatabasePermissionQuery {
users: Some(users.to_owned()),
cached_member_perms: None,

View File

@@ -308,16 +308,14 @@ impl PermissionQuery for DatabasePermissionQuery<'_> {
/// Are we a recipient of this channel?
async fn are_we_part_of_the_channel(&mut self) -> bool {
if let Some(channel) = &self.channel {
match channel {
Cow::Borrowed(Channel::DirectMessage { recipients, .. })
| Cow::Owned(Channel::DirectMessage { recipients, .. })
| Cow::Borrowed(Channel::Group { recipients, .. })
| Cow::Owned(Channel::Group { recipients, .. }) => {
recipients.contains(&self.perspective.id)
}
_ => false,
}
if let Some(
Cow::Borrowed(Channel::DirectMessage { recipients, .. })
| Cow::Owned(Channel::DirectMessage { recipients, .. })
| Cow::Borrowed(Channel::Group { recipients, .. })
| Cow::Owned(Channel::Group { recipients, .. }),
) = &self.channel
{
recipients.contains(&self.perspective.id)
} else {
false
}
@@ -424,7 +422,7 @@ impl<'a> DatabasePermissionQuery<'a> {
}
/// Use user
pub fn user(self, user: &'a User) -> DatabasePermissionQuery {
pub fn user(self, user: &'a User) -> DatabasePermissionQuery<'a> {
DatabasePermissionQuery {
user: Some(Cow::Borrowed(user)),
..self
@@ -432,7 +430,7 @@ impl<'a> DatabasePermissionQuery<'a> {
}
/// Use channel
pub fn channel(self, channel: &'a Channel) -> DatabasePermissionQuery {
pub fn channel(self, channel: &'a Channel) -> DatabasePermissionQuery<'a> {
DatabasePermissionQuery {
channel: Some(Cow::Borrowed(channel)),
..self
@@ -440,7 +438,7 @@ impl<'a> DatabasePermissionQuery<'a> {
}
/// Use server
pub fn server(self, server: &'a Server) -> DatabasePermissionQuery {
pub fn server(self, server: &'a Server) -> DatabasePermissionQuery<'a> {
DatabasePermissionQuery {
server: Some(Cow::Borrowed(server)),
..self
@@ -448,7 +446,7 @@ impl<'a> DatabasePermissionQuery<'a> {
}
/// Use member
pub fn member(self, member: &'a Member) -> DatabasePermissionQuery {
pub fn member(self, member: &'a Member) -> DatabasePermissionQuery<'a> {
DatabasePermissionQuery {
member: Some(Cow::Borrowed(member)),
..self