using MareSynchronos.API; using MareSynchronos.Utils; using Microsoft.AspNetCore.SignalR.Client; using System.Collections.Generic; using System.Threading.Tasks; namespace MareSynchronos.WebAPI; public partial class ApiController { public async Task CreateGroup() { if (!IsConnected || SecretKey == "-") return new GroupCreatedDto(); return await _mareHub!.InvokeAsync(Api.InvokeGroupCreate); } public async Task ChangeGroupPassword(string gid, string newpassword) { if (!IsConnected || SecretKey == "-") return false; return await _mareHub!.InvokeAsync(Api.InvokeGroupChangePassword, gid, newpassword); } public async Task> GetGroups() { if (!IsConnected || SecretKey == "-") return new List(); return await _mareHub!.InvokeAsync>(Api.InvokeGroupGetGroups); } public async Task> GetUsersInGroup(string gid) { if (!IsConnected || SecretKey == "-") return new List(); return await _mareHub!.InvokeAsync>(Api.InvokeGroupGetUsersInGroup, gid); } public async Task SendGroupJoin(string gid, string password) { if (!IsConnected || SecretKey == "-") return false; return await _mareHub!.InvokeAsync(Api.InvokeGroupJoin, gid, password); } public async Task SendGroupChangeInviteState(string gid, bool opened) { if (!IsConnected || SecretKey == "-") return; await _mareHub!.SendAsync(Api.SendGroupChangeInviteState, gid, opened); } public async Task SendDeleteGroup(string gid) { if (!IsConnected || SecretKey == "-") return; await _mareHub!.SendAsync(Api.SendGroupDelete, gid); } public async Task SendLeaveGroup(string gid) { if (!IsConnected || SecretKey == "-") return; await _mareHub!.SendAsync(Api.SendGroupLeave, gid); } public async Task SendPauseGroup(string gid, bool isPaused) { if (!IsConnected || SecretKey == "-") return; await _mareHub!.SendAsync(Api.SendGroupPause, gid, isPaused); } public async Task SendRemoveUserFromGroup(string gid, string uid) { if (!IsConnected || SecretKey == "-") return; await _mareHub!.SendAsync(Api.SendGroupRemoveUser, gid, uid); } public async Task ChangeOwnerOfGroup(string gid, string uid) { if (!IsConnected || SecretKey == "-") return; await _mareHub!.SendAsync(Api.SendGroupChangeOwner, gid, uid); } }