From aaa48b820461c46076cd639d82d57894999652c1 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Sat, 8 Oct 2022 14:33:14 +0200 Subject: [PATCH] Convert to strong SignalR API (#4) * change to strong api * actually up api version * add action to imarehubclient where missing * some api update --- MareSynchronosAPI/API.cs | 68 ----------------------------- MareSynchronosAPI/IMareHub.cs | 80 +++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 68 deletions(-) delete mode 100644 MareSynchronosAPI/API.cs create mode 100644 MareSynchronosAPI/IMareHub.cs diff --git a/MareSynchronosAPI/API.cs b/MareSynchronosAPI/API.cs deleted file mode 100644 index cf133bc..0000000 --- a/MareSynchronosAPI/API.cs +++ /dev/null @@ -1,68 +0,0 @@ -namespace MareSynchronos.API -{ - public class Api - { - public const int Version = 15; - public const string Path = "/mare"; - - public const string SendFileAbortUpload = "AbortUpload"; - public const string InvokeFileSendFiles = "SendFiles"; - public const string InvokeFileIsUploadFinished = "IsUploadFinished"; - public const string SendFileUploadFileStreamAsync = "UploadFileStreamAsync"; - public const string InvokeGetFilesSizes = "GetFilesSizes"; - public const string SendFileDeleteAllFiles = "DeleteAllFiles"; - public const string InvokeCheckClientHealth = "CheckClientHealth"; - - public const string InvokeHeartbeat = "Heartbeat"; - public const string OnUpdateSystemInfo = "OnUpdateSystemInfo"; - - public const string InvokeAdminGetOnlineUsers = "AdminGetOnlineUsers"; - public const string InvokeAdminGetBannedUsers = "GetBannedUsers"; - public const string SendAdminUpdateOrAddBannedUser = "UpdateOrAddBannedUser"; - public const string SendAdminDeleteBannedUser = "DeleteBannedUser"; - public const string InvokeAdminGetForbiddenFiles = "GetForbiddenFiles"; - public const string SendAdminUpdateOrAddForbiddenFile = "UpdateOrAddForbiddenFile"; - public const string SendAdminDeleteForbiddenFile = "DeleteForbiddenFile"; - public const string SendAdminChangeModeratorStatus = "ChangeModeratorStatus"; - - public const string OnAdminForcedReconnect = "OnForcedReconnect"; - public const string OnAdminUpdateOrAddBannedUser = "OnUpdateOrAddBannedUser"; - public const string OnAdminDeleteBannedUser = "OnDeleteBannedUser"; - public const string OnAdminUpdateOrAddForbiddenFile = "OnUpdateOrAddForbiddenFile"; - public const string OnAdminDeleteForbiddenFile = "OnDeleteForbiddenFile"; - - public const string InvokeUserPushCharacterDataToVisibleClients = "PushCharacterDataToVisibleClients"; - public const string InvokeUserGetOnlineCharacters = "GetOnlineCharacters"; - public const string SendUserPairedClientAddition = "SendPairedClientAddition"; - public const string SendUserPairedClientRemoval = "SendPairedClientRemoval"; - public const string SendUserPairedClientPauseChange = "SendPairedClientPauseChange"; - public const string InvokeUserGetPairedClients = "GetPairedClients"; - public const string SendUserDeleteAccount = "DeleteAccount"; - - public const string OnUserUpdateClientPairs = "UpdateClientPairs"; - public const string OnUserReceiveCharacterData = "ReceiveCharacterData"; - public const string OnUserRemoveOnlinePairedPlayer = "RemoveOnlinePairedPlayer"; - public const string OnUserAddOnlinePairedPlayer = "AddOnlinePairedPlayer"; - - public const string InvokeGroupChangePassword = "GroupChangePassword"; - public const string InvokeGroupCreate = "CreateGroup"; - public const string InvokeGroupGetGroups = "GetGroups"; - public const string InvokeGroupGetUsersInGroup = "GetUsersInGroup"; - public const string SendGroupChangeInviteState = "GroupChangeInviteState"; - public const string SendGroupDelete = "DeleteGroup"; - public const string InvokeGroupJoin = "JoinGroup"; - public const string SendGroupLeave = "LeaveGroup"; - public const string SendGroupPause = "PauseGroup"; - public const string SendGroupRemoveUser = "RemoveUserFromGroup"; - public const string SendGroupChangeOwner = "ChangeOwnerOfGroup"; - public const string SendGroupChangePinned = "ChangedPinnedUserInGroup"; - public const string SendGroupClear = "ClearGroup"; - public const string SendBanUserFromGroup = "BanUserFromGroup"; - public const string InvokeGetBannedUsersForGroup = "GetBannedUsersForGroup"; - public const string SendUnbanUserFromGroup = "UnbanUserFromGroup"; - public const string SendGroupSetModerator = "InvokeGroupSetModerator"; - - public const string OnGroupChange = "OnGroupPushChange"; - public const string OnGroupUserChange = "OnGroupUserChange"; - } -} diff --git a/MareSynchronosAPI/IMareHub.cs b/MareSynchronosAPI/IMareHub.cs new file mode 100644 index 0000000..efe2ff8 --- /dev/null +++ b/MareSynchronosAPI/IMareHub.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace MareSynchronos.API +{ + public interface IMareHub + { + const int ApiVersion = 16; + const string Path = "/mare"; + + Task FilesAbortUpload(); + Task> AdminGetOnlineUsers(); + Task GroupChangePassword(string gid, string password); + Task AdminChangeModeratorStatus(string uid, bool isModerator); + Task GroupChangeOwnership(string gid, string uid); + Task GroupChangePinned(string gid, string uid, bool isPinned); + Task CheckClientHealth(); + Task GroupClear(string gid); + Task GroupCreate(); + Task UserDelete(); + Task FilesDeleteAll(); + Task AdminDeleteBannedUser(BannedUserDto dto); + Task AdminDeleteForbiddenFile(ForbiddenFileDto dto); + Task> AdminGetBannedUsers(); + Task> FilesGetSizes(List hashes); + Task> AdminGetForbiddenFiles(); + Task> GroupGetBannedUsers(string gid); + Task> GroupsGetAll(); + Task> UserGetOnlineCharacters(); + Task> UserGetPairedClients(); + Task> GroupsGetUsersInGroup(string gid); + Task GroupBanUser(string gid, string uid, string reason); + Task GroupChangeInviteState(string gid, bool enabled); + Task GroupChangePauseState(string gid, bool isPaused); + Task GroupDelete(string gid); + Task GroupJoin(string gid, string password); + Task GroupLeave(string gid); + Task GroupRemoveUser(string gid, string uid); + Task GroupUnbanUser(string gid, string uid); + Task Heartbeat(string characterIdentification); + Task FilesIsUploadFinished(); + Task UserPushData(CharacterCacheDto characterCache, List visibleCharacterIds); + Task> FilesSend(List fileListHashes); + Task UserAddPair(string uid); + Task UserChangePairPauseStatus(string otherUserUid, bool isPaused); + Task UserRemovePair(string otherUserUid); + Task GroupSetModerator(string gid, string uid, bool isModerator); + Task AdminUpdateOrAddBannedUser(BannedUserDto dto); + Task AdminUpdateOrAddForbiddenFile(ForbiddenFileDto dto); + Task FilesUploadStreamAsync(string hash, IAsyncEnumerable fileContent); + + Task Client_UserUpdateClientPairs(ClientPairDto clientPairDto); + Task Client_UpdateSystemInfo(SystemInfoDto systemInfo); + Task Client_UserReceiveCharacterData(CharacterCacheDto clientPairDto, string characterIdent); + Task Client_UserChangePairedPlayer(string characterIdent, bool isOnline); + Task Client_GroupChange(GroupDto groupDto); + Task Client_GroupUserChange(GroupPairDto groupPairDto); + Task Client_AdminForcedReconnect(); + Task Client_AdminDeleteBannedUser(BannedUserDto dto); + Task Client_AdminDeleteForbiddenFile(ForbiddenFileDto dto); + Task Client_AdminUpdateOrAddBannedUser(BannedUserDto dto); + Task Client_AdminUpdateOrAddForbiddenFile(ForbiddenFileDto dto); + } + + public interface IMareHubClient : IMareHub + { + void OnUserUpdateClientPairs(Action act); + void OnUpdateSystemInfo(Action act); + void OnUserReceiveCharacterData(Action act); + void OnUserChangePairedPlayer(Action act); + void OnGroupChange(Action act); + void OnGroupUserChange(Action act); + void OnAdminForcedReconnect(Action act); + void OnAdminDeleteBannedUser(Action dto); + void OnAdminDeleteForbiddenFile(Action act); + void OnAdminUpdateOrAddBannedUser(Action dto); + void OnAdminUpdateOrAddForbiddenFile(Action dto); + } +} \ No newline at end of file