8 Commits

6 changed files with 42 additions and 35 deletions

View File

@@ -8,4 +8,5 @@ public enum GroupPermissions
PreferDisableSounds = 0x2,
DisableInvites = 0x4,
PreferDisableVFX = 0x8,
DisableChat = 0x10,
}

View File

@@ -24,6 +24,11 @@ public static class GroupPermissionsExtensions
return perm.HasFlag(GroupPermissions.PreferDisableVFX);
}
public static bool IsDisableChat(this GroupPermissions perm)
{
return perm.HasFlag(GroupPermissions.DisableChat);
}
public static void SetDisableInvites(this ref GroupPermissions perm, bool set)
{
if (set) perm |= GroupPermissions.DisableInvites;
@@ -47,4 +52,10 @@ public static class GroupPermissionsExtensions
if (set) perm |= GroupPermissions.PreferDisableVFX;
else perm &= ~GroupPermissions.PreferDisableVFX;
}
public static void SetDisableChat(this ref GroupPermissions perm, bool set)
{
if (set) perm |= GroupPermissions.DisableChat;
else perm &= ~GroupPermissions.DisableChat;
}
}

View File

@@ -61,15 +61,10 @@ public readonly record struct ChatReportSubmitDto(
string? AdditionalContext);
[MessagePackObject(keyAsPropertyName: true)]
public readonly record struct ChatParticipantResolveRequestDto(
public readonly record struct ChatParticipantMuteRequestDto(
ChatChannelDescriptor Channel,
string Token);
[MessagePackObject(keyAsPropertyName: true)]
public readonly record struct ChatParticipantResolveResultDto(
ChatChannelDescriptor Channel,
ChatSenderDescriptor Sender,
UserProfileDto? Profile);
string Token,
bool Mute);
[MessagePackObject(keyAsPropertyName: true)]
public readonly record struct ZoneChatChannelInfoDto(

View File

@@ -4,4 +4,4 @@ using MessagePack;
namespace LightlessSync.API.Dto.Group;
[MessagePackObject(keyAsPropertyName: true)]
public record GroupPruneSettingsDto(GroupData Group, bool AutoPruneEnabled, int AutoPruneDays) : GroupDto(Group);
public record GroupPruneSettingsDto(GroupData Group, bool AutoPruneEnabled, int AutoPruneDays);

View File

@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

View File

@@ -10,7 +10,7 @@ namespace LightlessSync.API.SignalR;
public interface ILightlessHub
{
const int ApiVersion = 34;
const int ApiVersion = 35;
const string Path = "/lightless";
Task<bool> CheckClientHealth();
@@ -114,5 +114,5 @@ public interface ILightlessHub
Task UpdateChatPresence(ChatPresenceUpdateDto presence);
Task SendChatMessage(ChatSendRequestDto request);
Task ReportChatMessage(ChatReportSubmitDto request);
Task<ChatParticipantResolveResultDto?> ResolveChatParticipant(ChatParticipantResolveRequestDto request);
Task SetChatParticipantMute(ChatParticipantMuteRequestDto request);
}