38 lines
2.0 KiB
C#
38 lines
2.0 KiB
C#
using MAX.Core.DependencyInjection;
|
|
using Store.Management.Api;
|
|
using Store.Management.Api.Models;
|
|
using Store.Management.Api.Users;
|
|
|
|
namespace Store.Management.Framework.Services;
|
|
|
|
public interface IUserService
|
|
{
|
|
Task<PageResult<UserInfo>> SearchAsync(UserSearchRequest request, CancellationToken cancellationToken = default);
|
|
Task<UserInfo> CreateAsync(UserCreateRequest request, CancellationToken cancellationToken = default);
|
|
Task<UserInfo> UpdateAsync(UserUpdateRequest request, CancellationToken cancellationToken = default);
|
|
Task<UserInfo> UpdateBillingAsync(UserBillingUpdateRequest request, CancellationToken cancellationToken = default);
|
|
Task ChangePasswordAsync(ChangePasswordRequest request, CancellationToken cancellationToken = default);
|
|
Task DeleteAsync(int id, CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
internal sealed class UserService(StoreApiClient client) : IUserService, ISingletonDependency
|
|
{
|
|
public Task<PageResult<UserInfo>> SearchAsync(UserSearchRequest request, CancellationToken cancellationToken = default)
|
|
=> client.Users.SearchAsync(request, cancellationToken);
|
|
|
|
public Task<UserInfo> CreateAsync(UserCreateRequest request, CancellationToken cancellationToken = default)
|
|
=> client.Users.CreateAsync(request, cancellationToken);
|
|
|
|
public Task<UserInfo> UpdateAsync(UserUpdateRequest request, CancellationToken cancellationToken = default)
|
|
=> client.Users.UpdateAsync(request, cancellationToken);
|
|
|
|
public Task<UserInfo> UpdateBillingAsync(UserBillingUpdateRequest request, CancellationToken cancellationToken = default)
|
|
=> client.Users.UpdateBillingAsync(request, cancellationToken);
|
|
|
|
public Task ChangePasswordAsync(ChangePasswordRequest request, CancellationToken cancellationToken = default)
|
|
=> client.Users.ChangePasswordAsync(request, cancellationToken);
|
|
|
|
public Task DeleteAsync(int id, CancellationToken cancellationToken = default)
|
|
=> client.Users.DeleteAsync(id, cancellationToken);
|
|
}
|