diff --git a/managers/user.go b/managers/user.go index 6f38496..d9821eb 100644 --- a/managers/user.go +++ b/managers/user.go @@ -43,7 +43,7 @@ func (userMgr *userManager) List() ([]models.User, error) { } func (userMgr *userManager) Get(id string) (*models.User, error) { - user := &models.User{} + user := models.NewUser() storage.DB.First(&user, id) if user.ID == 0 { @@ -55,9 +55,9 @@ func (userMgr *userManager) Get(id string) (*models.User, error) { func (userMgr *userManager) Update(userId string, userData *common.UserUpdateInput) (*models.User, error) { - user := models.User{} + user := models.NewUser() - storage.DB.First(&user, userId) + storage.DB.First(user, userId) if user.ID == 0 { return nil, errors.New("no user found") @@ -65,18 +65,18 @@ func (userMgr *userManager) Update(userId string, userData *common.UserUpdateInp storage.DB.Model(&user).Updates(models.User{FullName: userData.FullName, Email: userData.Email}) - return &user, nil + return user, nil } func (userMgr *userManager) Delete(id string) error { - user := models.User{} + user := models.NewUser() - storage.DB.First(&user, id) + storage.DB.First(user, id) if user.ID == 0 { return errors.New("no user found") } - storage.DB.Delete(&user) + storage.DB.Delete(user) return nil } diff --git a/models/ranking.go b/models/ranking.go index a1cedf2..1bd339b 100644 --- a/models/ranking.go +++ b/models/ranking.go @@ -17,3 +17,7 @@ type UserSkillRank struct { Skill Skill Rank uint `json:"rank"` } + +func NewUserSkillRank() *UserSkillRank { + return &UserSkillRank{} +} diff --git a/models/user.go b/models/user.go index 7ed6851..aa56f4f 100644 --- a/models/user.go +++ b/models/user.go @@ -15,3 +15,7 @@ type User struct { FullName string `json:"fullName"` Email string `json:"email"` } + +func NewUser() *User { + return &User{} +}