linstrom/storage-new/models/UserAuthenticationMethod.go
mStar 714f528641
Some checks are pending
/ test (push) Waiting to run
Rework backing storage system
Step one: Copy the struct definitions over into a new, dedicated
submodule
Step two: Make a generator script
Step three: Define helper functions for various queries
2025-03-20 21:39:10 +01:00

26 lines
847 B
Go

package models
import "database/sql/driver"
type AuthenticationMethodType string
const (
AuthMethodPassword AuthenticationMethodType = "password"
AuthMethodGAuth AuthenticationMethodType = "g-auth" // Google Authenticator / totp
AuthMethodMail AuthenticationMethodType = "mail"
AuthMethodPasskey2fa AuthenticationMethodType = "passkey-2fa" // Passkey used as 2fa factor
AuthMethodPasskey AuthenticationMethodType = "passkey" // Passkey as only auth key
)
var AllAuthMethods = []AuthenticationMethodType{
AuthMethodPassword, AuthMethodGAuth, AuthMethodMail, AuthMethodPasskey, AuthMethodPasskey2fa,
}
func (ct *AuthenticationMethodType) Scan(value any) error {
*ct = AuthenticationMethodType(value.([]byte))
return nil
}
func (ct AuthenticationMethodType) Value() (driver.Value, error) {
return string(ct), nil
}