63 lines
1.4 KiB
Go
63 lines
1.4 KiB
Go
package severity
|
|
|
|
import (
|
|
"go.uber.org/zap"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Service struct {
|
|
logger *zap.Logger
|
|
gormClient *gorm.DB
|
|
}
|
|
|
|
func NewSeverityService(logger *zap.Logger, gormClient *gorm.DB) *Service {
|
|
return &Service{
|
|
logger: logger,
|
|
gormClient: gormClient,
|
|
}
|
|
}
|
|
|
|
func (s *Service) GetAllActiveSeverity() (*[]SeverityEntity, error) {
|
|
var severityEntity []SeverityEntity
|
|
result := s.gormClient.Where("deleted_at is NULL").Find(&severityEntity)
|
|
if result.Error != nil {
|
|
s.logger.Error("fetching severity query failed", zap.Error(result.Error))
|
|
return nil, result.Error
|
|
}
|
|
if result.RowsAffected == 0 {
|
|
return nil, nil
|
|
}
|
|
|
|
return &severityEntity, nil
|
|
}
|
|
|
|
func (s *Service) FindIncidentSeverityEntityById(id int) (*SeverityEntity, error) {
|
|
var severityEntity SeverityEntity
|
|
|
|
result := s.gormClient.Find(&severityEntity, "id = ?", id)
|
|
if result.Error != nil {
|
|
s.logger.Error("fetching severity query failed", zap.Error(result.Error))
|
|
return nil, result.Error
|
|
} else if result.RowsAffected == 0 {
|
|
s.logger.Error("SeverityEntity not found", zap.Error(result.Error))
|
|
return nil, nil
|
|
}
|
|
|
|
return &severityEntity, nil
|
|
}
|
|
|
|
func (s *Service) FindSeverityById(severityId uint) (*SeverityEntity, error) {
|
|
var severityEntity SeverityEntity
|
|
|
|
result := s.gormClient.Find(&severityEntity, "id = ?", severityId)
|
|
if result.Error != nil {
|
|
return nil, result.Error
|
|
}
|
|
|
|
if result.RowsAffected == 0 {
|
|
return nil, nil
|
|
}
|
|
|
|
return &severityEntity, nil
|
|
}
|