namespace ColaFlow.Modules.Identity.Domain.Aggregates.Users;

/// <summary>
/// Defines tenant-level roles for users
/// </summary>
public enum TenantRole
{
    /// <summary>
    /// Tenant owner - Full control over tenant, billing, and all resources
    /// </summary>
    TenantOwner = 1,

    /// <summary>
    /// Tenant administrator - Can manage users, projects, but not billing
    /// </summary>
    TenantAdmin = 2,

    /// <summary>
    /// Tenant member - Default role, can create and manage own projects
    /// </summary>
    TenantMember = 3,

    /// <summary>
    /// Tenant guest - Read-only access to assigned resources
    /// </summary>
    TenantGuest = 4,

    /// <summary>
    /// AI Agent - Read access + Write with preview (requires human approval)
    /// Special role for MCP integration
    /// </summary>
    AIAgent = 5
}
