mirror of https://github.com/milvus-io/milvus.git
45 lines
1.1 KiB
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,
|
|
}
|
|
}
|