milvus/internal/metastore/db/dbmodel/user.go

45 lines
1.1 KiB
Go

package dbmodel
import (
"time"
"github.com/milvus-io/milvus/internal/metastore/model"
)
type User struct {
ID int64 `gorm:"id"`
TenantID string `gorm:"tenant_id"`
Username string `gorm:"username"`
EncryptedPassword string `gorm:"encrypted_password"`
IsSuper bool `gorm:"is_super"`
IsDeleted bool `gorm:"is_deleted"`
CreatedAt time.Time `gorm:"created_at"`
UpdatedAt time.Time `gorm:"updated_at"`
}
func (v User) TableName() string {
return "credential_users"
}
//go:generate mockery --name=IUserDb
type IUserDb interface {
GetByUsername(tenantID string, username string) (*User, error)
ListUser(tenantID string) ([]*User, error)
Insert(in *User) error
MarkDeletedByUsername(tenantID string, username string) error
UpdatePassword(tenantID string, username string, encryptedPassword string) error
}
// model <---> db
func UnmarshalUserModel(user *User) *model.Credential {
if user == nil {
return nil
}
return &model.Credential{
Username: user.Username,
EncryptedPassword: user.EncryptedPassword,
}
}