diff --git a/LightlessSyncAPI/Data/GroupData.cs b/LightlessSyncAPI/Data/GroupData.cs index a8ccca2..6fc07ba 100644 --- a/LightlessSyncAPI/Data/GroupData.cs +++ b/LightlessSyncAPI/Data/GroupData.cs @@ -3,8 +3,8 @@ namespace LightlessSync.API.Data; [MessagePackObject(keyAsPropertyName: true)] -public record GroupData(string GID, string? Alias = null) +public record GroupData(string GID, string? Alias = null, DateTime? CreatedAt = null) { [IgnoreMember] - public string AliasOrGID => string.IsNullOrWhiteSpace(Alias) ? GID : Alias; + public string AliasOrGID => Alias ?? GID; } \ No newline at end of file diff --git a/LightlessSyncAPI/Dto/Group/GroupJoinDto.cs b/LightlessSyncAPI/Dto/Group/GroupJoinDto.cs index 43c1c74..2bb89fd 100644 --- a/LightlessSyncAPI/Dto/Group/GroupJoinDto.cs +++ b/LightlessSyncAPI/Dto/Group/GroupJoinDto.cs @@ -8,4 +8,4 @@ namespace LightlessSync.API.Dto.Group; public record GroupPasswordDto(GroupData Group, string Password) : GroupDto(Group); [MessagePackObject(keyAsPropertyName: true)] -public record GroupJoinDto(GroupData Group, string Password, GroupUserPreferredPermissions GroupUserPreferredPermissions) : GroupPasswordDto(Group, Password); \ No newline at end of file +public record GroupJoinDto(GroupData Group, string Password, GroupUserPreferredPermissions GroupUserPreferredPermissions, bool Finder = false) : GroupPasswordDto(Group, Password); \ No newline at end of file diff --git a/LightlessSyncAPI/Dto/Group/GroupPairDto.cs b/LightlessSyncAPI/Dto/Group/GroupPairDto.cs index e1f4ef0..100e2b9 100644 --- a/LightlessSyncAPI/Dto/Group/GroupPairDto.cs +++ b/LightlessSyncAPI/Dto/Group/GroupPairDto.cs @@ -9,4 +9,5 @@ public record GroupPairDto(GroupData Group, UserData User) : GroupDto(Group) public string UID => User.UID; public string? UserAlias => User.Alias; public string UserAliasOrUID => User.AliasOrUID; + } \ No newline at end of file diff --git a/LightlessSyncAPI/Dto/Group/GroupProfileDto.cs b/LightlessSyncAPI/Dto/Group/GroupProfileDto.cs new file mode 100644 index 0000000..03d2b7c --- /dev/null +++ b/LightlessSyncAPI/Dto/Group/GroupProfileDto.cs @@ -0,0 +1,6 @@ +using LightlessSync.API.Data; + +namespace LightlessSync.API.Dto.Group +{ + public record GroupProfileDto(GroupData Group, string? Description, string? Tags, string? PictureBase64) : GroupDto(Group); +} diff --git a/LightlessSyncAPI/SignalR/ILightlessHub.cs b/LightlessSyncAPI/SignalR/ILightlessHub.cs index e8b2522..c6cdd48 100644 --- a/LightlessSyncAPI/SignalR/ILightlessHub.cs +++ b/LightlessSyncAPI/SignalR/ILightlessHub.cs @@ -21,6 +21,7 @@ public interface ILightlessHub Task Client_GroupPairJoined(GroupPairFullInfoDto groupPairInfoDto); Task Client_GroupPairLeft(GroupPairDto groupPairDto); Task Client_GroupSendFullInfo(GroupFullInfoDto groupInfo); + Task Client_GroupSendProfile (GroupProfileDto groupInfo); Task Client_GroupSendInfo(GroupInfoDto groupInfo); Task Client_ReceiveServerMessage(MessageSeverity messageSeverity, string message); Task Client_UpdateSystemInfo(SystemInfoDto systemInfo); @@ -58,6 +59,8 @@ public interface ILightlessHub Task GroupJoinHashed(GroupJoinHashedDto dto); Task GroupLeave(GroupDto group); Task GroupRemoveUser(GroupPairDto groupPair); + Task GroupGetProfile(GroupDto dto); + Task GroupSetProfile(GroupProfileDto dto); Task GroupSetUserInfo(GroupPairUserInfoDto groupPair); Task> GroupsGetAll(); Task GroupUnbanUser(GroupPairDto groupPair);