Skip to content

Commit

Permalink
frontendToken; frontend description (#834)
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelquigley committed Feb 5, 2025
1 parent 5228e25 commit e95e5c3
Show file tree
Hide file tree
Showing 15 changed files with 65 additions and 55 deletions.
8 changes: 8 additions & 0 deletions cmd/zrok/accessPrivate.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,14 @@ func (cmd *accessPrivateCommand) accessLocal(args []string, root env_core.Root)
bindAddress = autoAddress
}

upReq := share.NewUpdateAccessParams()
upReq.Body.FrontendToken = accessResp.Payload.FrontendToken
upReq.Body.Description = bindAddress
_, err = zrok.Share.UpdateAccess(upReq, auth)
if err != nil {
cmd.error(err)
}

protocol := "http://"
switch accessResp.Payload.BackendMode {
case "tcpTunnel":
Expand Down
13 changes: 8 additions & 5 deletions controller/frontendDetail.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,14 @@ func (h *getFrontendDetailHandler) Handle(params metadata.GetFrontendDetailParam
return metadata.NewGetFrontendDetailNotFound()
}
payload := &rest_model_zrok.Frontend{
ID: int64(fe.Id),
FeToken: fe.Token,
ZID: fe.ZId,
CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(),
ID: int64(fe.Id),
FrontendToken: fe.Token,
ZID: fe.ZId,
CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(),
}
if fe.Description != nil {
payload.Description = *fe.Description
}
if fe.PrivateShareId != nil {
shr, err := str.GetShare(*fe.PrivateShareId, trx)
Expand Down
10 changes: 5 additions & 5 deletions controller/orgAccountOverview.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,11 @@ func (h *orgAccountOverviewHandler) Handle(params metadata.OrgAccountOverviewPar
}
for _, fe := range fes {
envFe := &rest_model_zrok.Frontend{
ID: int64(fe.Id),
FeToken: fe.Token,
ZID: fe.ZId,
CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(),
ID: int64(fe.Id),
FrontendToken: fe.Token,
ZID: fe.ZId,
CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(),
}
if fe.PrivateShareId != nil {
feShr, err := str.GetShare(*fe.PrivateShareId, trx)
Expand Down
10 changes: 5 additions & 5 deletions controller/overview.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ func (h *overviewHandler) Handle(_ metadata.OverviewParams, principal *rest_mode
}
for _, fe := range fes {
envFe := &rest_model_zrok.Frontend{
ID: int64(fe.Id),
FeToken: fe.Token,
ZID: fe.ZId,
CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(),
ID: int64(fe.Id),
FrontendToken: fe.Token,
ZID: fe.ZId,
CreatedAt: fe.CreatedAt.UnixMilli(),
UpdatedAt: fe.UpdatedAt.UnixMilli(),
}
if fe.PrivateShareId != nil {
feShr, err := str.GetShare(*fe.PrivateShareId, trx)
Expand Down
2 changes: 1 addition & 1 deletion controller/updateAccess.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ func (h *updateAccessHandler) Handle(params share.UpdateAccessParams, principal
logrus.Errorf("error updating frontend '%v': %v", feToken, err)
return share.NewUpdateAccessInternalServerError()
}
logrus.Warnf("updated frontend '%v' description to '%v'", feToken, *fe.Description)

if err := trx.Commit(); err != nil {
logrus.Errorf("error committing transaction for frontend '%v': %v", feToken, err)
return share.NewUpdateAccessInternalServerError()
}

return share.NewUpdateAccessOK()
}
4 changes: 2 additions & 2 deletions rest_model_zrok/frontend.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions rest_server_zrok/embedded_spec.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions sdk/nodejs/sdk/src/zrok/api/model/frontend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { RequestFile } from './models';

export class Frontend {
'id'?: number;
'feToken'?: string;
'frontendToken'?: string;
'shareToken'?: string;
'description'?: string;
'zId'?: string;
Expand All @@ -30,8 +30,8 @@ export class Frontend {
"type": "number"
},
{
"name": "feToken",
"baseName": "feToken",
"name": "frontendToken",
"baseName": "frontendToken",
"type": "string"
},
{
Expand Down
2 changes: 1 addition & 1 deletion sdk/python/sdk/zrok/docs/Frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **int** | | [optional]
**fe_token** | **str** | | [optional]
**frontend_token** | **str** | | [optional]
**share_token** | **str** | | [optional]
**description** | **str** | | [optional]
**z_id** | **str** | | [optional]
Expand Down
30 changes: 15 additions & 15 deletions sdk/python/sdk/zrok/zrok_api/models/frontend.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class Frontend(object):
"""
swagger_types = {
'id': 'int',
'fe_token': 'str',
'frontend_token': 'str',
'share_token': 'str',
'description': 'str',
'z_id': 'str',
Expand All @@ -39,18 +39,18 @@ class Frontend(object):

attribute_map = {
'id': 'id',
'fe_token': 'feToken',
'frontend_token': 'frontendToken',
'share_token': 'shareToken',
'description': 'description',
'z_id': 'zId',
'created_at': 'createdAt',
'updated_at': 'updatedAt'
}

def __init__(self, id=None, fe_token=None, share_token=None, description=None, z_id=None, created_at=None, updated_at=None): # noqa: E501
def __init__(self, id=None, frontend_token=None, share_token=None, description=None, z_id=None, created_at=None, updated_at=None): # noqa: E501
"""Frontend - a model defined in Swagger""" # noqa: E501
self._id = None
self._fe_token = None
self._frontend_token = None
self._share_token = None
self._description = None
self._z_id = None
Expand All @@ -59,8 +59,8 @@ def __init__(self, id=None, fe_token=None, share_token=None, description=None, z
self.discriminator = None
if id is not None:
self.id = id
if fe_token is not None:
self.fe_token = fe_token
if frontend_token is not None:
self.frontend_token = frontend_token
if share_token is not None:
self.share_token = share_token
if description is not None:
Expand Down Expand Up @@ -94,25 +94,25 @@ def id(self, id):
self._id = id

@property
def fe_token(self):
"""Gets the fe_token of this Frontend. # noqa: E501
def frontend_token(self):
"""Gets the frontend_token of this Frontend. # noqa: E501
:return: The fe_token of this Frontend. # noqa: E501
:return: The frontend_token of this Frontend. # noqa: E501
:rtype: str
"""
return self._fe_token
return self._frontend_token

@fe_token.setter
def fe_token(self, fe_token):
"""Sets the fe_token of this Frontend.
@frontend_token.setter
def frontend_token(self, frontend_token):
"""Sets the frontend_token of this Frontend.
:param fe_token: The fe_token of this Frontend. # noqa: E501
:param frontend_token: The frontend_token of this Frontend. # noqa: E501
:type: str
"""

self._fe_token = fe_token
self._frontend_token = frontend_token

@property
def share_token(self):
Expand Down
2 changes: 1 addition & 1 deletion specs/zrok.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1241,7 +1241,7 @@ definitions:
properties:
id:
type: integer
feToken:
frontendToken:
type: string
shareToken:
type: string
Expand Down
3 changes: 1 addition & 2 deletions ui/src/AccessPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const AccessPanel = ({ access }: AccessPanelProps) => {
}

useEffect(() => {
getMetadataApi(user).getFrontendDetail({feId: access.data.feId as number})
getMetadataApi(user).getFrontendDetail({frontendId: access.data.feId as number})
.then(d => {
delete d.id;
delete d.zId;
Expand All @@ -43,7 +43,6 @@ const AccessPanel = ({ access }: AccessPanelProps) => {

const labels = {
createdAt: "Created",
feToken: "Frontend Token",
updatedAt: "Updated",
}

Expand Down
16 changes: 8 additions & 8 deletions ui/src/ReleaseAccessModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ interface ReleaseAccessProps {

const ReleaseAccessModal = ({ close, isOpen, user, access, detail }: ReleaseAccessProps) => {
const [errorMessage, setErrorMessage] = useState<React.JSX.Element>(null);
const [feToken, setFeToken] = useState<String>("");
const [frontendToken, setFrontendToken] = useState<String>("");
const [checked, setChecked] = useState<boolean>(false);
const checkedRef = useRef<boolean>(checked);

Expand All @@ -30,17 +30,17 @@ const ReleaseAccessModal = ({ close, isOpen, user, access, detail }: ReleaseAcce
}, [isOpen]);

useEffect(() => {
if(detail && detail.feToken) {
setFeToken(detail.feToken);
if(detail && detail.frontendToken) {
setFrontendToken(detail.frontendToken);
}
}, [detail]);

const releaseAccess = () => {
setErrorMessage(null);
if(detail && detail.feToken) {
if(detail && detail.frontendToken) {
getShareApi(user).unaccess({
body: {
frontendToken: detail.feToken,
frontendToken: detail.frontendToken,
envZId: access.data.envZId as string,
shareToken: detail.shareToken
}
Expand All @@ -52,7 +52,7 @@ const ReleaseAccessModal = ({ close, isOpen, user, access, detail }: ReleaseAcce
e.response.json().then(ex => {
console.log("releaseAccess", ex.message);
});
setErrorMessage(<Typography color="red">An error occurred releasing your access <code>{detail.feToken}</code>!</Typography>);
setErrorMessage(<Typography color="red">An error occurred releasing your access <code>{detail.frontendToken}</code>!</Typography>);
setTimeout(() => {
setErrorMessage(null);
setChecked(false);
Expand All @@ -68,10 +68,10 @@ const ReleaseAccessModal = ({ close, isOpen, user, access, detail }: ReleaseAcce
<Typography variant="h5"><strong>Release Access</strong></Typography>
</Grid2>
<Grid2 container sx={{ flexGrow: 1, p: 1 }} alignItems="center">
<Typography variant="body1">Would you like to release the access <code>{feToken}</code> ?</Typography>
<Typography variant="body1">Would you like to release the access <code>{frontendToken}</code> ?</Typography>
</Grid2>
<Grid2 container sx={{ flexGrow: 1, p: 1 }} alignItems="center">
<FormControlLabel control={<Checkbox checked={checked} onChange={toggleChecked} />} label={<p>I confirm the release of <code>{feToken}</code></p>} sx={{ mt: 2 }} />
<FormControlLabel control={<Checkbox checked={checked} onChange={toggleChecked} />} label={<p>I confirm the release of <code>{frontendToken}</code></p>} sx={{ mt: 2 }} />
</Grid2>
{ errorMessage ? <Grid2 container sx={{ mb: 2, p: 1}}><Typography>{errorMessage}</Typography></Grid2> : null}
<Grid2 container sx={{ flexGrow: 1 }} alignItems="center">
Expand Down
6 changes: 3 additions & 3 deletions ui/src/api/models/Frontend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export interface Frontend {
* @type {string}
* @memberof Frontend
*/
feToken?: string;
frontendToken?: string;
/**
*
* @type {string}
Expand Down Expand Up @@ -81,7 +81,7 @@ export function FrontendFromJSONTyped(json: any, ignoreDiscriminator: boolean):
return {

'id': json['id'] == null ? undefined : json['id'],
'feToken': json['feToken'] == null ? undefined : json['feToken'],
'frontendToken': json['frontendToken'] == null ? undefined : json['frontendToken'],
'shareToken': json['shareToken'] == null ? undefined : json['shareToken'],
'description': json['description'] == null ? undefined : json['description'],
'zId': json['zId'] == null ? undefined : json['zId'],
Expand All @@ -97,7 +97,7 @@ export function FrontendToJSON(value?: Frontend | null): any {
return {

'id': value['id'],
'feToken': value['feToken'],
'frontendToken': value['frontendToken'],
'shareToken': value['shareToken'],
'description': value['description'],
'zId': value['zId'],
Expand Down
4 changes: 2 additions & 2 deletions ui/src/model/graph.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ export const mergeGraph = (oldVov: Graph, u: User, limited: boolean, newOv: Over
envNode.data.empty = false;
env.frontends.forEach(fe => {
let feNode = {
id: fe.feToken!,
id: fe.frontendToken!,
data: {
label: fe.feToken!,
label: fe.frontendToken!,
feId: fe.id,
target: fe.shareToken,
envZId: fe.zId,
Expand Down

0 comments on commit e95e5c3

Please sign in to comment.