@@ -0,0 +1,44 @@
|
||||
package api
|
||||
|
||||
import "net/http"
|
||||
|
||||
func (app *application) listTaskTemplateOptOutsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
gardenID, _ := app.readGardenIDParam(r)
|
||||
plantID, err := app.readNamedIDParam(r, "id")
|
||||
if err != nil {
|
||||
app.notFoundResponse(w, r)
|
||||
return
|
||||
}
|
||||
ids, err := app.models.TaskTemplateOptOuts.GetAllForPlant(gardenID, plantID)
|
||||
if err != nil {
|
||||
app.respondToEntityModelError(w, r, err)
|
||||
return
|
||||
}
|
||||
if err = app.writeJSON(w, http.StatusOK, envelope{"template_ids": ids}, nil); err != nil {
|
||||
app.serverErrorResponse(w, r, err)
|
||||
}
|
||||
}
|
||||
func (app *application) setTaskTemplateOptOutHandler(w http.ResponseWriter, r *http.Request) {
|
||||
app.setTaskTemplateOptOut(w, r, true)
|
||||
}
|
||||
func (app *application) deleteTaskTemplateOptOutHandler(w http.ResponseWriter, r *http.Request) {
|
||||
app.setTaskTemplateOptOut(w, r, false)
|
||||
}
|
||||
func (app *application) setTaskTemplateOptOut(w http.ResponseWriter, r *http.Request, optedOut bool) {
|
||||
gardenID, _ := app.readGardenIDParam(r)
|
||||
plantID, err := app.readNamedIDParam(r, "id")
|
||||
if err != nil {
|
||||
app.notFoundResponse(w, r)
|
||||
return
|
||||
}
|
||||
templateID, err := app.readNamedIDParam(r, "templateID")
|
||||
if err != nil {
|
||||
app.notFoundResponse(w, r)
|
||||
return
|
||||
}
|
||||
if err = app.models.TaskTemplateOptOuts.Set(gardenID, plantID, templateID, optedOut); err != nil {
|
||||
app.respondToEntityModelError(w, r, err)
|
||||
return
|
||||
}
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
Reference in New Issue
Block a user