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
|
|
|
|
}
|
2024-11-14 16:28:44 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|