From edaa0ddb5123b2eb78d694b844bb7ad6cc13192d Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sat, 21 Oct 2023 18:28:28 +0200 Subject: [PATCH] add bulk permissions (#18) Co-authored-by: rootdarkarchon --- .../Dto/User/BulkPermissionsDto.cs | 7 +++ .../Dto/User/UserIndividualPairStatusDto.cs | 8 +++ .../Dto/User/UserPermissionsDto.cs | 3 -- MareSynchronosAPI/SignalR/IMareHub.cs | 49 +------------------ 4 files changed, 17 insertions(+), 50 deletions(-) create mode 100644 MareSynchronosAPI/Dto/User/BulkPermissionsDto.cs create mode 100644 MareSynchronosAPI/Dto/User/UserIndividualPairStatusDto.cs diff --git a/MareSynchronosAPI/Dto/User/BulkPermissionsDto.cs b/MareSynchronosAPI/Dto/User/BulkPermissionsDto.cs new file mode 100644 index 0000000..477c41a --- /dev/null +++ b/MareSynchronosAPI/Dto/User/BulkPermissionsDto.cs @@ -0,0 +1,7 @@ +using MareSynchronos.API.Data.Enum; +using MessagePack; + +namespace MareSynchronos.API.Dto.User; + +[MessagePackObject(keyAsPropertyName: true)] +public record BulkPermissionsDto(Dictionary AffectedUsers, Dictionary AffectedGroups); diff --git a/MareSynchronosAPI/Dto/User/UserIndividualPairStatusDto.cs b/MareSynchronosAPI/Dto/User/UserIndividualPairStatusDto.cs new file mode 100644 index 0000000..d301ef5 --- /dev/null +++ b/MareSynchronosAPI/Dto/User/UserIndividualPairStatusDto.cs @@ -0,0 +1,8 @@ +using MareSynchronos.API.Data; +using MareSynchronos.API.Data.Enum; +using MessagePack; + +namespace MareSynchronos.API.Dto.User; + +[MessagePackObject(keyAsPropertyName: true)] +public record UserIndividualPairStatusDto(UserData User, IndividualPairStatus IndividualPairStatus) : UserDto(User); \ No newline at end of file diff --git a/MareSynchronosAPI/Dto/User/UserPermissionsDto.cs b/MareSynchronosAPI/Dto/User/UserPermissionsDto.cs index a40cd36..d44af51 100644 --- a/MareSynchronosAPI/Dto/User/UserPermissionsDto.cs +++ b/MareSynchronosAPI/Dto/User/UserPermissionsDto.cs @@ -6,6 +6,3 @@ namespace MareSynchronos.API.Dto.User; [MessagePackObject(keyAsPropertyName: true)] public record UserPermissionsDto(UserData User, UserPermissions Permissions) : UserDto(User); - -[MessagePackObject(keyAsPropertyName: true)] -public record UserIndividualPairStatusDto(UserData User, IndividualPairStatus IndividualPairStatus) : UserDto(User); \ No newline at end of file diff --git a/MareSynchronosAPI/SignalR/IMareHub.cs b/MareSynchronosAPI/SignalR/IMareHub.cs index ad7e834..cf70645 100644 --- a/MareSynchronosAPI/SignalR/IMareHub.cs +++ b/MareSynchronosAPI/SignalR/IMareHub.cs @@ -7,107 +7,62 @@ namespace MareSynchronos.API.SignalR; public interface IMareHub { - const int ApiVersion = 27; + const int ApiVersion = 28; const string Path = "/mare"; Task CheckClientHealth(); Task Client_DownloadReady(Guid requestId); - Task Client_GroupChangePermissions(GroupPermissionDto groupPermission); - Task Client_GroupDelete(GroupDto groupDto); - Task Client_GroupPairChangeUserInfo(GroupPairUserInfoDto userInfo); - Task Client_GroupPairJoined(GroupPairFullInfoDto groupPairInfoDto); - Task Client_GroupPairLeft(GroupPairDto groupPairDto); - Task Client_GroupSendFullInfo(GroupFullInfoDto groupInfo); - Task Client_GroupSendInfo(GroupInfoDto groupInfo); - Task Client_ReceiveServerMessage(MessageSeverity messageSeverity, string message); - Task Client_UpdateSystemInfo(SystemInfoDto systemInfo); - Task Client_UserAddClientPair(UserPairDto dto); - Task Client_UserReceiveCharacterData(OnlineUserCharaDataDto dataDto); - Task Client_UserReceiveUploadStatus(UserDto dto); - Task Client_UserRemoveClientPair(UserDto dto); - Task Client_UserSendOffline(UserDto dto); - Task Client_UserSendOnline(OnlineUserIdentDto dto); - Task Client_UserUpdateOtherPairPermissions(UserPermissionsDto dto); - Task Client_UpdateUserIndividualPairStatusDto(UserIndividualPairStatusDto dto); - Task Client_UserUpdateProfile(UserDto dto); - Task Client_UserUpdateSelfPairPermissions(UserPermissionsDto dto); - Task Client_UserUpdateDefaultPermissions(DefaultPermissionsDto dto); Task Client_GroupChangeUserPairPermissions(GroupPairUserPermissionDto dto); Task GetConnectionDto(); Task GroupBanUser(GroupPairDto dto, string reason); - Task GroupChangeGroupPermissionState(GroupPermissionDto dto); - - Task GroupChangeIndividualPermissionState(GroupPairUserPermissionDto dto); - Task GroupChangeOwnership(GroupPairDto groupPair); - Task GroupChangePassword(GroupPasswordDto groupPassword); - Task GroupClear(GroupDto group); - Task GroupCreate(); - Task> GroupCreateTempInvite(GroupDto group, int amount); - Task GroupDelete(GroupDto group); - Task> GroupGetBannedUsers(GroupDto group); - Task GroupJoin(GroupPasswordDto passwordedGroup); Task GroupJoinFinalize(GroupJoinDto passwordedGroup); - Task GroupLeave(GroupDto group); - Task GroupRemoveUser(GroupPairDto groupPair); - Task GroupSetUserInfo(GroupPairUserInfoDto groupPair); - Task> GroupsGetAll(); - Task GroupUnbanUser(GroupPairDto groupPair); Task UserAddPair(UserDto user); - Task UserDelete(); - Task> UserGetOnlinePairs(); - Task> UserGetPairedClients(); - Task UserGetProfile(UserDto dto); - Task UserPushData(UserCharaDataMessageDto dto); - Task UserRemovePair(UserDto userDto); - Task UserReportProfile(UserProfileReportDto userDto); - - Task UserSetPairPermissions(UserPermissionsDto userPermissions); - Task UserSetProfile(UserProfileDto userDescription); Task UserUpdateDefaultPermissions(DefaultPermissionsDto defaultPermissionsDto); + Task SetBulkPermissions(BulkPermissionsDto dto); } \ No newline at end of file