list public frontends for account implementation (#996)

This commit is contained in:
Michael Quigley
2025-06-27 13:12:10 -04:00
parent ac95ebd2f7
commit f6d1b01ef0
26 changed files with 730 additions and 61 deletions

View File

@@ -37,6 +37,7 @@ docs/ListOrganizationMembers200ResponseMembersInner.md
docs/ListOrganizations200Response.md
docs/ListOrganizations200ResponseOrganizationsInner.md
docs/ListPublicFrontendsForAccount200Response.md
docs/ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.md
docs/LoginRequest.md
docs/MetadataApi.md
docs/Metrics.md
@@ -110,6 +111,7 @@ test/test_list_organization_members200_response_members_inner.py
test/test_list_organizations200_response.py
test/test_list_organizations200_response_organizations_inner.py
test/test_list_public_frontends_for_account200_response.py
test/test_list_public_frontends_for_account200_response_public_frontends_inner.py
test/test_login_request.py
test/test_metadata_api.py
test/test_metrics.py
@@ -189,6 +191,7 @@ zrok_api/models/list_organization_members200_response_members_inner.py
zrok_api/models/list_organizations200_response.py
zrok_api/models/list_organizations200_response_organizations_inner.py
zrok_api/models/list_public_frontends_for_account200_response.py
zrok_api/models/list_public_frontends_for_account200_response_public_frontends_inner.py
zrok_api/models/login_request.py
zrok_api/models/metrics.py
zrok_api/models/metrics_sample.py

View File

@@ -187,6 +187,7 @@ Class | Method | HTTP request | Description
- [ListOrganizations200Response](docs/ListOrganizations200Response.md)
- [ListOrganizations200ResponseOrganizationsInner](docs/ListOrganizations200ResponseOrganizationsInner.md)
- [ListPublicFrontendsForAccount200Response](docs/ListPublicFrontendsForAccount200Response.md)
- [ListPublicFrontendsForAccount200ResponsePublicFrontendsInner](docs/ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.md)
- [LoginRequest](docs/LoginRequest.md)
- [Metrics](docs/Metrics.md)
- [MetricsSample](docs/MetricsSample.md)

View File

@@ -5,8 +5,7 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**public_name** | **str** | | [optional]
**url_template** | **str** | | [optional]
**public_frontends** | [**List[ListPublicFrontendsForAccount200ResponsePublicFrontendsInner]**](ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.md) | | [optional]
## Example

View File

@@ -0,0 +1,30 @@
# ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**public_name** | **str** | | [optional]
**url_template** | **str** | | [optional]
## Example
```python
from zrok_api.models.list_public_frontends_for_account200_response_public_frontends_inner import ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
# TODO update the JSON string below
json = "{}"
# create an instance of ListPublicFrontendsForAccount200ResponsePublicFrontendsInner from a JSON string
list_public_frontends_for_account200_response_public_frontends_inner_instance = ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.from_json(json)
# print the JSON string representation of the object
print(ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.to_json())
# convert the object into a dict
list_public_frontends_for_account200_response_public_frontends_inner_dict = list_public_frontends_for_account200_response_public_frontends_inner_instance.to_dict()
# create an instance of ListPublicFrontendsForAccount200ResponsePublicFrontendsInner from a dict
list_public_frontends_for_account200_response_public_frontends_inner_from_dict = ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.from_dict(list_public_frontends_for_account200_response_public_frontends_inner_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@@ -35,8 +35,11 @@ class TestListPublicFrontendsForAccount200Response(unittest.TestCase):
model = ListPublicFrontendsForAccount200Response()
if include_optional:
return ListPublicFrontendsForAccount200Response(
public_name = '',
url_template = ''
public_frontends = [
zrok_api.models.list_public_frontends_for_account_200_response_public_frontends_inner.listPublicFrontendsForAccount_200_response_publicFrontends_inner(
public_name = '',
url_template = '', )
]
)
else:
return ListPublicFrontendsForAccount200Response(

View File

@@ -0,0 +1,52 @@
# coding: utf-8
"""
zrok
zrok client access
The version of the OpenAPI document: 1.0.0
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import unittest
from zrok_api.models.list_public_frontends_for_account200_response_public_frontends_inner import ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
class TestListPublicFrontendsForAccount200ResponsePublicFrontendsInner(unittest.TestCase):
"""ListPublicFrontendsForAccount200ResponsePublicFrontendsInner unit test stubs"""
def setUp(self):
pass
def tearDown(self):
pass
def make_instance(self, include_optional) -> ListPublicFrontendsForAccount200ResponsePublicFrontendsInner:
"""Test ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
include_optional is a boolean, when False only required
params are included, when True both required and
optional params are included """
# uncomment below to create an instance of `ListPublicFrontendsForAccount200ResponsePublicFrontendsInner`
"""
model = ListPublicFrontendsForAccount200ResponsePublicFrontendsInner()
if include_optional:
return ListPublicFrontendsForAccount200ResponsePublicFrontendsInner(
public_name = '',
url_template = ''
)
else:
return ListPublicFrontendsForAccount200ResponsePublicFrontendsInner(
)
"""
def testListPublicFrontendsForAccount200ResponsePublicFrontendsInner(self):
"""Test ListPublicFrontendsForAccount200ResponsePublicFrontendsInner"""
# inst_req_only = self.make_instance(include_optional=False)
# inst_req_and_optional = self.make_instance(include_optional=True)
if __name__ == '__main__':
unittest.main()

View File

@@ -69,6 +69,7 @@ from zrok_api.models.list_organization_members200_response_members_inner import
from zrok_api.models.list_organizations200_response import ListOrganizations200Response
from zrok_api.models.list_organizations200_response_organizations_inner import ListOrganizations200ResponseOrganizationsInner
from zrok_api.models.list_public_frontends_for_account200_response import ListPublicFrontendsForAccount200Response
from zrok_api.models.list_public_frontends_for_account200_response_public_frontends_inner import ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
from zrok_api.models.login_request import LoginRequest
from zrok_api.models.metrics import Metrics
from zrok_api.models.metrics_sample import MetricsSample

View File

@@ -47,6 +47,7 @@ from zrok_api.models.list_organization_members200_response_members_inner import
from zrok_api.models.list_organizations200_response import ListOrganizations200Response
from zrok_api.models.list_organizations200_response_organizations_inner import ListOrganizations200ResponseOrganizationsInner
from zrok_api.models.list_public_frontends_for_account200_response import ListPublicFrontendsForAccount200Response
from zrok_api.models.list_public_frontends_for_account200_response_public_frontends_inner import ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
from zrok_api.models.login_request import LoginRequest
from zrok_api.models.metrics import Metrics
from zrok_api.models.metrics_sample import MetricsSample

View File

@@ -17,8 +17,9 @@ import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from zrok_api.models.list_public_frontends_for_account200_response_public_frontends_inner import ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
from typing import Optional, Set
from typing_extensions import Self
@@ -26,9 +27,8 @@ class ListPublicFrontendsForAccount200Response(BaseModel):
"""
ListPublicFrontendsForAccount200Response
""" # noqa: E501
public_name: Optional[StrictStr] = Field(default=None, alias="publicName")
url_template: Optional[StrictStr] = Field(default=None, alias="urlTemplate")
__properties: ClassVar[List[str]] = ["publicName", "urlTemplate"]
public_frontends: Optional[List[ListPublicFrontendsForAccount200ResponsePublicFrontendsInner]] = Field(default=None, alias="publicFrontends")
__properties: ClassVar[List[str]] = ["publicFrontends"]
model_config = ConfigDict(
populate_by_name=True,
@@ -69,6 +69,13 @@ class ListPublicFrontendsForAccount200Response(BaseModel):
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of each item in public_frontends (list)
_items = []
if self.public_frontends:
for _item_public_frontends in self.public_frontends:
if _item_public_frontends:
_items.append(_item_public_frontends.to_dict())
_dict['publicFrontends'] = _items
return _dict
@classmethod
@@ -81,8 +88,7 @@ class ListPublicFrontendsForAccount200Response(BaseModel):
return cls.model_validate(obj)
_obj = cls.model_validate({
"publicName": obj.get("publicName"),
"urlTemplate": obj.get("urlTemplate")
"publicFrontends": [ListPublicFrontendsForAccount200ResponsePublicFrontendsInner.from_dict(_item) for _item in obj["publicFrontends"]] if obj.get("publicFrontends") is not None else None
})
return _obj

View File

@@ -0,0 +1,89 @@
# coding: utf-8
"""
zrok
zrok client access
The version of the OpenAPI document: 1.0.0
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self
class ListPublicFrontendsForAccount200ResponsePublicFrontendsInner(BaseModel):
"""
ListPublicFrontendsForAccount200ResponsePublicFrontendsInner
""" # noqa: E501
public_name: Optional[StrictStr] = Field(default=None, alias="publicName")
url_template: Optional[StrictStr] = Field(default=None, alias="urlTemplate")
__properties: ClassVar[List[str]] = ["publicName", "urlTemplate"]
model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)
def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ListPublicFrontendsForAccount200ResponsePublicFrontendsInner from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
"""
excluded_fields: Set[str] = set([
])
_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ListPublicFrontendsForAccount200ResponsePublicFrontendsInner from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"publicName": obj.get("publicName"),
"urlTemplate": obj.get("urlTemplate")
})
return _obj