< Summary

Information
Class: Anichron.Core.Data.Repository.EfUserStorageConfigRepository
Assembly: Anichron.Core
File(s): /home/runner/work/anichron/anichron/src/Anichron.Core/Data/Repository/UserStorageConfigRepository.cs
Tag: 228_36821334185
Line coverage
100%
Covered lines: 8
Uncovered lines: 0
Coverable lines: 8
Total lines: 39
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
FindByIdAsync(...)100%11100%
FindByRootPathAsync(...)100%11100%
GetAllActiveAsync(...)100%11100%
GetActiveByUserIdAsync(...)100%11100%
GetByUserIdAsync(...)100%11100%
Add(...)100%11100%
Remove(...)100%11100%

File(s)

/home/runner/work/anichron/anichron/src/Anichron.Core/Data/Repository/UserStorageConfigRepository.cs

#LineLine coverage
 1using Anichron.Core.Domain;
 2using Microsoft.EntityFrameworkCore;
 3
 4namespace Anichron.Core.Data.Repository;
 5
 6public interface IUserStorageConfigRepository
 7{
 8    Task<UserStorageConfig?> FindByIdAsync(Guid configId, CancellationToken ct);
 9    Task<UserStorageConfig?> FindByRootPathAsync(string rootPath, CancellationToken ct);
 10    Task<List<UserStorageConfig>> GetAllActiveAsync(CancellationToken ct);
 11    Task<List<UserStorageConfig>> GetActiveByUserIdAsync(Guid userId, CancellationToken ct);
 12    Task<List<UserStorageConfig>> GetByUserIdAsync(Guid userId, CancellationToken ct);
 13    void Add(UserStorageConfig config);
 14    void Remove(UserStorageConfig config);
 15}
 16
 1317public sealed class EfUserStorageConfigRepository(AnichronDbContext db) : IUserStorageConfigRepository
 18{
 19    public Task<UserStorageConfig?> FindByIdAsync(Guid configId, CancellationToken ct)
 320        => db.StorageConfigs.FirstOrDefaultAsync(s => s.Id == configId, ct);
 21
 22    public Task<UserStorageConfig?> FindByRootPathAsync(string rootPath, CancellationToken ct)
 423        => db.StorageConfigs.FirstOrDefaultAsync(s => s.RootPath == rootPath, ct);
 24
 25    public Task<List<UserStorageConfig>> GetAllActiveAsync(CancellationToken ct)
 226        => db.StorageConfigs.Where(s => s.IsActive).ToListAsync(ct);
 27
 28    public Task<List<UserStorageConfig>> GetActiveByUserIdAsync(Guid userId, CancellationToken ct)
 229        => db.StorageConfigs.Where(s => s.UserId == userId && s.IsActive).ToListAsync(ct);
 30
 31    public Task<List<UserStorageConfig>> GetByUserIdAsync(Guid userId, CancellationToken ct)
 232        => db.StorageConfigs.Where(s => s.UserId == userId).ToListAsync(ct);
 33
 34    public void Add(UserStorageConfig config)
 135        => db.StorageConfigs.Add(config);
 36
 37    public void Remove(UserStorageConfig config)
 138        => db.StorageConfigs.Remove(config);
 39}