< Summary

Information
Class: OzonDomains.Models.Authorization.UserDataScope
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/Authorization/UserDataScope.cs
Line coverage
50%
Covered lines: 3
Uncovered lines: 3
Coverable lines: 6
Total lines: 24
Line coverage: 50%
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
get_Id()100%210%
get_UserId()100%11100%
get_DataScopeId()100%11100%
get_DataScope()100%210%
get_AssignedAt()100%11100%
get_AssignedBy()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/Authorization/UserDataScope.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2
 3namespace OzonDomains.Models.Authorization;
 4
 5/// <summary>
 6/// Персональная привязка набора данных (DataScope) к пользователю.
 7/// Применяется в дополнение к наборам, полученным через роли (объединение по OR).
 8/// Если у пользователя нет ни ролевых, ни персональных наборов по сущности — показываются все данные (fail-open).
 9/// </summary>
 10public class UserDataScope
 11{
 012    public int Id { get; set; }
 13
 14    [Required, MaxLength(450)]
 1015    public string UserId { get; set; } = string.Empty;
 16
 517    public int DataScopeId { get; set; }
 018    public virtual DataScope DataScope { get; set; } = null!;
 19
 520    public DateTime AssignedAt { get; set; } = DateTime.UtcNow;
 21
 22    [MaxLength(150)]
 023    public string? AssignedBy { get; set; }
 24}