Added changes for the API to support profiles
This commit is contained in:
@@ -3,8 +3,17 @@
|
||||
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, string? Description = null, string? Tags = null, string? Avatar = null)
|
||||
{
|
||||
[IgnoreMember]
|
||||
public string AliasOrGID => string.IsNullOrWhiteSpace(Alias) ? GID : Alias;
|
||||
[IgnoreMember]
|
||||
public DateTime? CreatedAt { get; set; } = CreatedAt;
|
||||
[IgnoreMember]
|
||||
public string? Description { get; set; } = Description;
|
||||
[IgnoreMember]
|
||||
public string? Tags { get; set; } = Tags;
|
||||
[IgnoreMember]
|
||||
public string? Avatar { get; set; } = Avatar;
|
||||
|
||||
}
|
||||
@@ -6,9 +6,10 @@ namespace LightlessSync.API.Dto.Group;
|
||||
|
||||
[MessagePackObject(keyAsPropertyName: true)]
|
||||
public record GroupFullInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions,
|
||||
GroupUserPreferredPermissions GroupUserPermissions, GroupPairUserInfo GroupUserInfo,
|
||||
GroupUserPreferredPermissions GroupUserPermissions, GroupPairUserInfo GroupUserInfo, DateTime? GroupUserJoinedAt,
|
||||
Dictionary<string, GroupPairUserInfo> GroupPairUserInfos) : GroupInfoDto(Group, Owner, GroupPermissions)
|
||||
{
|
||||
public GroupUserPreferredPermissions GroupUserPermissions { get; set; } = GroupUserPermissions;
|
||||
public GroupPairUserInfo GroupUserInfo { get; set; } = GroupUserInfo;
|
||||
public DateTime? GroupUserJoinedAt { get; set; } = GroupUserJoinedAt;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
6
LightlessSyncAPI/Dto/Group/GroupProfileDto.cs
Normal file
6
LightlessSyncAPI/Dto/Group/GroupProfileDto.cs
Normal 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);
|
||||
}
|
||||
@@ -57,6 +57,7 @@ public interface ILightlessHub
|
||||
Task<bool> GroupJoinFinalize(GroupJoinDto passwordedGroup);
|
||||
Task GroupLeave(GroupDto group);
|
||||
Task GroupRemoveUser(GroupPairDto groupPair);
|
||||
Task GroupSetProfile(GroupProfileDto dto);
|
||||
Task GroupSetUserInfo(GroupPairUserInfoDto groupPair);
|
||||
Task<List<GroupFullInfoDto>> GroupsGetAll();
|
||||
Task GroupUnbanUser(GroupPairDto groupPair);
|
||||
|
||||
Reference in New Issue
Block a user