Skip to content

Commit

Permalink
preset: avoid creating PresetMap when ProviderMapping is empty
Browse files Browse the repository at this point in the history
  • Loading branch information
flavioribeiro committed Dec 19, 2016
1 parent 314930b commit 071a2d8
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions service/preset.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ func (s *TranscodingService) newPreset(r *http.Request) swagger.GizmoJSONRespons
var output newPresetOutputs
var presetMap *db.PresetMap
var providers []string
var shouldCreatePresetMap bool

respData, err := ioutil.ReadAll(r.Body)
if err != nil {
Expand All @@ -101,10 +102,7 @@ func (s *TranscodingService) newPreset(r *http.Request) swagger.GizmoJSONRespons
if err = presetMap.OutputOpts.Validate(); err != nil {
return newInvalidPresetResponse(fmt.Errorf("invalid outputOptions: %s", err))
}
err = s.db.CreatePresetMap(presetMap)
if err != nil {
return newInvalidPresetResponse(fmt.Errorf("failed creating presetmap: %s", err))
}
shouldCreatePresetMap = true
providers = input.Providers
} else if err != nil {
return swagger.NewErrorResponse(err)
Expand Down Expand Up @@ -141,18 +139,16 @@ func (s *TranscodingService) newPreset(r *http.Request) swagger.GizmoJSONRespons

status := http.StatusOK
if len(presetMap.ProviderMapping) > 0 {
err = s.db.UpdatePresetMap(presetMap)
if shouldCreatePresetMap {
err = s.db.CreatePresetMap(presetMap)
} else {
err = s.db.UpdatePresetMap(presetMap)
}
if err != nil {
return newInvalidPresetResponse(fmt.Errorf("failed updating presetmap after creating presets: %s", err))
return newInvalidPresetResponse(fmt.Errorf("failed creating/updating presetmap after creating presets: %s", err))
}
output.PresetMap = presetMap.Name
} else {
// if none valid preset was created we want to destroy the PresetMap
// and return StatusInternalServerError.
err = s.db.DeletePresetMap(presetMap)
if err != nil {
return newInvalidPresetResponse(fmt.Errorf("failed deleting presetmap after trying to create presets: %s", err))
}
status = http.StatusInternalServerError
}

Expand Down

0 comments on commit 071a2d8

Please sign in to comment.