Hub-Api/repositories/license/command_repository.go

61 lines
1.2 KiB
Go
Raw Permalink Normal View History

2024-05-27 23:06:25 +03:30
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
}
2024-05-27 23:06:25 +03:30
temp.Modified_at = license.Modified_at
temp.Modified_by = license.Modified_by
temp.ExpireDate = license.ExpireDate
temp.Plan_id = license.Plan_id
temp.NumberOfRenewals = license.NumberOfRenewals
2024-05-27 23:06:25 +03:30
if err := r.DB.Save(&temp).Error; err != nil {
return nil , err
}
return &temp , nil
}
func (r *LicenseCommandRepository) RemoveLicense(id uint)error{
2024-06-07 15:11:04 +03:30
var license models.License
if err := r.DB.Where("license_id = ?" , id).Model(&license).Update("is_removed" , true).Error;err != nil {
2024-05-27 23:06:25 +03:30
return err
}
return nil
}