Files
hammond/server/service/userService.go
Akhil Gupta d25c30a7b2 first commit
2021-05-29 15:20:50 +05:30

48 lines
989 B
Go

package service
import (
"github.com/akhilrex/hammond/db"
"github.com/akhilrex/hammond/models"
)
func CreateUser(userModel *models.RegisterRequest, role db.Role) error {
setting := db.GetOrCreateSetting()
toCreate := db.User{
Email: userModel.Email,
Name: userModel.Name,
Role: role,
Currency: setting.Currency,
DistanceUnit: setting.DistanceUnit,
}
toCreate.SetPassword(userModel.Password)
return db.CreateUser(&toCreate)
}
func GetUserById(id string) (*db.User, error) {
var myUserModel db.User
tx := db.DB.Debug().Preload("Vehicles").First(&myUserModel, map[string]string{
"ID": id,
})
return &myUserModel, tx.Error
}
func GetAllUsers() (*[]db.User, error) {
return db.GetAllUsers()
}
func UpdatePassword(id, password string) (bool, error) {
user, err := GetUserById(id)
if err != nil {
return false, err
}
user.SetPassword(password)
err = db.UpdateUser(user)
if err != nil {
return false, err
}
return true, nil
}