57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
package license_repository
|
|
|
|
import (
|
|
"netina/models"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type LicenseCommand interface{
|
|
CreateLicense(o *models.License) error
|
|
UpdateLicense(id uint , o *models.License)(*models.License , error)
|
|
RemoveLicense(id uint)error
|
|
}
|
|
|
|
type LicenseCommandRepository struct{
|
|
DB *gorm.DB
|
|
}
|
|
|
|
|
|
func (r *LicenseCommandRepository) CreateLicense(License *models.License)error{
|
|
if err := r.DB.Create(&License).Error ; err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
|
|
|
|
func (r *LicenseCommandRepository) UpdateLicense(id uint , license *models.License)(*models.License , error){
|
|
var temp models.License
|
|
|
|
if err := r.DB.Where("is_removed = ?" , false).Where("license_id = ?" , id).First(&temp).Error ; err != nil {
|
|
return nil , err
|
|
}
|
|
|
|
temp.Period = license.Period
|
|
temp.Modified_at = license.Modified_at
|
|
temp.Modified_by = license.Modified_by
|
|
|
|
|
|
if err := r.DB.Save(&temp).Error; err != nil {
|
|
return nil , err
|
|
}
|
|
|
|
return &temp , nil
|
|
|
|
}
|
|
|
|
|
|
func (r *LicenseCommandRepository) RemoveLicense(id uint)error{
|
|
if err := r.DB.Where("license_id = ?" , id).Error;err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
} |