additional data for frontend details (#834)

This commit is contained in:
Michael Quigley 2025-02-05 11:25:05 -05:00
parent e7f126bd45
commit 66ad6005be
No known key found for this signature in database
GPG Key ID: 9B60314A9DD20A62
3 changed files with 17 additions and 9 deletions

View File

@ -140,7 +140,7 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
upReq := share.NewUpdateAccessParams() upReq := share.NewUpdateAccessParams()
upReq.Body.FrontendToken = accessResp.Payload.FrontendToken upReq.Body.FrontendToken = accessResp.Payload.FrontendToken
upReq.Body.Description = bindAddress upReq.Body.BindAddress = bindAddress
_, err = zrok.Share.UpdateAccess(upReq, auth) _, err = zrok.Share.UpdateAccess(upReq, auth)
if err != nil { if err != nil {
cmd.error(err) cmd.error(err)

View File

@ -52,6 +52,9 @@ func (h *getFrontendDetailHandler) Handle(params metadata.GetFrontendDetailParam
CreatedAt: fe.CreatedAt.UnixMilli(), CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(), UpdatedAt: fe.UpdatedAt.UnixMilli(),
} }
if fe.BindAddress != nil {
payload.BindAddress = *fe.BindAddress
}
if fe.Description != nil { if fe.Description != nil {
payload.Description = *fe.Description payload.Description = *fe.Description
} }
@ -62,6 +65,7 @@ func (h *getFrontendDetailHandler) Handle(params metadata.GetFrontendDetailParam
return metadata.NewGetFrontendDetailInternalServerError() return metadata.NewGetFrontendDetailInternalServerError()
} }
payload.ShareToken = shr.Token payload.ShareToken = shr.Token
payload.BackendMode = shr.BackendMode
} }
return metadata.NewGetFrontendDetailOK().WithPayload(payload) return metadata.NewGetFrontendDetailOK().WithPayload(payload)
} }

View File

@ -14,7 +14,8 @@ func newUpdateAccessHandler() *updateAccessHandler {
} }
func (h *updateAccessHandler) Handle(params share.UpdateAccessParams, principal *rest_model_zrok.Principal) middleware.Responder { func (h *updateAccessHandler) Handle(params share.UpdateAccessParams, principal *rest_model_zrok.Principal) middleware.Responder {
feToken := params.Body.FrontendToken frontendToken := params.Body.FrontendToken
bindAddress := params.Body.BindAddress
desc := params.Body.Description desc := params.Body.Description
trx, err := str.Begin() trx, err := str.Begin()
@ -24,9 +25,9 @@ func (h *updateAccessHandler) Handle(params share.UpdateAccessParams, principal
} }
defer func() { _ = trx.Rollback() }() defer func() { _ = trx.Rollback() }()
fe, err := str.FindFrontendWithToken(feToken, trx) fe, err := str.FindFrontendWithToken(frontendToken, trx)
if err != nil { if err != nil {
logrus.Errorf("error finding frontend with token '%v': %v", feToken, err) logrus.Errorf("error finding frontend with token '%v': %v", frontendToken, err)
return share.NewUpdateAccessNotFound() return share.NewUpdateAccessNotFound()
} }
@ -43,7 +44,7 @@ func (h *updateAccessHandler) Handle(params share.UpdateAccessParams, principal
} }
} }
if !envMatched { if !envMatched {
logrus.Errorf("account '%v' does not own frontend '%v'", principal.Email, feToken) logrus.Errorf("account '%v' does not own frontend '%v'", principal.Email, frontendToken)
return share.NewUpdateAccessNotFound() return share.NewUpdateAccessNotFound()
} }
@ -52,14 +53,17 @@ func (h *updateAccessHandler) Handle(params share.UpdateAccessParams, principal
} else { } else {
fe.Description = nil fe.Description = nil
} }
if bindAddress != "" {
fe.BindAddress = &bindAddress
} else {
fe.BindAddress = nil
}
if err := str.UpdateFrontend(fe, trx); err != nil { if err := str.UpdateFrontend(fe, trx); err != nil {
logrus.Errorf("error updating frontend '%v': %v", feToken, err) logrus.Errorf("error updating frontend '%v': %v", frontendToken, err)
return share.NewUpdateAccessInternalServerError() return share.NewUpdateAccessInternalServerError()
} }
logrus.Warnf("updated frontend '%v' description to '%v'", feToken, *fe.Description)
if err := trx.Commit(); err != nil { if err := trx.Commit(); err != nil {
logrus.Errorf("error committing transaction for frontend '%v': %v", feToken, err) logrus.Errorf("error committing transaction for frontend '%v': %v", frontendToken, err)
return share.NewUpdateAccessInternalServerError() return share.NewUpdateAccessInternalServerError()
} }
return share.NewUpdateAccessOK() return share.NewUpdateAccessOK()