using DotBased.ASP.Auth.Domains.Auth; using DotBased.ASP.Auth.Domains.Identity; using DotBased.Objects; namespace DotBased.ASP.Auth; public interface IAuthDataProvider { /* * Identity */ // User public Task CreateUserAsync(UserModel user); public Task UpdateUserAsync(UserModel user); public Task DeleteUserAsync(UserModel user); public Task> GetUserAsync(string id, string email, string username); public Task> GetUsersAsync(int start = 0, int amount = 30, string search = ""); // Group public Task CreateGroupAsync(GroupModel group); public Task UpdateGroupAsync(GroupModel group); public Task DeleteGroupAsync(GroupModel group); public Task> GetGroupAsync(string id); public Task> GetGroupsAsync(int start = 0, int amount = 30, string search = ""); /* * Auth */ // AuthenticationState public Task CreateAuthenticationStateAsync(AuthenticationStateModel authenticationState); public Task UpdateAuthenticationStateAsync(AuthenticationStateModel authenticationState); public Task DeleteAuthenticationStateAsync(AuthenticationStateModel authenticationState); public Task> GetAuthenticationStateAsync(string id); }