Forge
csharp3407750f
1namespace AgentForge.Models;
2
3public enum ForgeOrgRole
4{
5 Member,
6 Admin,
7}
8
9public static class ForgeOrgRoleExtensions
10{
11 public static string ToSlug(this ForgeOrgRole role) => role switch
12 {
13 ForgeOrgRole.Admin => "admin",
14 _ => "member",
15 };
16
17 public static bool IsAdmin(this ForgeOrgRole role) => role == ForgeOrgRole.Admin;
18
19 public static ForgeOrgRole ParseSlugOrDefault(string? slug) =>
20 TryParseSlug(slug, out var parsed) ? parsed : ForgeOrgRole.Member;
21
22 public static bool TryParseSlug(string? slug, out ForgeOrgRole role)
23 {
24 switch (slug?.Trim().ToLowerInvariant())
25 {
26 case "admin":
27 case "owner":
28 role = ForgeOrgRole.Admin;
29 return true;
30 case "member":
31 role = ForgeOrgRole.Member;
32 return true;
33 default:
34 role = ForgeOrgRole.Member;
35 return false;
36 }
37 }
38}
39
View only · write via MCP/CIDE