vaulterm/server/app/users/repository.go

36 lines
663 B
Go
Raw Normal View History

2024-11-14 17:58:19 +07:00
package users
import (
"gorm.io/gorm"
2024-11-16 02:34:07 +07:00
"rul.sh/vaulterm/server/db"
"rul.sh/vaulterm/server/models"
"rul.sh/vaulterm/server/utils"
2024-11-14 17:58:19 +07:00
)
type Users struct {
db *gorm.DB
User *utils.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
}