using Google.Apis.Oauth2.v2.Data; using Hutopy.Application.Common.Models; using Hutopy.Application.Users.Models; namespace Hutopy.Application.Common.Interfaces; public interface IIdentityService { Task> CreateUserAsync(Userinfo userInfo); Task> CreateUserAsync(string email, string userName, string firstName, string lastName, string password); Task GetCurrentUserAsync(); Task UpdateCurrentUserBannerPictureUrlAsync(string url); Task UpdateCurrentUserProfilePictureUrlAsync(string url); Task UpdateCurrentUserWebsiteIconUrlAsync(string url); Task> UpdateCurrentUserAsync(UserModel userModel); Task> GetCurrentUserRolesAsync(); Task FindUserByIdAsync(string id); Task FindUserByEmailAsync(string email); Task GetUserByUserNameAsync(string userName); Task LoginAsync(string email, string password); Task IsInRoleAsync(string userId, string role); Task AuthorizeAsync(string userId, string policyName); Task GetUserNameAsync(string userId); Task AddRoleAsync(string userId, string role); Task DeleteUserAsync(string userId); }