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 }