From b1d7ee5b347e9e06b5b359bffca1e9eb6d77b245 Mon Sep 17 00:00:00 2001 From: cake Date: Fri, 5 Dec 2025 22:01:48 +0100 Subject: [PATCH] Auto-pruning of syncshell, added metrics for pruning, return of count of users in fullgroupdto. --- LightlessSyncAPI/Dto/Group/GroupFullInfoDto.cs | 3 ++- LightlessSyncAPI/Dto/Group/GroupPruneSettingsDto.cs | 6 ++++++ LightlessSyncAPI/SignalR/ILightlessHub.cs | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 LightlessSyncAPI/Dto/Group/GroupPruneSettingsDto.cs diff --git a/LightlessSyncAPI/Dto/Group/GroupFullInfoDto.cs b/LightlessSyncAPI/Dto/Group/GroupFullInfoDto.cs index 46ad2f6..52516c4 100644 --- a/LightlessSyncAPI/Dto/Group/GroupFullInfoDto.cs +++ b/LightlessSyncAPI/Dto/Group/GroupFullInfoDto.cs @@ -7,8 +7,9 @@ namespace LightlessSync.API.Dto.Group; [MessagePackObject(keyAsPropertyName: true)] public record GroupFullInfoDto(GroupData Group, UserData Owner, GroupPermissions GroupPermissions, GroupUserPreferredPermissions GroupUserPermissions, GroupPairUserInfo GroupUserInfo, - Dictionary GroupPairUserInfos) : GroupInfoDto(Group, Owner, GroupPermissions) + Dictionary GroupPairUserInfos, int GroupUserCount) : GroupInfoDto(Group, Owner, GroupPermissions) { public GroupUserPreferredPermissions GroupUserPermissions { get; set; } = GroupUserPermissions; public GroupPairUserInfo GroupUserInfo { get; set; } = GroupUserInfo; + public int GroupUserCount { get; set; } = GroupUserCount; } \ No newline at end of file diff --git a/LightlessSyncAPI/Dto/Group/GroupPruneSettingsDto.cs b/LightlessSyncAPI/Dto/Group/GroupPruneSettingsDto.cs new file mode 100644 index 0000000..6760c43 --- /dev/null +++ b/LightlessSyncAPI/Dto/Group/GroupPruneSettingsDto.cs @@ -0,0 +1,6 @@ +using LightlessSync.API.Data; + +namespace LightlessSync.API.Dto.Group +{ + public record GroupPruneSettingsDto(GroupData Group, bool AutoPruneEnabled, int AutoPruneDays); +} diff --git a/LightlessSyncAPI/SignalR/ILightlessHub.cs b/LightlessSyncAPI/SignalR/ILightlessHub.cs index 1a2363f..9c05317 100644 --- a/LightlessSyncAPI/SignalR/ILightlessHub.cs +++ b/LightlessSyncAPI/SignalR/ILightlessHub.cs @@ -68,6 +68,8 @@ public interface ILightlessHub Task GroupGetProfile(GroupDto dto); Task GroupSetProfile(GroupProfileDto dto); Task GroupSetUserInfo(GroupPairUserInfoDto groupPair); + Task GroupGetPruneSettings(GroupDto dto); + Task GroupSetPruneSettings(GroupPruneSettingsDto dto); Task> GroupsGetAll(); Task GroupUnbanUser(GroupPairDto groupPair); Task GroupPrune(GroupDto group, int days, bool execute);