feat: login 2fa

This commit is contained in:
Jacky 2024-07-23 17:28:13 +08:00
parent 8d8ba150ef
commit 5abd9b75bb
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
33 changed files with 1063 additions and 122 deletions

View file

@ -28,7 +28,9 @@ func newAuthToken(db *gorm.DB, opts ...gen.DOOption) authToken {
tableName := _authToken.authTokenDo.TableName()
_authToken.ALL = field.NewAsterisk(tableName)
_authToken.UserID = field.NewInt(tableName, "user_id")
_authToken.Token = field.NewString(tableName, "token")
_authToken.ExpiredAt = field.NewInt64(tableName, "expired_at")
_authToken.fillFieldMap()
@ -38,8 +40,10 @@ func newAuthToken(db *gorm.DB, opts ...gen.DOOption) authToken {
type authToken struct {
authTokenDo
ALL field.Asterisk
Token field.String
ALL field.Asterisk
UserID field.Int
Token field.String
ExpiredAt field.Int64
fieldMap map[string]field.Expr
}
@ -56,7 +60,9 @@ func (a authToken) As(alias string) *authToken {
func (a *authToken) updateTableName(table string) *authToken {
a.ALL = field.NewAsterisk(table)
a.UserID = field.NewInt(table, "user_id")
a.Token = field.NewString(table, "token")
a.ExpiredAt = field.NewInt64(table, "expired_at")
a.fillFieldMap()
@ -73,8 +79,10 @@ func (a *authToken) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (a *authToken) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 1)
a.fieldMap = make(map[string]field.Expr, 3)
a.fieldMap["user_id"] = a.UserID
a.fieldMap["token"] = a.Token
a.fieldMap["expired_at"] = a.ExpiredAt
}
func (a authToken) clone(db *gorm.DB) authToken {

View file

@ -35,6 +35,7 @@ func newAuth(db *gorm.DB, opts ...gen.DOOption) auth {
_auth.Name = field.NewString(tableName, "name")
_auth.Password = field.NewString(tableName, "password")
_auth.Status = field.NewBool(tableName, "status")
_auth.OTPSecret = field.NewBytes(tableName, "otp_secret")
_auth.fillFieldMap()
@ -52,6 +53,7 @@ type auth struct {
Name field.String
Password field.String
Status field.Bool
OTPSecret field.Bytes
fieldMap map[string]field.Expr
}
@ -75,6 +77,7 @@ func (a *auth) updateTableName(table string) *auth {
a.Name = field.NewString(table, "name")
a.Password = field.NewString(table, "password")
a.Status = field.NewBool(table, "status")
a.OTPSecret = field.NewBytes(table, "otp_secret")
a.fillFieldMap()
@ -91,7 +94,7 @@ func (a *auth) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (a *auth) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 7)
a.fieldMap = make(map[string]field.Expr, 8)
a.fieldMap["id"] = a.ID
a.fieldMap["created_at"] = a.CreatedAt
a.fieldMap["updated_at"] = a.UpdatedAt
@ -99,6 +102,7 @@ func (a *auth) fillFieldMap() {
a.fieldMap["name"] = a.Name
a.fieldMap["password"] = a.Password
a.fieldMap["status"] = a.Status
a.fieldMap["otp_secret"] = a.OTPSecret
}
func (a auth) clone(db *gorm.DB) auth {