vaulterm/server/app/users/repository.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
}