Files
photoprism/internal/form/passcode.go
2024-04-05 14:46:11 +02:00

29 lines
806 B
Go

package form
import (
"github.com/photoprism/photoprism/pkg/clean"
"github.com/photoprism/photoprism/pkg/txt"
)
// Passcode represents a multi-factor authentication key setup form.
type Passcode struct {
Type string `form:"type" json:"type,omitempty"`
Password string `form:"password" json:"password,omitempty"`
Code string `form:"code" json:"code,omitempty"`
}
// HasPassword checks if a password has been provided.
func (f Passcode) HasPassword() bool {
return f.Password != "" && len(f.Password) <= txt.ClipPassword
}
// HasPasscode checks if a verification code has been provided.
func (f Passcode) HasPasscode() bool {
return clean.Passcode(f.Code) != ""
}
// Passcode returns the sanitized verification code.
func (f Passcode) Passcode() string {
return clean.Passcode(f.Code)
}