photoprism/internal/form/passcode.go
Michael Mayer f2aabb9bcd Security: Add gosec fixes with shared URL and fs validation helpers
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-03 16:38:41 +01:00

28 lines
871 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"` //nolint:gosec // G117: Expected user-supplied credential field.
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)
}