/
AMachine
/
MMDB_Backend
Обзор
Документация
Войти
/
AMachine
/
MMDB_Backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MMDB.Data/Repositories/TokensRepository.cs
46 строк
1 KB
AssaultMachine
add endpoint for db rows count
07 май 2025, 21:33
07 май 2025, 21:33
392519f
Код
Авторство
О чём код?
using Microsoft.EntityFrameworkCore; using MMDB.Data.Entities.App; using MMDB.Core.Abstract.Repositories; namespace MMDB.Data.Repositories; public class TokensRepository(AppDbContext context) : ITokensRepository { public int GetCount() => context.RefreshTokens.Count(); public async ValueTask<Guid?> AddAsync(Guid userId, string token) { var refreshToken = new RefreshTokenEntity() { UserId = userId, Token = token }; await context.RefreshTokens.AddAsync(refreshToken); await context.SaveChangesAsync(); return refreshToken.Id; } public async ValueTask<Guid?> RevokeAsync(Guid userId) { await context.RefreshTokens .Where(t => t.UserId == userId) .ExecuteUpdateAsync(t => t.SetProperty(p => p.Revoked, true)); await context.SaveChangesAsync(); return userId; } public async ValueTask<bool> GetActiveTokenAsync(string tokenValue) { var tokenEntity = await context.RefreshTokens.FirstOrDefaultAsync(t => t.Token == tokenValue && t.Revoked == false); return tokenEntity is not null; } public async ValueTask<Guid?> GetUserIdByTokenAsync(string tokenValue) { var tokenEntity = await context.RefreshTokens.FirstOrDefaultAsync(t => t.Token == tokenValue && t.Revoked == false); return tokenEntity?.UserId; } }