73 lines
2.0 KiB
Go
73 lines
2.0 KiB
Go
package query
|
|
|
|
import (
|
|
"houston/entity"
|
|
"houston/model/request"
|
|
|
|
"go.uber.org/zap"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func FindSeverity(db *gorm.DB, logger *zap.Logger) ([]entity.SeverityEntity, error) {
|
|
var severityEntity []entity.SeverityEntity
|
|
result := db.Where("deleted_at is NULL").Find(&severityEntity)
|
|
if result.Error != nil {
|
|
logger.Error("fetching severity query failed", zap.Error(result.Error))
|
|
return nil, result.Error
|
|
}
|
|
return severityEntity, nil
|
|
}
|
|
|
|
func FindIncidentSeverityEntity(db *gorm.DB, logger *zap.Logger) ([]entity.SeverityEntity, error) {
|
|
var severityEntity []entity.SeverityEntity
|
|
|
|
result := db.Where("deleted_at is NULL").Find(&severityEntity)
|
|
if result.Error != nil {
|
|
logger.Error("fetching severity query failed", zap.Error(result.Error))
|
|
return nil, result.Error
|
|
}
|
|
|
|
return severityEntity, nil
|
|
}
|
|
|
|
func FindIncidentSeverityEntityById(db *gorm.DB, logger *zap.Logger, id int) (*entity.SeverityEntity, error) {
|
|
var severityEntity entity.SeverityEntity
|
|
|
|
result := db.Find(&severityEntity, "id = ?", id)
|
|
if result.Error != nil {
|
|
logger.Error("fetching severity query failed", zap.Error(result.Error))
|
|
return nil, result.Error
|
|
} else if result.RowsAffected == 0 {
|
|
logger.Error("SeverityEntity not found", zap.Error(result.Error))
|
|
return nil, nil
|
|
}
|
|
|
|
return &severityEntity, nil
|
|
}
|
|
|
|
func AddSeverity(db *gorm.DB, logger *zap.Logger, addSeverityRequest request.AddSeverityRequest) error {
|
|
severityEntity := &entity.SeverityEntity{
|
|
Name: addSeverityRequest.Name,
|
|
Description: addSeverityRequest.Description,
|
|
}
|
|
|
|
result := db.Create(severityEntity)
|
|
if result.Error != nil {
|
|
logger.Error("failed to add severity in the database", zap.Error(result.Error))
|
|
return result.Error
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func FindSeverityById(db *gorm.DB, severityId int) (*entity.SeverityEntity, error) {
|
|
var severityEntity entity.SeverityEntity
|
|
|
|
result := db.Find(&severityEntity, "id = ?", severityId)
|
|
if result.Error != nil {
|
|
return nil, result.Error
|
|
}
|
|
|
|
return &severityEntity, nil
|
|
}
|