mirror of
https://github.com/khairul169/vaulterm.git
synced 2025-04-28 16:49:39 +07:00
36 lines
659 B
Go
36 lines
659 B
Go
package users
|
|
|
|
import (
|
|
"gorm.io/gorm"
|
|
"rul.sh/vaulterm/server/db"
|
|
"rul.sh/vaulterm/server/lib"
|
|
"rul.sh/vaulterm/server/models"
|
|
)
|
|
|
|
type Users struct {
|
|
db *gorm.DB
|
|
User *lib.UserContext
|
|
}
|
|
|
|
func NewRepository(r *Users) *Users {
|
|
if r == nil {
|
|
r = &Users{}
|
|
}
|
|
r.db = db.Get()
|
|
return r
|
|
}
|
|
|
|
func (r *Users) Find(username string) (*models.User, error) {
|
|
var user models.User
|
|
ret := r.db.Where("username = ? OR email = ?", username, username).First(&user)
|
|
|
|
return &user, ret.Error
|
|
}
|
|
|
|
func (r *Users) Get(id string) (*models.User, error) {
|
|
var user models.User
|
|
ret := r.db.Preload("Teams").Where("id = ?", id).First(&user)
|
|
|
|
return &user, ret.Error
|
|
}
|