1
1
mirror of https://github.com/openziti/zrok.git synced 2025-07-23 17:05:45 +02:00
Files
.github
bin
build
cmd
controller
emailUi
store
zrokEdgeSdk
access.go
bootstrap.go
config.go
controller.go
createFrontend.go
createIdentity.go
deleteFrontend.go
disable.go
enable.go
gc.go
getService.go
invite.go
listFrontends.go
login.go
metrics.go
overview.go
register.go
share.go
sharePrivate.go
sharePublic.go
startup.go
unaccess.go
unshare.go
updateFrontend.go
updateShare.go
util.go
verify.go
verifyEmail.go
version.go
docs
endpoints
etc
model
rest_client_zrok
rest_model_zrok
rest_server_zrok
specs
ui
util
zrokdir
.gitignore
.goreleaser-darwin.yml
.goreleaser-linux.yml
.goreleaser-release.yml
.goreleaser-windows.yml
CHANGELOG.md
README.md
go.mod
go.sum
zrok/controller/deleteFrontend.go
2022-12-14 14:40:45 -05:00

50 lines
1.4 KiB
Go

package controller
import (
"github.com/go-openapi/runtime/middleware"
"github.com/openziti-test-kitchen/zrok/rest_model_zrok"
"github.com/openziti-test-kitchen/zrok/rest_server_zrok/operations/admin"
"github.com/sirupsen/logrus"
)
type deleteFrontendHandler struct{}
func newDeleteFrontendHandler() *deleteFrontendHandler {
return &deleteFrontendHandler{}
}
func (h *deleteFrontendHandler) Handle(params admin.DeleteFrontendParams, principal *rest_model_zrok.Principal) middleware.Responder {
feToken := params.Body.FrontendToken
if !principal.Admin {
logrus.Errorf("invalid admin principal")
return admin.NewDeleteFrontendUnauthorized()
}
tx, err := str.Begin()
if err != nil {
logrus.Errorf("error starting transaction: %v", err)
return admin.NewDeleteFrontendInternalServerError()
}
defer func() { _ = tx.Rollback() }()
fe, err := str.FindFrontendWithToken(feToken, tx)
if err != nil {
logrus.Errorf("error finding frontend with token '%v': %v", feToken, err)
return admin.NewDeleteFrontendNotFound()
}
if err := str.DeleteFrontend(fe.Id, tx); err != nil {
logrus.Errorf("error deleting frontend '%v': %v", feToken, err)
return admin.NewDeleteFrontendInternalServerError()
}
if err := tx.Commit(); err != nil {
logrus.Errorf("error commiting frontend '%v' deletion: %v", feToken, err)
return admin.NewDeleteFrontendInternalServerError()
}
return admin.NewDeleteFrontendOK()
}