Skip to content
Snippets Groups Projects
Commit fe014295 authored by Alexis POYEN's avatar Alexis POYEN
Browse files

Refactor : factorize code to get capturer and deskround

parent c9a3870f
No related branches found
No related tags found
Loading
......@@ -48,14 +48,9 @@ func (d *DataHandler) postCapturerDeskRound(w http.ResponseWriter, r *http.Reque
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
var capturer Capturer
if err := d.db.First(&capturer, o.CapturerID).Error; err != nil {
http.Error(w, ErrorIDDoesNotExist, http.StatusNotFound)
return
}
var deskRound DeskRound
if err := d.db.First(&deskRound, o.DeskRoundID).Error; err != nil {
flag, capturer, deskRound := d.checkCapturerAndDeskRound(o)
if !flag {
http.Error(w, ErrorIDDoesNotExist, http.StatusNotFound)
return
}
......@@ -72,18 +67,25 @@ func (d *DataHandler) deleteCapturerDeskRound(w http.ResponseWriter, r *http.Req
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
var capturer Capturer
if err := d.db.First(&capturer, o.CapturerID).Error; err != nil {
http.Error(w, ErrorIDDoesNotExist, http.StatusNotFound)
return
}
var deskRound DeskRound
if err := d.db.First(&deskRound, o.DeskRoundID).Error; err != nil {
flag, capturer, deskRound := d.checkCapturerAndDeskRound(o)
if !flag {
http.Error(w, ErrorIDDoesNotExist, http.StatusNotFound)
return
}
d.db.Model(&capturer).Association("DeskRounds").Delete(&deskRound)
json.NewEncoder(w).Encode(capturer)
}
func (d *DataHandler) checkCapturerAndDeskRound(o capturerDeskRound) (bool, Capturer, DeskRound) {
var capturer Capturer
var deskRound DeskRound
if err := d.db.First(&capturer, o.CapturerID).Error; err != nil {
return false, capturer, deskRound
}
if err := d.db.First(&deskRound, o.DeskRoundID).Error; err != nil {
return false, capturer, deskRound
}
return true, capturer, deskRound
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment