package enum // RoleSource identifies the origin of a UserRole assignment. Sync-from-X // flows (zitadel/ldap/scim) only replace assignments of their own source; // manual stays sticky. type RoleSource string const ( RoleSourceManual RoleSource = "manual" RoleSourceZitadel RoleSource = "zitadel" RoleSourceLDAP RoleSource = "ldap" RoleSourceSCIM RoleSource = "scim" ) // IsValid reports whether s is a known role source. func (s RoleSource) IsValid() bool { switch s { case RoleSourceManual, RoleSourceZitadel, RoleSourceLDAP, RoleSourceSCIM: return true default: return false } } // String returns the raw source value. func (s RoleSource) String() string { return string(s) }