user repository
parent
43ef003928
commit
d4722e4d17
|
@ -0,0 +1,59 @@
|
||||||
|
package user_repository
|
||||||
|
|
||||||
|
import (
|
||||||
|
"netina/models"
|
||||||
|
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
type UserCommand interface{
|
||||||
|
CreateUser(o *models.User) error
|
||||||
|
UpdateUser(id uint , o *models.User)(*models.User , error)
|
||||||
|
RemoveUser(id uint)error
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserCommandRepository struct{
|
||||||
|
DB *gorm.DB
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func (r *UserCommandRepository) CreateUser(user *models.User)error{
|
||||||
|
if err := r.DB.Create(&user).Error ; err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func (r *UserCommandRepository) UpdateUser(id uint , user *models.User)(*models.User , error){
|
||||||
|
var temp models.User
|
||||||
|
|
||||||
|
if err := r.DB.Where("is_removed = ?" , false).Where("user_id = ?" , id).First(&temp).Error ; err != nil {
|
||||||
|
return nil , err
|
||||||
|
}
|
||||||
|
temp.Name = user.Name
|
||||||
|
temp.PhoneNumber = user.PhoneNumber
|
||||||
|
temp.Role_id = user.Role_id
|
||||||
|
temp.Modified_at = user.Modified_at
|
||||||
|
temp.Modified_by = user.Modified_by
|
||||||
|
|
||||||
|
if err := r.DB.Save(&temp).Error; err != nil {
|
||||||
|
return nil , err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &temp , nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func (r *UserCommandRepository) RemoveUser(id uint)error{
|
||||||
|
var user models.User
|
||||||
|
if err := r.DB.Where("user_id = ?" , id).Model(&user).Update("is_removed" , true).Error;err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
package user_repository
|
||||||
|
|
||||||
|
import (
|
||||||
|
"netina/models"
|
||||||
|
|
||||||
|
"gorm.io/gorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
type UserQuery interface{
|
||||||
|
GetUser(id uint)(*models.User , error)
|
||||||
|
}
|
||||||
|
|
||||||
|
type UserQueryRepository struct{
|
||||||
|
DB *gorm.DB
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func (r *UserQueryRepository) GetUser(id uint)(*models.User , error){
|
||||||
|
var user models.User
|
||||||
|
if err := r.DB.Where("is_removed = ?" , false).Where("user_id = ?" , id).First(&user).Error; err != nil {
|
||||||
|
return nil , err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &user , nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *UserQueryRepository) GetUserByPhoneNumber(phoneNumber string)(*models.User , error){
|
||||||
|
var user models.User
|
||||||
|
if err := r.DB.Where("is_removed = ?" , false).Where("phone_number = ?" , phoneNumber).First(&user).Error; err != nil {
|
||||||
|
return nil , err
|
||||||
|
}
|
||||||
|
|
||||||
|
return &user , nil
|
||||||
|
}
|
Loading…
Reference in New Issue