mirror of
https://github.com/openziti/zrok.git
synced 2025-06-24 03:31:57 +02:00
frontendToken; frontend description (#834)
This commit is contained in:
parent
5228e25fb7
commit
e95e5c3fe8
@ -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":
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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()
|
||||
}
|
||||
|
@ -23,8 +23,8 @@ type Frontend struct {
|
||||
// description
|
||||
Description string `json:"description,omitempty"`
|
||||
|
||||
// fe token
|
||||
FeToken string `json:"feToken,omitempty"`
|
||||
// frontend token
|
||||
FrontendToken string `json:"frontendToken,omitempty"`
|
||||
|
||||
// id
|
||||
ID int64 `json:"id,omitempty"`
|
||||
|
@ -1999,7 +1999,7 @@ func init() {
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"feToken": {
|
||||
"frontendToken": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
@ -4248,7 +4248,7 @@ func init() {
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"feToken": {
|
||||
"frontendToken": {
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
|
@ -14,7 +14,7 @@ import { RequestFile } from './models';
|
||||
|
||||
export class Frontend {
|
||||
'id'?: number;
|
||||
'feToken'?: string;
|
||||
'frontendToken'?: string;
|
||||
'shareToken'?: string;
|
||||
'description'?: string;
|
||||
'zId'?: string;
|
||||
@ -30,8 +30,8 @@ export class Frontend {
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "feToken",
|
||||
"baseName": "feToken",
|
||||
"name": "frontendToken",
|
||||
"baseName": "frontendToken",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
|
@ -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]
|
||||
|
@ -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',
|
||||
@ -39,7 +39,7 @@ class Frontend(object):
|
||||
|
||||
attribute_map = {
|
||||
'id': 'id',
|
||||
'fe_token': 'feToken',
|
||||
'frontend_token': 'frontendToken',
|
||||
'share_token': 'shareToken',
|
||||
'description': 'description',
|
||||
'z_id': 'zId',
|
||||
@ -47,10 +47,10 @@ class Frontend(object):
|
||||
'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
|
||||
@ -59,8 +59,8 @@ class Frontend(object):
|
||||
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:
|
||||
@ -94,25 +94,25 @@ class Frontend(object):
|
||||
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):
|
||||
|
@ -1241,7 +1241,7 @@ definitions:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
feToken:
|
||||
frontendToken:
|
||||
type: string
|
||||
shareToken:
|
||||
type: string
|
||||
|
@ -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;
|
||||
@ -43,7 +43,6 @@ const AccessPanel = ({ access }: AccessPanelProps) => {
|
||||
|
||||
const labels = {
|
||||
createdAt: "Created",
|
||||
feToken: "Frontend Token",
|
||||
updatedAt: "Updated",
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
@ -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
|
||||
}
|
||||
@ -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);
|
||||
@ -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">
|
||||
|
@ -30,7 +30,7 @@ export interface Frontend {
|
||||
* @type {string}
|
||||
* @memberof Frontend
|
||||
*/
|
||||
feToken?: string;
|
||||
frontendToken?: string;
|
||||
/**
|
||||
*
|
||||
* @type {string}
|
||||
@ -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'],
|
||||
@ -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'],
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user