delete.go 1010 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // +build ee
  2. package invite
  3. import (
  4. "net/http"
  5. "github.com/porter-dev/porter/api/server/authz"
  6. "github.com/porter-dev/porter/api/server/handlers"
  7. "github.com/porter-dev/porter/api/server/shared/apierrors"
  8. "github.com/porter-dev/porter/api/server/shared/config"
  9. "github.com/porter-dev/porter/api/types"
  10. "github.com/porter-dev/porter/internal/models"
  11. )
  12. type InviteDeleteHandler struct {
  13. handlers.PorterHandler
  14. authz.KubernetesAgentGetter
  15. }
  16. func NewInviteDeleteHandler(
  17. config *config.Config,
  18. ) http.Handler {
  19. return &InviteDeleteHandler{
  20. PorterHandler: handlers.NewDefaultPorterHandler(config, nil, nil),
  21. KubernetesAgentGetter: authz.NewOutOfClusterAgentGetter(config),
  22. }
  23. }
  24. func (c *InviteDeleteHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
  25. invite, _ := r.Context().Value(types.InviteScope).(*models.Invite)
  26. if err := c.Repo().Invite().DeleteInvite(invite); err != nil {
  27. c.HandleAPIError(w, r, apierrors.NewErrInternal(err))
  28. }
  29. w.WriteHeader(http.StatusOK)
  30. }