您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

30 行
975B

  1. using Campaign_Tracker.Server.Authorization;
  2. namespace Campaign_Tracker.Server.Authentication;
  3. public static class RoleWorkspaceResolver
  4. {
  5. private static readonly (string Role, string WorkspacePath)[] WorkspacePriority =
  6. [
  7. (ApplicationRole.Admin, "/workspace/admin"),
  8. (ApplicationRole.ClientServices, "/workspace/client-services"),
  9. (ApplicationRole.Production, "/workspace/production"),
  10. (ApplicationRole.Transportation, "/workspace/transportation"),
  11. (ApplicationRole.Support, "/workspace/support"),
  12. ];
  13. public static string ResolveWorkspacePath(IEnumerable<string> roles)
  14. {
  15. var normalizedRoles = ApplicationRole.NormalizeMany(roles);
  16. foreach (var (role, workspacePath) in WorkspacePriority)
  17. {
  18. if (normalizedRoles.Contains(role, StringComparer.OrdinalIgnoreCase))
  19. {
  20. return workspacePath;
  21. }
  22. }
  23. return "/workspace";
  24. }
  25. }

Powered by TurnKey Linux.