mirror of
https://github.com/openziti/zrok.git
synced 2025-07-23 17:05:45 +02:00
.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
50 lines
1.4 KiB
Go
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()
|
|
|
|
}
|