Files
houston-be/pkg/postgres/service/severity/severity.go
2023-04-10 17:30:28 +05:30

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
}