Check authorization before deleting application

This commit is contained in:
eikendev 2020-08-01 22:52:33 +02:00
parent bb5f5c22af
commit 6a77df8373
No known key found for this signature in database
GPG key ID: A1BDB1B28C8EF694

View file

@ -1,6 +1,7 @@
package api
import (
"errors"
"log"
"net/http"
@ -80,6 +81,13 @@ func (h *ApplicationHandler) DeleteApplication(ctx *gin.Context) {
return
}
user := authentication.GetUser(ctx)
if user.ID != application.ID {
ctx.AbortWithError(http.StatusForbidden, errors.New("only owner can delete application"))
return
}
log.Printf("Deleting application %s.\n", application.Name)
if success := successOrAbort(ctx, http.StatusInternalServerError, h.Dispatcher.DeregisterApplication(application)); !success {