Skip to content

Commit

Permalink
frontend bind address data wiring (#834)
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelquigley committed Feb 5, 2025
1 parent e95e5c3 commit e7f126b
Show file tree
Hide file tree
Showing 22 changed files with 228 additions and 7 deletions.
9 changes: 5 additions & 4 deletions controller/store/frontend.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,16 @@ type Frontend struct {
Reserved bool
PermissionMode PermissionMode
Description *string
BindAddress *string
}

func (str *Store) CreateFrontend(envId int, f *Frontend, tx *sqlx.Tx) (int, error) {
stmt, err := tx.Prepare("insert into frontends (environment_id, private_share_id, token, z_id, public_name, url_template, reserved, permission_mode, description) values ($1, $2, $3, $4, $5, $6, $7, $8, $9) returning id")
stmt, err := tx.Prepare("insert into frontends (environment_id, private_share_id, token, z_id, public_name, url_template, reserved, permission_mode, description, bind_address) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) returning id")
if err != nil {
return 0, errors.Wrap(err, "error preparing frontends insert statement")
}
var id int
if err := stmt.QueryRow(envId, f.PrivateShareId, f.Token, f.ZId, f.PublicName, f.UrlTemplate, f.Reserved, f.PermissionMode, f.Description).Scan(&id); err != nil {
if err := stmt.QueryRow(envId, f.PrivateShareId, f.Token, f.ZId, f.PublicName, f.UrlTemplate, f.Reserved, f.PermissionMode, f.Description, f.BindAddress).Scan(&id); err != nil {
return 0, errors.Wrap(err, "error executing frontends insert statement")
}
return id, nil
Expand Down Expand Up @@ -123,12 +124,12 @@ func (str *Store) FindFrontendsForPrivateShare(shrId int, tx *sqlx.Tx) ([]*Front
}

func (str *Store) UpdateFrontend(fe *Frontend, tx *sqlx.Tx) error {
sql := "update frontends set environment_id = $1, private_share_id = $2, token = $3, z_id = $4, public_name = $5, url_template = $6, reserved = $7, permission_mode = $8, description = $9, updated_at = current_timestamp where id = $10"
sql := "update frontends set environment_id = $1, private_share_id = $2, token = $3, z_id = $4, public_name = $5, url_template = $6, reserved = $7, permission_mode = $8, description = $9, bind_address = $10, updated_at = current_timestamp where id = $11"
stmt, err := tx.Prepare(sql)
if err != nil {
return errors.Wrap(err, "error preparing frontends update statement")
}
_, err = stmt.Exec(fe.EnvironmentId, fe.PrivateShareId, fe.Token, fe.ZId, fe.PublicName, fe.UrlTemplate, fe.Reserved, fe.PermissionMode, fe.Description, fe.Id)
_, err = stmt.Exec(fe.EnvironmentId, fe.PrivateShareId, fe.Token, fe.ZId, fe.PublicName, fe.UrlTemplate, fe.Reserved, fe.PermissionMode, fe.Description, fe.BindAddress, fe.Id)
if err != nil {
return errors.Wrap(err, "error executing frontends update statement")
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- +migrate Up

alter table frontends add column bind_address varchar(128);
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
-- +migrate Up

alter table frontends add column bind_address varchar(128);
3 changes: 3 additions & 0 deletions rest_client_zrok/share/access_responses.go

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

3 changes: 3 additions & 0 deletions rest_client_zrok/share/update_access_responses.go

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

6 changes: 6 additions & 0 deletions rest_model_zrok/frontend.go

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

24 changes: 24 additions & 0 deletions rest_server_zrok/embedded_spec.go

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

3 changes: 3 additions & 0 deletions rest_server_zrok/operations/share/access.go

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

3 changes: 3 additions & 0 deletions rest_server_zrok/operations/share/update_access.go

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

6 changes: 6 additions & 0 deletions sdk/nodejs/sdk/src/zrok/api/model/accessRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import { RequestFile } from './models';
export class AccessRequest {
'envZId'?: string;
'shareToken'?: string;
'bindAddress'?: string;
'description'?: string;

static discriminator: string | undefined = undefined;
Expand All @@ -30,6 +31,11 @@ export class AccessRequest {
"baseName": "shareToken",
"type": "string"
},
{
"name": "bindAddress",
"baseName": "bindAddress",
"type": "string"
},
{
"name": "description",
"baseName": "description",
Expand Down
12 changes: 12 additions & 0 deletions sdk/nodejs/sdk/src/zrok/api/model/frontend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ export class Frontend {
'id'?: number;
'frontendToken'?: string;
'shareToken'?: string;
'backendMode'?: string;
'bindAddress'?: string;
'description'?: string;
'zId'?: string;
'createdAt'?: number;
Expand All @@ -39,6 +41,16 @@ export class Frontend {
"baseName": "shareToken",
"type": "string"
},
{
"name": "backendMode",
"baseName": "backendMode",
"type": "string"
},
{
"name": "bindAddress",
"baseName": "bindAddress",
"type": "string"
},
{
"name": "description",
"baseName": "description",
Expand Down
6 changes: 6 additions & 0 deletions sdk/nodejs/sdk/src/zrok/api/model/updateAccessRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import { RequestFile } from './models';

export class UpdateAccessRequest {
'frontendToken'?: string;
'bindAddress'?: string;
'description'?: string;

static discriminator: string | undefined = undefined;
Expand All @@ -24,6 +25,11 @@ export class UpdateAccessRequest {
"baseName": "frontendToken",
"type": "string"
},
{
"name": "bindAddress",
"baseName": "bindAddress",
"type": "string"
},
{
"name": "description",
"baseName": "description",
Expand Down
1 change: 1 addition & 0 deletions sdk/python/sdk/zrok/docs/AccessBody.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**env_zid** | **str** | | [optional]
**share_token** | **str** | | [optional]
**bind_address** | **str** | | [optional]
**description** | **str** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
Expand Down
1 change: 1 addition & 0 deletions sdk/python/sdk/zrok/docs/AccessBody1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**frontend_token** | **str** | | [optional]
**bind_address** | **str** | | [optional]
**description** | **str** | | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
Expand Down
2 changes: 2 additions & 0 deletions sdk/python/sdk/zrok/docs/Frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ Name | Type | Description | Notes
**id** | **int** | | [optional]
**frontend_token** | **str** | | [optional]
**share_token** | **str** | | [optional]
**backend_mode** | **str** | | [optional]
**bind_address** | **str** | | [optional]
**description** | **str** | | [optional]
**z_id** | **str** | | [optional]
**created_at** | **int** | | [optional]
Expand Down
28 changes: 27 additions & 1 deletion sdk/python/sdk/zrok/zrok_api/models/access_body.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,30 @@ class AccessBody(object):
swagger_types = {
'env_zid': 'str',
'share_token': 'str',
'bind_address': 'str',
'description': 'str'
}

attribute_map = {
'env_zid': 'envZId',
'share_token': 'shareToken',
'bind_address': 'bindAddress',
'description': 'description'
}

def __init__(self, env_zid=None, share_token=None, description=None): # noqa: E501
def __init__(self, env_zid=None, share_token=None, bind_address=None, description=None): # noqa: E501
"""AccessBody - a model defined in Swagger""" # noqa: E501
self._env_zid = None
self._share_token = None
self._bind_address = None
self._description = None
self.discriminator = None
if env_zid is not None:
self.env_zid = env_zid
if share_token is not None:
self.share_token = share_token
if bind_address is not None:
self.bind_address = bind_address
if description is not None:
self.description = description

Expand Down Expand Up @@ -94,6 +99,27 @@ def share_token(self, share_token):

self._share_token = share_token

@property
def bind_address(self):
"""Gets the bind_address of this AccessBody. # noqa: E501
:return: The bind_address of this AccessBody. # noqa: E501
:rtype: str
"""
return self._bind_address

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

self._bind_address = bind_address

@property
def description(self):
"""Gets the description of this AccessBody. # noqa: E501
Expand Down
28 changes: 27 additions & 1 deletion sdk/python/sdk/zrok/zrok_api/models/access_body1.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,26 @@ class AccessBody1(object):
"""
swagger_types = {
'frontend_token': 'str',
'bind_address': 'str',
'description': 'str'
}

attribute_map = {
'frontend_token': 'frontendToken',
'bind_address': 'bindAddress',
'description': 'description'
}

def __init__(self, frontend_token=None, description=None): # noqa: E501
def __init__(self, frontend_token=None, bind_address=None, description=None): # noqa: E501
"""AccessBody1 - a model defined in Swagger""" # noqa: E501
self._frontend_token = None
self._bind_address = None
self._description = None
self.discriminator = None
if frontend_token is not None:
self.frontend_token = frontend_token
if bind_address is not None:
self.bind_address = bind_address
if description is not None:
self.description = description

Expand All @@ -68,6 +73,27 @@ def frontend_token(self, frontend_token):

self._frontend_token = frontend_token

@property
def bind_address(self):
"""Gets the bind_address of this AccessBody1. # noqa: E501
:return: The bind_address of this AccessBody1. # noqa: E501
:rtype: str
"""
return self._bind_address

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

self._bind_address = bind_address

@property
def description(self):
"""Gets the description of this AccessBody1. # noqa: E501
Expand Down
Loading

0 comments on commit e7f126b

Please sign in to comment.