40 lines
1.0 KiB
Go
40 lines
1.0 KiB
Go
package db
|
|
|
|
import "time"
|
|
|
|
type AdminUser struct {
|
|
ID int64
|
|
Username string
|
|
PasswordHash string
|
|
// MustChangePassword forces a password change before this admin can use the rest
|
|
// of the dashboard — true for the seeded default account and every newly-created
|
|
// admin (delegated or not). MustChangeUsername additionally forces choosing a new
|
|
// username too — true only for the seeded default account (username "admin"),
|
|
// never for admins created via the delegation flow, who pick their own username
|
|
// up front (see addAdmin/CreateScopedAdminUser).
|
|
MustChangePassword bool
|
|
MustChangeUsername bool
|
|
TOTPSecret string
|
|
TOTPEnabled bool
|
|
IsGlobalAdmin bool
|
|
CreatedBy *int64
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type AdminSession struct {
|
|
Token string
|
|
UserID int64
|
|
MFAVerified bool
|
|
CreatedAt time.Time
|
|
ExpiresAt time.Time
|
|
}
|
|
|
|
type WebAuthnCredential struct {
|
|
ID int64
|
|
UserID int64
|
|
Name string
|
|
CredentialID string
|
|
CredentialData string
|
|
CreatedAt time.Time
|
|
}
|