role repository
parent
6cb35a83f7
commit
43ef003928
|
@ -0,0 +1,58 @@
|
|||
package Role_repository
|
||||
|
||||
import (
|
||||
"netina/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type RoleCommand interface{
|
||||
CreateRole(o *models.Role) error
|
||||
UpdateRole(id uint , o *models.Role)(*models.Role , error)
|
||||
RemoveRole(id uint)error
|
||||
}
|
||||
|
||||
type RoleCommandRepository struct{
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
|
||||
func (r *RoleCommandRepository) CreateRole(Role *models.Role)error{
|
||||
if err := r.DB.Create(&Role).Error ; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (r *RoleCommandRepository) UpdateRole(id uint , role *models.Role)(*models.Role , error){
|
||||
var temp models.Role
|
||||
|
||||
if err := r.DB.Where("is_removed = ?" , false).Where("Role_id = ?" , id).First(&temp).Error ; err != nil {
|
||||
return nil , err
|
||||
}
|
||||
|
||||
temp.Name = role.Name
|
||||
temp.Modified_at = role.Modified_at
|
||||
temp.Modified_by = role.Modified_by
|
||||
|
||||
|
||||
if err := r.DB.Save(&temp).Error; err != nil {
|
||||
return nil , err
|
||||
}
|
||||
|
||||
return &temp , nil
|
||||
|
||||
}
|
||||
|
||||
|
||||
func (r *RoleCommandRepository) RemoveRole(id uint)error{
|
||||
var Role models.Role
|
||||
if err := r.DB.Where("role_id = ?" , id).Model(&Role).Update("is_removed" , true).Error;err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
package Role_repository
|
||||
|
||||
import (
|
||||
"netina/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type RoleQuery interface{
|
||||
GetRole(id uint)(*models.Role , error)
|
||||
}
|
||||
|
||||
type RoleQueryRepository struct{
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
|
||||
func (r *RoleQueryRepository) GetRole(id uint)(*models.Role , error){
|
||||
var role models.Role
|
||||
if err := r.DB.Where("is_removed = ?" , false).Where("role_id = ?" , id).First(&role).Error; err != nil {
|
||||
return nil , err
|
||||
}
|
||||
|
||||
return &role , nil
|
||||
}
|
||||
|
||||
|
||||
func (r *RoleQueryRepository) GetRoleByName(name string)(*models.Role , error) {
|
||||
var role models.Role
|
||||
if err := r.DB.Where("is_removed = ?" , false).Where("name = ?" , name).First(&role).Error; err != nil {
|
||||
return nil , err
|
||||
}
|
||||
|
||||
return &role , nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue