mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
33 lines
735 B
Go
33 lines
735 B
Go
package hibp
|
|
|
|
// Status represents the status of an account in the HIBP system
|
|
type Status struct {
|
|
Account string
|
|
Breaches []Breach
|
|
}
|
|
|
|
// NewStatus creates and returns an instance of Status
|
|
func NewStatus(acct string, breaches []Breach) *Status {
|
|
stat := Status{
|
|
Account: acct,
|
|
Breaches: breaches,
|
|
}
|
|
|
|
return &stat
|
|
}
|
|
|
|
// HasBeenCompromised returns TRUE if the specified account has any breaches associated
|
|
// with it, FALSE if no breaches are associated with it
|
|
func (stat *Status) HasBeenCompromised() bool {
|
|
return stat.Len() > 0
|
|
}
|
|
|
|
// Len returns the number of breaches found for the specified account
|
|
func (stat *Status) Len() int {
|
|
if stat == nil || stat.Breaches == nil {
|
|
return 0
|
|
}
|
|
|
|
return len(stat.Breaches)
|
|
}
|