< Summary

Information
Class: Services.PartnerServices.PartnerPermissionService
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/PartnerServices/PartnerPermissionService.cs
Line coverage
100%
Covered lines: 2
Uncovered lines: 0
Coverable lines: 2
Total lines: 17
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%
HasAsync(...)100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/PartnerServices/PartnerPermissionService.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore;
 2using OzonDomains.Models.Partners;
 3using OzonRepositories.Context;
 4
 5namespace Services.PartnerServices;
 6
 7public interface IPartnerPermissionService
 8{
 9    /// <summary>Проверяет по БД на каждый вызов, чтобы отключённая владельцем возможность действовала сразу, без перело
 10    Task<bool> HasAsync(long partnerId, PartnerPermissionCode code, CancellationToken ct = default);
 11}
 12
 713public sealed class PartnerPermissionService(ApplicationDbContext db) : IPartnerPermissionService
 14{
 15    public Task<bool> HasAsync(long partnerId, PartnerPermissionCode code, CancellationToken ct = default) =>
 1516        db.PartnerPermissions.AsNoTracking().AnyAsync(x => x.PartnerId == partnerId && x.Code == code, ct);
 17}