diff --git a/LightlessSyncAPI/Data/Enum/GroupUserPreferredPermissions.cs b/LightlessSyncAPI/Data/Enum/GroupUserPreferredPermissions.cs index 0924b83..cf0b448 100644 --- a/LightlessSyncAPI/Data/Enum/GroupUserPreferredPermissions.cs +++ b/LightlessSyncAPI/Data/Enum/GroupUserPreferredPermissions.cs @@ -8,5 +8,4 @@ public enum GroupUserPreferredPermissions DisableAnimations = 0x2, DisableSounds = 0x4, DisableVFX = 0x8, - ShareLocation = 0x10, } \ No newline at end of file diff --git a/LightlessSyncAPI/Data/Enum/UserPermissions.cs b/LightlessSyncAPI/Data/Enum/UserPermissions.cs index 6e2f0c0..7f92d42 100644 --- a/LightlessSyncAPI/Data/Enum/UserPermissions.cs +++ b/LightlessSyncAPI/Data/Enum/UserPermissions.cs @@ -9,5 +9,5 @@ public enum UserPermissions DisableSounds = 4, DisableVFX = 8, Sticky = 16, - ShareLocation = 32 + ShareLocation = 32, } \ No newline at end of file diff --git a/LightlessSyncAPI/Data/Extensions/GroupUserPermissionsExtensions.cs b/LightlessSyncAPI/Data/Extensions/GroupUserPermissionsExtensions.cs index a16fae0..f55f1cd 100644 --- a/LightlessSyncAPI/Data/Extensions/GroupUserPermissionsExtensions.cs +++ b/LightlessSyncAPI/Data/Extensions/GroupUserPermissionsExtensions.cs @@ -23,11 +23,6 @@ public static class GroupUserPermissionsExtensions { return perm.HasFlag(GroupUserPreferredPermissions.Paused); } - - public static bool IsSharingLocation(this GroupUserPreferredPermissions perm) - { - return perm.HasFlag(GroupUserPreferredPermissions.ShareLocation); - } public static void SetDisableAnimations(this ref GroupUserPreferredPermissions perm, bool set) { @@ -52,10 +47,4 @@ public static class GroupUserPermissionsExtensions if (set) perm |= GroupUserPreferredPermissions.Paused; else perm &= ~GroupUserPreferredPermissions.Paused; } - - public static void SetShareLocation(this ref GroupUserPreferredPermissions perm, bool set) - { - if (set) perm |= GroupUserPreferredPermissions.ShareLocation; - else perm &= ~GroupUserPreferredPermissions.ShareLocation; - } } \ No newline at end of file diff --git a/LightlessSyncAPI/Dto/User/LocationDto.cs b/LightlessSyncAPI/Dto/User/LocationDto.cs index 0b70b26..9746297 100644 --- a/LightlessSyncAPI/Dto/User/LocationDto.cs +++ b/LightlessSyncAPI/Dto/User/LocationDto.cs @@ -6,4 +6,4 @@ namespace LightlessSync.API.Dto.User; [MessagePackObject(keyAsPropertyName: true)] -public record LocationDto(UserData user, LocationInfo location); \ No newline at end of file +public record LocationDto(UserData User, LocationInfo Location); \ No newline at end of file diff --git a/LightlessSyncAPI/Dto/User/LocationSharingToggleDto.cs b/LightlessSyncAPI/Dto/User/LocationSharingToggleDto.cs new file mode 100644 index 0000000..0240bb5 --- /dev/null +++ b/LightlessSyncAPI/Dto/User/LocationSharingToggleDto.cs @@ -0,0 +1,6 @@ +using MessagePack; + +namespace LightlessSync.API.Dto.User; + +[MessagePackObject(keyAsPropertyName: true)] +public record LocationSharingToggleDto(List users, DateTimeOffset duration); \ No newline at end of file diff --git a/LightlessSyncAPI/SignalR/ILightlessHub.cs b/LightlessSyncAPI/SignalR/ILightlessHub.cs index 70ce047..ed00af4 100644 --- a/LightlessSyncAPI/SignalR/ILightlessHub.cs +++ b/LightlessSyncAPI/SignalR/ILightlessHub.cs @@ -45,7 +45,7 @@ public interface ILightlessHub Task Client_GposeLobbyPushPoseData(UserData userData, PoseData poseData); Task Client_GposeLobbyPushWorldData(UserData userData, WorldData worldData); Task Client_ChatReceive(ChatMessageDto message); - Task Client_SendLocationToClient(LocationDto locationDto); + Task Client_SendLocationToClient(LocationDto locationDto, DateTimeOffset expireAt); Task GetConnectionDto(); Task> GetZoneChatChannels(); @@ -119,5 +119,6 @@ public interface ILightlessHub Task UpdateLocation(LocationDto locationDto, bool offline); Task> RequestAllLocationInfo(); + Task ToggleLocationSharing(LocationSharingToggleDto dto); }