< Summary - Syki

Information
Class: Syki.Back.Auth.Permissions.SykiPermissions
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Auth/Permissions/SykiPermissions.cs
Tag: 56_26538939494
Line coverage
100%
Covered lines: 79
Uncovered lines: 0
Coverable lines: 79
Total lines: 111
Line coverage: 100%
Branch coverage
50%
Covered branches: 2
Total branches: 4
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.cctor()50%44100%

File(s)

/home/runner/work/syki/syki/Back/Auth/Permissions/SykiPermissions.cs

#LineLine coverage
 1using System.Reflection;
 2
 3namespace Syki.Back.Auth.Permissions;
 4
 5public static class SykiPermissions
 6{
 7    // Identity
 28    public static readonly SykiPermission ManageRoles = new(
 29        PermissionGroup.Identity,
 210        000,
 211        "Gerenciar perfis de acesso.",
 212        "Criar, editar e deletar perfis de acesso."
 213    );
 214    public static readonly SykiPermission ManageSso = new(
 215        PermissionGroup.Identity,
 216        001,
 217        "Gerenciar SSO.",
 218        "Configurar Single Sign-On (SSO) para a instituição."
 219    );
 20
 21    // Users
 222    public static readonly SykiPermission ManageUsers = new(
 223        PermissionGroup.Users,
 224        100,
 225        "Gerenciar usuários.",
 226        "Criar, editar e deletar usuários."
 227    );
 28
 29    // Campi
 230    public static readonly SykiPermission ManageCampi = new(
 231        PermissionGroup.Campi,
 232        200,
 233        "Gerenciar campus.",
 234        "Criar e editar campus."
 235    );
 36
 37    // Disciplines
 238    public static readonly SykiPermission ManageDisciplines = new(
 239        PermissionGroup.Disciplines,
 240        300,
 241        "Gerenciar disciplinas.",
 242        "Criar e editar disciplinas."
 243    );
 44
 45    // Courses
 246    public static readonly SykiPermission ManageCourses = new(
 247        PermissionGroup.Courses,
 248        400,
 249        "Gerenciar cursos.",
 250        "Criar e editar cursos."
 251    );
 52
 53    // Teachers
 254    public static readonly SykiPermission ManageTeachers = new(
 255        PermissionGroup.Teachers,
 256        500,
 257        "Gerenciar professores.",
 258        "Criar e editar professores."
 259    );
 60
 61    // Students
 262    public static readonly SykiPermission ManageStudents = new(
 263        PermissionGroup.Students,
 264        600,
 265        "Gerenciar alunos.",
 266        "Criar e editar alunos."
 267    );
 68
 69    // Periods
 270    public static readonly SykiPermission ManagePeriods = new(
 271        PermissionGroup.Periods,
 272        700,
 273        "Gerenciar períodos acadêmicos.",
 274        "Criar e editar períodos acadêmicos."
 275    );
 76
 77    // CourseCurriculums
 278    public static readonly SykiPermission ManageCourseCurriculums = new(
 279        PermissionGroup.CourseCurriculums,
 280        800,
 281        "Gerenciar grades curriculares.",
 282        "Criar e editar grades curriculares."
 283    );
 84
 85    // CourseOfferings
 286    public static readonly SykiPermission ManageCourseOfferings = new(
 287        PermissionGroup.CourseOfferings,
 288        900,
 289        "Gerenciar ofertas de curso.",
 290        "Criar e editar ofertas de curso."
 291    );
 92
 293    public static readonly List<PermissionGroup> Groups = [];
 294    public static readonly List<SykiPermission> Permissions = [];
 95    static SykiPermissions()
 96    {
 297        Groups = Enum.GetValues<PermissionGroup>().ToList();
 98
 299        Permissions = typeof(SykiPermissions)
 2100            .GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy)
 26101            .Where(f => f.FieldType == typeof(SykiPermission))
 22102            .Select(f => (SykiPermission)f.GetValue(null)!)
 22103            .OrderBy(f => f.Group)
 22104                .ThenBy(f => f.Id)
 2105            .ToList();
 106
 24107        if (!Permissions.Select(x => x.Id).IsAllDistinct()) throw new Exception("Duplicated permission ids!");
 108
 24109        if (!Permissions.Select(x => x.Name).IsAllDistinct()) throw new Exception("Duplicated permission names!");
 2110    }
 111}

Methods/Properties

.cctor()