using Microsoft.AspNetCore.Mvc; using QtCNETAPI.Dtos.User; using QtCNETAPI.Dtos.Room; using QtCNETAPI.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace QtCNETAPI.Services.ApiService { public interface IApiService { public string? SessionToken { get; set; } public User CurrentUser { get; } public Task> PingServerAsync(); public Task>> GetOnlineUsersAsync(); public Task> LoginAsync(UserLoginDto userLoginDto); public Task> RefreshLogin(string refreshToken); public Task> RefreshSessionIfInvalid(); public Task> RegisterAsync(UserDto userDto); public Task> GetUserInformationAsync(string id); public Task> UpdateUserInformationAsync(UserUpdateInformationDto request); public Task> UpdateUserProfilePic(string filePath); public Task> GetUserProfilePic(string userId); public Task> CreateRoomAsync(RoomDto request); public Task> DeleteRoomAsync(string roomId); public Task>> GetAllRoomsAsync(); public Task>> GetCurrentUserContacts(); public Task> AddContactToCurrentUser(string userId); public Task> AcceptContactRequest(string userId); public Task> RemoveContactFromCurrentUser(string userId); public Task> AddCurrencyToCurrentUser(int amount, bool isSpinClaim); } }