Merge pull request 'API Group changes' (#5) from api-groups-changes into 1.12.0-server

Reviewed-on: #5
This commit was merged in pull request #5.
This commit is contained in:
2025-09-25 17:54:26 +02:00
5 changed files with 13 additions and 3 deletions

View File

@@ -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;
}

View File

@@ -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);
public record GroupJoinDto(GroupData Group, string Password, GroupUserPreferredPermissions GroupUserPreferredPermissions, bool Finder = false) : GroupPasswordDto(Group, Password);

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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<GroupJoinInfoDto> GroupJoinHashed(GroupJoinHashedDto dto);
Task GroupLeave(GroupDto group);
Task GroupRemoveUser(GroupPairDto groupPair);
Task<GroupProfileDto> GroupGetProfile(GroupDto dto);
Task GroupSetProfile(GroupProfileDto dto);
Task GroupSetUserInfo(GroupPairUserInfoDto groupPair);
Task<List<GroupFullInfoDto>> GroupsGetAll();
Task GroupUnbanUser(GroupPairDto groupPair);