using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Tgstation.Server.Api; using Tgstation.Server.Api.Models; using Tgstation.Server.Api.Models.Request; using Tgstation.Server.Api.Models.Response; namespace Tgstation.Server.Client { /// sealed class UsersClient : PaginatedClient, IUsersClient { /// /// Initializes a new instance of the class. /// /// The for the . public UsersClient(IApiClient apiClient) : base(apiClient) { } /// public Task Create(UserCreateRequest user, CancellationToken cancellationToken) => ApiClient.Create(Routes.User, user ?? throw new ArgumentNullException(nameof(user)), cancellationToken); /// public Task GetId(EntityId user, CancellationToken cancellationToken) => ApiClient.Read(Routes.SetID(Routes.User, user?.Id ?? throw new ArgumentNullException(nameof(user))), cancellationToken); /// public Task> List(PaginationSettings? paginationSettings, CancellationToken cancellationToken) => ReadPaged(paginationSettings, Routes.ListRoute(Routes.User), null, cancellationToken); /// public Task Read(CancellationToken cancellationToken) => ApiClient.Read(Routes.User, cancellationToken); /// public Task Update(UserUpdateRequest user, CancellationToken cancellationToken) => ApiClient.Update(Routes.User, user ?? throw new ArgumentNullException(nameof(user)), cancellationToken); } }