Skip to content

fix: Naming conflicts when properties are named "field" or "define" #793

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

from .default import DefaultEndpoints
from .location import LocationEndpoints
from .naming import NamingEndpoints
from .parameter_references import ParameterReferencesEndpoints
from .parameters import ParametersEndpoints
from .responses import ResponsesEndpoints
Expand Down Expand Up @@ -41,6 +42,10 @@ def location(cls) -> Type[LocationEndpoints]:
def true_(cls) -> Type[True_Endpoints]:
return True_Endpoints

@classmethod
def naming(cls) -> Type[NamingEndpoints]:
return NamingEndpoints

@classmethod
def parameter_references(cls) -> Type[ParameterReferencesEndpoints]:
return ParameterReferencesEndpoints
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
""" Contains methods for accessing the API Endpoints """

import types

from . import post_naming_property_conflict_with_import


class NamingEndpoints:
@classmethod
def post_naming_property_conflict_with_import(cls) -> types.ModuleType:
return post_naming_property_conflict_with_import
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
from http import HTTPStatus
from typing import Any, Dict, Optional, Union

import httpx

from ... import errors
from ...client import AuthenticatedClient, Client
from ...models.post_naming_property_conflict_with_import_json_body import PostNamingPropertyConflictWithImportJsonBody
from ...models.post_naming_property_conflict_with_import_response_200 import (
PostNamingPropertyConflictWithImportResponse200,
)
from ...types import Response


def _get_kwargs(
*,
json_body: PostNamingPropertyConflictWithImportJsonBody,
) -> Dict[str, Any]:
pass

json_json_body = json_body.to_dict()

return {
"method": "post",
"url": "/naming/property-conflict-with-import",
"json": json_json_body,
}


def _parse_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Optional[PostNamingPropertyConflictWithImportResponse200]:
if response.status_code == HTTPStatus.OK:
response_200 = PostNamingPropertyConflictWithImportResponse200.from_dict(response.json())

return response_200
if client.raise_on_unexpected_status:
raise errors.UnexpectedStatus(response.status_code, response.content)
else:
return None


def _build_response(
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
) -> Response[PostNamingPropertyConflictWithImportResponse200]:
return Response(
status_code=HTTPStatus(response.status_code),
content=response.content,
headers=response.headers,
parsed=_parse_response(client=client, response=response),
)


def sync_detailed(
*,
client: Union[AuthenticatedClient, Client],
json_body: PostNamingPropertyConflictWithImportJsonBody,
) -> Response[PostNamingPropertyConflictWithImportResponse200]:
"""
Args:
json_body (PostNamingPropertyConflictWithImportJsonBody):

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
Response[PostNamingPropertyConflictWithImportResponse200]
"""

kwargs = _get_kwargs(
json_body=json_body,
)

response = client.get_httpx_client().request(
**kwargs,
)

return _build_response(client=client, response=response)


def sync(
*,
client: Union[AuthenticatedClient, Client],
json_body: PostNamingPropertyConflictWithImportJsonBody,
) -> Optional[PostNamingPropertyConflictWithImportResponse200]:
"""
Args:
json_body (PostNamingPropertyConflictWithImportJsonBody):

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
PostNamingPropertyConflictWithImportResponse200
"""

return sync_detailed(
client=client,
json_body=json_body,
).parsed


async def asyncio_detailed(
*,
client: Union[AuthenticatedClient, Client],
json_body: PostNamingPropertyConflictWithImportJsonBody,
) -> Response[PostNamingPropertyConflictWithImportResponse200]:
"""
Args:
json_body (PostNamingPropertyConflictWithImportJsonBody):

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
Response[PostNamingPropertyConflictWithImportResponse200]
"""

kwargs = _get_kwargs(
json_body=json_body,
)

response = await client.get_async_httpx_client().request(**kwargs)

return _build_response(client=client, response=response)


async def asyncio(
*,
client: Union[AuthenticatedClient, Client],
json_body: PostNamingPropertyConflictWithImportJsonBody,
) -> Optional[PostNamingPropertyConflictWithImportResponse200]:
"""
Args:
json_body (PostNamingPropertyConflictWithImportJsonBody):

Raises:
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
httpx.TimeoutException: If the request takes longer than Client.timeout.

Returns:
PostNamingPropertyConflictWithImportResponse200
"""

