package enum

// MemberStatus is the lifecycle state of a member within a tenant.
type MemberStatus string

const (
	MemberStatusUnverified MemberStatus = "unverified"
	MemberStatusActive     MemberStatus = "active"
	MemberStatusSuspended  MemberStatus = "suspended"
	MemberStatusDeleted    MemberStatus = "deleted"
)

func (s MemberStatus) String() string {
	return string(s)
}

// IsValid reports whether the status is a known enum value.
func (s MemberStatus) IsValid() bool {
	switch s {
	case MemberStatusUnverified, MemberStatusActive, MemberStatusSuspended, MemberStatusDeleted:
		return true
	default:
		return false
	}
}
