using DotBased.ASP.Auth.Domains.Auth; using DotBased.ASP.Auth.Domains.Identity; namespace DotBased.ASP.Auth; public interface IAuthDataRepository { public Task<Result> CreateUserAsync(UserModel user); public Task<Result> UpdateUserAsync(UserModel user); public Task<Result> DeleteUserAsync(UserModel user); public Task<Result<UserModel>> GetUserAsync(string id, string email, string username); public Task<ListResult<UserItemModel>> GetUsersAsync(int start = 0, int amount = 30, string search = ""); public Task<Result> CreateGroupAsync(GroupModel group); public Task<Result> UpdateGroupAsync(GroupModel group); public Task<Result> DeleteGroupAsync(GroupModel group); public Task<Result<GroupModel>> GetGroupAsync(string id); public Task<ListResult<GroupItemModel>> GetGroupsAsync(int start = 0, int amount = 30, string search = ""); public Task<Result> CreateAuthenticationStateAsync(AuthenticationStateModel authenticationState); public Task<Result> UpdateAuthenticationStateAsync(AuthenticationStateModel authenticationState); public Task<Result> DeleteAuthenticationStateAsync(AuthenticationStateModel authenticationState); public Task<Result<AuthenticationStateModel>> GetAuthenticationStateAsync(string id); }