Auth integration

This commit is contained in:
Wieland, Marc
2026-05-22 10:39:26 +02:00
parent 8f6d070e6b
commit 523c74028b
21 changed files with 141 additions and 7 deletions
+19 -1
View File
@@ -15,8 +15,26 @@ public class AuthService(IDbContextFactory<TimetrackerDbContext> factory)
return VerifyPassword(password, user.PasswordHash, user.PasswordSalt) ? user : null;
}
public async Task<(User? User, string? Error)> RegisterAsync(string username, string password)
public async Task<List<User>> GetAllUsersAsync()
{
await using var db = await factory.CreateDbContextAsync();
return await db.Users
.OrderBy(u => u.Username)
.ToListAsync();
}
public async Task DeleteUserAsync(int userId)
{
await using var db = await factory.CreateDbContextAsync();
var user = await db.Users.FindAsync(userId);
if (user != null)
{
db.Users.Remove(user);
await db.SaveChangesAsync();
}
}
public async Task<(User? User, string? Error)> RegisterAsync(string username, string password) {
if (string.IsNullOrWhiteSpace(username) || username.Length < 3)
return (null, "Benutzername muss mindestens 3 Zeichen lang sein.");
if (string.IsNullOrWhiteSpace(password) || password.Length < 6)