mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-12 19:41:03 +08:00
18 lines
806 B
C#
18 lines
806 B
C#
using Foxel.Models.DataBase;
|
|
using Foxel.Models.Request.Auth;
|
|
|
|
namespace Foxel.Services.Auth;
|
|
|
|
public interface IAuthService
|
|
{
|
|
Task<(bool success, string message, User? user)> RegisterUserAsync(RegisterRequest request);
|
|
Task<(bool success, string message, User? user)> AuthenticateUserAsync(LoginRequest request);
|
|
Task<string> GenerateJwtTokenAsync(User user);
|
|
Task<User?> GetUserByIdAsync(int userId);
|
|
Task<(bool success, string message, User? user)> FindOrCreateGitHubUserAsync(
|
|
string githubId, string? githubName, string? email);
|
|
Task<(bool success, string message, User? user)> UpdateUserInfoAsync(int userId, UpdateUserRequest request);
|
|
string GetGitHubLoginUrl();
|
|
Task<(bool success, string message, string? token)> ProcessGitHubCallbackAsync(string code);
|
|
}
|