Files
s-ui/backend/service/tls.go
T
2024-06-06 22:07:26 +02:00

47 lines
845 B
Go

package service
import (
"encoding/json"
"s-ui/database"
"s-ui/database/model"
"gorm.io/gorm"
)
type TlsService struct {
}
func (s *TlsService) GetAll() ([]model.Tls, error) {
db := database.GetDB()
tlsConfig := []model.Tls{}
err := db.Model(model.Tls{}).Scan(&tlsConfig).Error
if err != nil {
return nil, err
}
return tlsConfig, nil
}
func (s *TlsService) Save(tx *gorm.DB, changes []model.Changes) error {
var err error
for _, change := range changes {
tlsConfig := model.Tls{}
err = json.Unmarshal(change.Obj, &tlsConfig)
if err != nil {
return err
}
switch change.Action {
case "new":
err = tx.Create(&tlsConfig).Error
case "del":
err = tx.Where("id = ?", change.Index).Delete(model.Tls{}).Error
default:
err = tx.Save(tlsConfig).Error
}
if err != nil {
return err
}
}
return err
}