Table of Contents

Class ApiClient

Namespace
EchoHub.Client.Services
Assembly
EchoHub.Client.dll
public sealed class ApiClient : IDisposable
Inheritance
ApiClient
Implements
Inherited Members

Constructors

ApiClient(string)

public ApiClient(string baseUrl)

Parameters

baseUrl string

Properties

BaseUrl

public string BaseUrl { get; }

Property Value

string

RefreshToken

public string? RefreshToken { get; }

Property Value

string

Token

public string? Token { get; }

Property Value

string

Methods

AssignRoleAsync(string, ServerRole)

public Task AssignRoleAsync(string username, ServerRole role)

Parameters

username string
role ServerRole

Returns

Task

BanUserAsync(string, string?)

public Task BanUserAsync(string username, string? reason = null)

Parameters

username string
reason string

Returns

Task

CreateChannelAsync(string, string?, bool)

public Task<ChannelDto?> CreateChannelAsync(string name, string? topic = null, bool isPublic = true)

Parameters

name string
topic string
isPublic bool

Returns

Task<ChannelDto>

DeleteChannelAsync(string)

public Task DeleteChannelAsync(string channelName)

Parameters

channelName string

Returns

Task

DeleteMessageAsync(Guid)

public Task DeleteMessageAsync(Guid messageId)

Parameters

messageId Guid

Returns

Task

Dispose()

public void Dispose()

GetChannelsAsync()

public Task<List<ChannelDto>> GetChannelsAsync()

Returns

Task<List<ChannelDto>>

GetServerInfoAsync()

public Task<ServerStatusDto?> GetServerInfoAsync()

Returns

Task<ServerStatusDto>

GetUserProfileAsync(string)

public Task<UserProfileDto?> GetUserProfileAsync(string username)

Parameters

username string

Returns

Task<UserProfileDto>

GetValidTokenAsync()

Returns a valid access token, refreshing if expired. Used by EchoHubConnection for SignalR token provider.

public Task<string?> GetValidTokenAsync()

Returns

Task<string>

KickUserAsync(string, string?)

public Task KickUserAsync(string username, string? reason = null)

Parameters

username string
reason string

Returns

Task

LoginAsync(string, string)

public Task<LoginResponse> LoginAsync(string username, string password)

Parameters

username string
password string

Returns

Task<LoginResponse>

LogoutAsync()

public Task LogoutAsync()

Returns

Task

MuteUserAsync(string, int?, string?)

public Task MuteUserAsync(string username, int? durationMinutes = null, string? reason = null)

Parameters

username string
durationMinutes int?
reason string

Returns

Task

NukeChannelAsync(string)

public Task NukeChannelAsync(string channelName)

Parameters

channelName string

Returns

Task

RefreshTokenAsync()

public Task RefreshTokenAsync()

Returns

Task

RegisterAsync(string, string, string?)

public Task<LoginResponse> RegisterAsync(string username, string password, string? displayName = null)

Parameters

username string
password string
displayName string

Returns

Task<LoginResponse>

SendUrlAsync(string, string, string?)

public Task<MessageDto?> SendUrlAsync(string channelName, string url, string? size = null)

Parameters

channelName string
url string
size string

Returns

Task<MessageDto>

UnbanUserAsync(string)

public Task UnbanUserAsync(string username)

Parameters

username string

Returns

Task

UnmuteUserAsync(string)

public Task UnmuteUserAsync(string username)

Parameters

username string

Returns

Task

UpdateChannelTopicAsync(string, string?)

public Task<ChannelDto?> UpdateChannelTopicAsync(string channelName, string? topic)

Parameters

channelName string
topic string

Returns

Task<ChannelDto>

UpdateProfileAsync(UpdateProfileRequest)

public Task<UserProfileDto?> UpdateProfileAsync(UpdateProfileRequest request)

Parameters

request UpdateProfileRequest

Returns

Task<UserProfileDto>

UploadAvatarAsync(Stream, string)

public Task<string?> UploadAvatarAsync(Stream imageStream, string fileName)

Parameters

imageStream Stream
fileName string

Returns

Task<string>

UploadFileAsync(string, Stream, string, string?)

public Task<MessageDto?> UploadFileAsync(string channelName, Stream fileStream, string fileName, string? size = null)

Parameters

channelName string
fileStream Stream
fileName string
size string

Returns

Task<MessageDto>