< Summary

Information
Class: LGDXRobotCloud.Utilities.Helpers.LgdxRolesHelper
Assembly: LGDXRobotCloud.Utilities
File(s): /builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Utilities/Helpers/LgdxRolesHelper.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 140
Coverable lines: 140
Total lines: 158
Line coverage: 0%
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_DefaultRoles()100%210%
.cctor()100%210%
IsSystemRole(...)100%210%
GetSystemRoleId(...)100%210%

File(s)

/builds/yukaitung/lgdxrobot2-cloud/LGDXRobotCloud.Utilities/Helpers/LgdxRolesHelper.cs

#LineLine coverage
 1using LGDXRobotCloud.Utilities.Enums;
 2
 3namespace LGDXRobotCloud.Utilities.Helpers;
 4
 5public record LgdxRoleData
 6{
 7  public required LgdxRoleType RoleType { get; set; }
 8  public required string Name { get; set; }
 9  public List<string> Scopes { get; set; } = [];
 10}
 11
 12public class LgdxRolesHelper
 13{
 014  public static Dictionary<Guid, LgdxRoleData> DefaultRoles { get; set; } = new()
 015  {
 016    {
 017      new Guid("01942232-62d5-7db2-a566-f720e44ade0d"),
 018      new LgdxRoleData
 019      {
 020        RoleType = LgdxRoleType.GlobalAdministrator,
 021        Name = LgdxRoleType.GlobalAdministrator.ToEnumMember()!,
 022        Scopes = [
 023          "LGDXRobotCloud.API/FullAccess"
 024        ]
 025      }
 026    },
 027    {
 028      new Guid("01942232-62d5-7b98-9fbb-137f811c2ad9"),
 029      new LgdxRoleData
 030      {
 031        RoleType = LgdxRoleType.GlobalAuditor,
 032        Name = LgdxRoleType.GlobalAuditor.ToEnumMember()!,
 033        Scopes = [
 034          "LGDXRobotCloud.API/Read"
 035        ]
 036      }
 037    },
 038    {
 039      new Guid("01942232-62d5-734a-b2fe-5caf8b22deda"),
 040      new LgdxRoleData
 041      {
 042        RoleType = LgdxRoleType.RobotAdministrator,
 043        Name = LgdxRoleType.RobotAdministrator.ToEnumMember()!,
 044        Scopes = [
 045          "LGDXRobotCloud.API/Navigation/Robots/FullAccess"
 046        ]
 047      }
 048    },
 049    {
 050      new Guid("01942232-62d5-7dda-99de-e041a0ec179b"),
 051      new LgdxRoleData
 052      {
 053        RoleType = LgdxRoleType.RobotAuditor,
 054        Name = LgdxRoleType.RobotAuditor.ToEnumMember()!,
 055        Scopes = [
 056          "LGDXRobotCloud.API/Navigation/Robots/Read"
 057        ]
 058      }
 059    },
 060    {
 061      new Guid("01942232-62d5-7a90-99c0-3716b4fd2bb1"),
 062      new LgdxRoleData
 063      {
 064        RoleType = LgdxRoleType.NavigationAdministrator,
 065        Name = LgdxRoleType.NavigationAdministrator.ToEnumMember()!,
 066        Scopes = [
 067          "LGDXRobotCloud.API/Navigation/FullAccess"
 068        ]
 069      }
 070    },
 071    {
 072      new Guid("01942232-62d5-718a-b69a-044ac485ea0c"),
 073      new LgdxRoleData
 074      {
 075        RoleType = LgdxRoleType.NavigationAuditor,
 076        Name = LgdxRoleType.NavigationAuditor.ToEnumMember()!,
 077        Scopes = [
 078          "LGDXRobotCloud.API/Navigation/Read"
 079        ]
 080      }
 081    },
 082    {
 083      new Guid("01942232-62d5-7218-a36f-b37da58d0066"),
 084      new LgdxRoleData
 085      {
 086        RoleType = LgdxRoleType.AutomationAdministrator,
 087        Name = LgdxRoleType.AutomationAdministrator.ToEnumMember()!,
 088        Scopes = [
 089          "LGDXRobotCloud.API/Automation/FullAccess"
 090        ]
 091      }
 092    },
 093    {
 094      new Guid("01942232-62d5-7ad9-8fe5-4ca5135d3d5f"),
 095      new LgdxRoleData
 096      {
 097        RoleType = LgdxRoleType.AutomationAuditor,
 098        Name = LgdxRoleType.AutomationAuditor.ToEnumMember()!,
 099        Scopes = [
 0100          "LGDXRobotCloud.API/Automation/Read"
 0101        ]
 0102      }
 0103    },
 0104    {
 0105      new Guid("01942232-62d5-755d-8cc6-dd069622cca5"),
 0106      new LgdxRoleData
 0107      {
 0108        RoleType = LgdxRoleType.AutoTaskAdministrator,
 0109        Name = LgdxRoleType.AutoTaskAdministrator.ToEnumMember()!,
 0110        Scopes = [
 0111          "LGDXRobotCloud.API/Automation/AutoTasks/FullAccess"
 0112        ]
 0113      }
 0114    },
 0115    {
 0116      new Guid("01942232-62d5-7d00-b742-e41e7421bf8f"),
 0117      new LgdxRoleData
 0118      {
 0119        RoleType = LgdxRoleType.AutoTaskAuditor,
 0120        Name = LgdxRoleType.AutoTaskAuditor.ToEnumMember()!,
 0121        Scopes = [
 0122          "LGDXRobotCloud.API/Automation/AutoTasks/Read"
 0123        ]
 0124      }
 0125    },
 0126    {
 0127      new Guid("01942323-e76a-79ef-9502-8f3894194070"),
 0128      new LgdxRoleData
 0129      {
 0130        RoleType = LgdxRoleType.AutoTaskOperator,
 0131        Name = LgdxRoleType.AutoTaskOperator.ToEnumMember()!,
 0132        Scopes = [
 0133          "LGDXRobotCloud.API/Automation/AutoTasks/Write",
 0134          "LGDXRobotCloud.API/Automation/AutoTasks/Delete"
 0135        ]
 0136      }
 0137    },
 0138    {
 0139      new Guid("01942323-e76a-7ce8-a4f9-d550527ffe4e"),
 0140      new LgdxRoleData
 0141      {
 0142        RoleType = LgdxRoleType.EmailRecipient,
 0143        Name = LgdxRoleType.EmailRecipient.ToEnumMember()!,
 0144        Scopes = []
 0145      }
 0146    }
 0147  };
 148
 149  public static bool IsSystemRole(Guid roleId)
 0150  {
 0151    return DefaultRoles.ContainsKey(roleId);
 0152  }
 153
 154  public static Guid GetSystemRoleId(LgdxRoleType roleType)
 0155  {
 0156    return DefaultRoles.First(r => r.Value.RoleType == roleType).Key;
 0157  }
 158}