return (
await asyncio_detailed(
client=client,
json_body=json_body,
)
).parsed
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@
from .model_with_union_property_inlined_fruit_type_1 import ModelWithUnionPropertyInlinedFruitType1
from .none import None_
from .post_form_data_inline_data import PostFormDataInlineData
from .post_naming_property_conflict_with_import_json_body import PostNamingPropertyConflictWithImportJsonBody
from .post_naming_property_conflict_with_import_response_200 import PostNamingPropertyConflictWithImportResponse200
from .post_responses_unions_simple_before_complex_response_200 import PostResponsesUnionsSimpleBeforeComplexResponse200
from .post_responses_unions_simple_before_complex_response_200a_type_1 import (
PostResponsesUnionsSimpleBeforeComplexResponse200AType1,
Expand Down Expand Up @@ -129,6 +131,8 @@
"ModelWithUnionPropertyInlinedFruitType1",
"None_",
"PostFormDataInlineData",
"PostNamingPropertyConflictWithImportJsonBody",
"PostNamingPropertyConflictWithImportResponse200",
"PostResponsesUnionsSimpleBeforeComplexResponse200",
"PostResponsesUnionsSimpleBeforeComplexResponse200AType1",
"TestInlineObjectsJsonBody",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from typing import Any, Dict, List, Type, TypeVar, Union

from attrs import define, field
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..types import UNSET, Unset

T = TypeVar("T", bound="AFormData")


@define
@_attrs_define
class AFormData:
"""
Attributes:
Expand All @@ -17,7 +18,7 @@ class AFormData:

an_required_field: str
an_optional_field: Union[Unset, str] = UNSET
additional_properties: Dict[str, Any] = field(init=False, factory=dict)
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> Dict[str, Any]:
an_required_field = self.an_required_field
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import datetime
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, TypeVar, Union, cast

from attrs import define
from attrs import define as _attrs_define
from dateutil.parser import isoparse

from ..models.an_all_of_enum import AnAllOfEnum
Expand All @@ -17,7 +17,7 @@
T = TypeVar("T", bound="AModel")


@define
@_attrs_define
class AModel:
"""A Model for testing all the ways custom objects can be used

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
from io import BytesIO
from typing import Any, Dict, List, Type, TypeVar, cast

from attrs import define, field
from attrs import define as _attrs_define
from attrs import field as _attrs_field
from dateutil.parser import isoparse

from ..models.an_enum import AnEnum
Expand All @@ -11,7 +12,7 @@
T = TypeVar("T", bound="AModelWithPropertiesReferenceThatAreNotObject")


@define
@_attrs_define
class AModelWithPropertiesReferenceThatAreNotObject:
"""
Attributes:
Expand Down Expand Up @@ -77,7 +78,7 @@ class AModelWithPropertiesReferenceThatAreNotObject:
double_property_ref: float
file_property_ref: File
bytestream_property_ref: str
additional_properties: Dict[str, Any] = field(init=False, factory=dict)
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> Dict[str, Any]:
enum_properties_ref = []
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from typing import Any, Dict, List, Type, TypeVar, Union

from attrs import define, field
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..models.all_of_has_properties_but_no_type_type_enum import AllOfHasPropertiesButNoTypeTypeEnum
from ..types import UNSET, Unset

T = TypeVar("T", bound="AllOfHasPropertiesButNoType")


@define
@_attrs_define
class AllOfHasPropertiesButNoType:
"""
Attributes:
Expand All @@ -20,7 +21,7 @@ class AllOfHasPropertiesButNoType:
a_sub_property: Union[Unset, str] = UNSET
type: Union[Unset, str] = UNSET
type_enum: Union[Unset, AllOfHasPropertiesButNoTypeTypeEnum] = UNSET
additional_properties: Dict[str, Any] = field(init=False, factory=dict)
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> Dict[str, Any]:
a_sub_property = self.a_sub_property
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from typing import Any, Dict, List, Type, TypeVar, Union

from attrs import define, field
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..models.all_of_sub_model_type_enum import AllOfSubModelTypeEnum
from ..types import UNSET, Unset

T = TypeVar("T", bound="AllOfSubModel")


@define
@_attrs_define
class AllOfSubModel:
"""
Attributes:
Expand All @@ -20,7 +21,7 @@ class AllOfSubModel:
a_sub_property: Union[Unset, str] = UNSET
type: Union[Unset, str] = UNSET
type_enum: Union[Unset, AllOfSubModelTypeEnum] = UNSET
additional_properties: Dict[str, Any] = field(init=False, factory=dict)
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> Dict[str, Any]:
a_sub_property = self.a_sub_property
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union

from attrs import define, field
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from ..types import UNSET, Unset

Expand All @@ -11,15 +12,15 @@
T = TypeVar("T", bound="AnArrayWithACircularRefInItemsObjectAItem")


@define
@_attrs_define
class AnArrayWithACircularRefInItemsObjectAItem:
"""
Attributes:
circular (Union[Unset, List['AnArrayWithACircularRefInItemsObjectBItem']]):
"""

circular: Union[Unset, List["AnArrayWithACircularRefInItemsObjectBItem"]] = UNSET
additional_properties: Dict[str, Any] = field(init=False, factory=dict)
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> Dict[str, Any]:
circular: Union[Unset, List[Dict[str, Any]]] = UNSET
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar

from attrs import define, field
from attrs import define as _attrs_define
from attrs import field as _attrs_field

if TYPE_CHECKING:
from ..models.an_array_with_a_circular_ref_in_items_object_additional_properties_b_item import (
Expand All @@ -11,13 +12,13 @@
T = TypeVar("T", bound="AnArrayWithACircularRefInItemsObjectAdditionalPropertiesAItem")


@define
@_attrs_define
class AnArrayWithACircularRefInItemsObjectAdditionalPropertiesAItem:
""" """

additional_properties: Dict[str, List["AnArrayWithACircularRefInItemsObjectAdditionalPropertiesBItem"]] = field(
init=False, factory=dict
)
additional_properties: Dict[
str, List["AnArrayWithACircularRefInItemsObjectAdditionalPropertiesBItem"]
] = _attrs_field(init=False, factory=dict)

def to_dict(self) -> Dict[str, Any]:
pass
Expand Down
Loading