2025-06-19 23:24:39 -07:00

38 lines
1.9 KiB
C#

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<ServiceResponse<string>> PingServerAsync();
public Task<ServiceResponse<List<UserInformationDto>>> GetOnlineUsersAsync();
public Task<ServiceResponse<User>> LoginAsync(UserLoginDto userLoginDto);
public Task<ServiceResponse<User>> RefreshLogin(string refreshToken);
public Task<ServiceResponse<string>> RefreshSessionIfInvalid();
public Task<ServiceResponse<User>> RegisterAsync(UserDto userDto);
public Task<ServiceResponse<UserInformationDto>> GetUserInformationAsync(string id);
public Task<ServiceResponse<UserInformationDto>> UpdateUserInformationAsync(UserUpdateInformationDto request);
public Task<ServiceResponse<string>> UpdateUserProfilePic(string filePath);
public Task<ServiceResponse<byte[]>> GetUserProfilePic(string userId);
public Task<ServiceResponse<Room>> CreateRoomAsync(RoomDto request);
public Task<ServiceResponse<Room>> DeleteRoomAsync(string roomId);
public Task<ServiceResponse<List<Room>>> GetAllRoomsAsync();
public Task<ServiceResponse<List<Contact>>> GetCurrentUserContacts();
public Task<ServiceResponse<Contact>> AddContactToCurrentUser(string userId);
public Task<ServiceResponse<bool>> AcceptContactRequest(string userId);
public Task<ServiceResponse<Contact>> RemoveContactFromCurrentUser(string userId);
public Task<ServiceResponse<int>> AddCurrencyToCurrentUser(int amount, bool isSpinClaim);
}
}