Skip to content

Commit 9bc20ed

Browse files
committed
Fix required properties in generated models
1 parent 4cc04b3 commit 9bc20ed

File tree

9 files changed

+80
-111
lines changed

9 files changed

+80
-111
lines changed

end_to_end_tests/golden-record-custom/my_test_api_client/api/tests/test_inline_objects.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
Client = httpx.Client
44

5-
from typing import Dict, Union
6-
75
from ...models.json_body import JsonBody
8-
from ...types import UNSET, Unset
96

107

118
def _build_response(*, response: httpx.Response) -> httpx.Response[None]:
@@ -20,12 +17,10 @@ def _build_response(*, response: httpx.Response) -> httpx.Response[None]:
2017
def httpx_request(
2118
*,
2219
client: Client,
23-
json_body: Union[JsonBody, Unset],
20+
json_body: JsonBody,
2421
) -> httpx.Response[None]:
2522

26-
json_json_body: Dict[str, Any] = UNSET
27-
if not isinstance(json_body, Unset):
28-
json_json_body = json_body.to_dict()
23+
json_json_body = json_body.to_dict()
2924

3025
response = client.request(
3126
"post",

end_to_end_tests/golden-record-custom/my_test_api_client/models/a_model.py

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from ..models.an_enum import AnEnum
88
from ..models.different_enum import DifferentEnum
9-
from ..types import UNSET, Unset
109

1110

1211
@attr.s(auto_attribs=True)
@@ -17,11 +16,11 @@ class AModel:
1716
a_camel_date_time: Union[datetime.datetime, datetime.date]
1817
a_date: datetime.date
1918
required_not_nullable: str
19+
nested_list_of_enums: List[List[DifferentEnum]]
20+
attr_1_leading_digit: str
2021
required_nullable: Optional[str]
21-
nested_list_of_enums: Union[Unset, List[List[DifferentEnum]]] = UNSET
22-
attr_1_leading_digit: Union[Unset, str] = UNSET
23-
not_required_nullable: Union[Unset, Optional[str]] = UNSET
24-
not_required_not_nullable: Union[Unset, str] = UNSET
22+
not_required_nullable: Optional[str]
23+
not_required_not_nullable: str
2524

2625
def to_dict(self) -> Dict[str, Any]:
2726
an_enum_value = self.an_enum_value.value
@@ -35,17 +34,15 @@ def to_dict(self) -> Dict[str, Any]:
3534
a_date = self.a_date.isoformat()
3635

3736
required_not_nullable = self.required_not_nullable
38-
nested_list_of_enums: Union[Unset, List[Any]] = UNSET
39-
if not isinstance(self.nested_list_of_enums, Unset):
40-
nested_list_of_enums = []
41-
for nested_list_of_enums_item_data in self.nested_list_of_enums:
42-
nested_list_of_enums_item = []
43-
for nested_list_of_enums_item_item_data in nested_list_of_enums_item_data:
44-
nested_list_of_enums_item_item = nested_list_of_enums_item_item_data.value
37+
nested_list_of_enums = []
38+
for nested_list_of_enums_item_data in self.nested_list_of_enums:
39+
nested_list_of_enums_item = []
40+
for nested_list_of_enums_item_item_data in nested_list_of_enums_item_data:
41+
nested_list_of_enums_item_item = nested_list_of_enums_item_item_data.value
4542

46-
nested_list_of_enums_item.append(nested_list_of_enums_item_item)
43+
nested_list_of_enums_item.append(nested_list_of_enums_item_item)
4744

48-
nested_list_of_enums.append(nested_list_of_enums_item)
45+
nested_list_of_enums.append(nested_list_of_enums_item)
4946

5047
attr_1_leading_digit = self.attr_1_leading_digit
5148
required_nullable = self.required_nullable
@@ -57,16 +54,12 @@ def to_dict(self) -> Dict[str, Any]:
5754
"aCamelDateTime": a_camel_date_time,
5855
"a_date": a_date,
5956
"required_not_nullable": required_not_nullable,
57+
"nested_list_of_enums": nested_list_of_enums,
58+
"1_leading_digit": attr_1_leading_digit,
6059
"required_nullable": required_nullable,
60+
"not_required_nullable": not_required_nullable,
61+
"not_required_not_nullable": not_required_not_nullable,
6162
}
62-
if nested_list_of_enums is not UNSET:
63-
field_dict["nested_list_of_enums"] = nested_list_of_enums
64-
if attr_1_leading_digit is not UNSET:
65-
field_dict["1_leading_digit"] = attr_1_leading_digit
66-
if not_required_nullable is not UNSET:
67-
field_dict["not_required_nullable"] = not_required_nullable
68-
if not_required_not_nullable is not UNSET:
69-
field_dict["not_required_not_nullable"] = not_required_not_nullable
7063

7164
return field_dict
7265

@@ -93,7 +86,7 @@ def _parse_a_camel_date_time(data: Dict[str, Any]) -> Union[datetime.datetime, d
9386
required_not_nullable = d["required_not_nullable"]
9487

9588
nested_list_of_enums = []
96-
for nested_list_of_enums_item_data in d.get("nested_list_of_enums", UNSET) or []:
89+
for nested_list_of_enums_item_data in d["nested_list_of_enums"]:
9790
nested_list_of_enums_item = []
9891
for nested_list_of_enums_item_item_data in nested_list_of_enums_item_data:
9992
nested_list_of_enums_item_item = DifferentEnum(nested_list_of_enums_item_item_data)
@@ -102,13 +95,13 @@ def _parse_a_camel_date_time(data: Dict[str, Any]) -> Union[datetime.datetime, d
10295

10396
nested_list_of_enums.append(nested_list_of_enums_item)
10497

105-
attr_1_leading_digit = d.get("1_leading_digit", UNSET)
98+
attr_1_leading_digit = d["1_leading_digit"]
10699

107100
required_nullable = d["required_nullable"]
108101

109-
not_required_nullable = d.get("not_required_nullable", UNSET)
102+
not_required_nullable = d["not_required_nullable"]
110103

111-
not_required_not_nullable = d.get("not_required_not_nullable", UNSET)
104+
not_required_not_nullable = d["not_required_not_nullable"]
112105

113106
return AModel(
114107
an_enum_value=an_enum_value,

end_to_end_tests/golden-record-custom/my_test_api_client/models/http_validation_error.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,33 @@
1-
from typing import Any, Dict, List, Union
1+
from typing import Any, Dict, List
22

33
import attr
44

55
from ..models.validation_error import ValidationError
6-
from ..types import UNSET, Unset
76

87

98
@attr.s(auto_attribs=True)
109
class HTTPValidationError:
1110
""" """
1211

13-
detail: Union[Unset, List[ValidationError]] = UNSET
12+
detail: List[ValidationError]
1413

1514
def to_dict(self) -> Dict[str, Any]:
16-
detail: Union[Unset, List[Any]] = UNSET
17-
if not isinstance(self.detail, Unset):
18-
detail = []
19-
for detail_item_data in self.detail:
20-
detail_item = detail_item_data.to_dict()
15+
detail = []
16+
for detail_item_data in self.detail:
17+
detail_item = detail_item_data.to_dict()
2118

22-
detail.append(detail_item)
19+
detail.append(detail_item)
2320

24-
field_dict = {}
25-
if detail is not UNSET:
26-
field_dict["detail"] = detail
21+
field_dict = {
22+
"detail": detail,
23+
}
2724

2825
return field_dict
2926

3027
@staticmethod
3128
def from_dict(d: Dict[str, Any]) -> "HTTPValidationError":
3229
detail = []
33-
for detail_item_data in d.get("detail", UNSET) or []:
30+
for detail_item_data in d["detail"]:
3431
detail_item = ValidationError.from_dict(detail_item_data)
3532

3633
detail.append(detail_item)

end_to_end_tests/golden-record-custom/my_test_api_client/models/json_body.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,26 @@
1-
from typing import Any, Dict, Union
1+
from typing import Any, Dict
22

33
import attr
44

5-
from ..types import UNSET, Unset
6-
75

86
@attr.s(auto_attribs=True)
97
class JsonBody:
108
""" """
119

12-
a_property: Union[Unset, str] = UNSET
10+
a_property: str
1311

1412
def to_dict(self) -> Dict[str, Any]:
1513
a_property = self.a_property
1614

17-
field_dict = {}
18-
if a_property is not UNSET:
19-
field_dict["a_property"] = a_property
15+
field_dict = {
16+
"a_property": a_property,
17+
}
2018

2119
return field_dict
2220

2321
@staticmethod
2422
def from_dict(d: Dict[str, Any]) -> "JsonBody":
25-
a_property = d.get("a_property", UNSET)
23+
a_property = d["a_property"]
2624

2725
return JsonBody(
2826
a_property=a_property,

end_to_end_tests/golden-record/my_test_api_client/api/tests/test_inline_objects.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
1-
from typing import Any, Dict, Union
1+
from typing import Any, Dict
22

33
import httpx
44

55
from ...client import Client
66
from ...models.json_body import JsonBody
7-
from ...types import UNSET, Response, Unset
7+
from ...types import Response
88

99

1010
def _get_kwargs(
1111
*,
1212
client: Client,
13-
json_body: Union[JsonBody, Unset],
13+
json_body: JsonBody,
1414
) -> Dict[str, Any]:
1515
url = "{}/tests/inline_objects".format(client.base_url)
1616

1717
headers: Dict[str, Any] = client.get_headers()
1818

19-
json_json_body: Dict[str, Any] = UNSET
20-
if not isinstance(json_body, Unset):
21-
json_json_body = json_body.to_dict()
19+
json_json_body = json_body.to_dict()
2220

2321
return {
2422
"url": url,
@@ -41,7 +39,7 @@ def _build_response(*, response: httpx.Response) -> Response[None]:
4139
def sync_detailed(
4240
*,
4341
client: Client,
44-
json_body: Union[JsonBody, Unset],
42+
json_body: JsonBody,
4543
) -> Response[None]:
4644
kwargs = _get_kwargs(
4745
client=client,
@@ -58,7 +56,7 @@ def sync_detailed(
5856
async def asyncio_detailed(
5957
*,
6058
client: Client,
61-
json_body: Union[JsonBody, Unset],
59+
json_body: JsonBody,
6260
) -> Response[None]:
6361
kwargs = _get_kwargs(
6462
client=client,

end_to_end_tests/golden-record/my_test_api_client/models/a_model.py

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from ..models.an_enum import AnEnum
88
from ..models.different_enum import DifferentEnum
9-
from ..types import UNSET, Unset
109

1110

1211
@attr.s(auto_attribs=True)
@@ -17,11 +16,11 @@ class AModel:
1716
a_camel_date_time: Union[datetime.datetime, datetime.date]
1817
a_date: datetime.date
1918
required_not_nullable: str
19+
nested_list_of_enums: List[List[DifferentEnum]]
20+
attr_1_leading_digit: str
2021
required_nullable: Optional[str]
21-
nested_list_of_enums: Union[Unset, List[List[DifferentEnum]]] = UNSET
22-
attr_1_leading_digit: Union[Unset, str] = UNSET
23-
not_required_nullable: Union[Unset, Optional[str]] = UNSET
24-
not_required_not_nullable: Union[Unset, str] = UNSET
22+
not_required_nullable: Optional[str]
23+
not_required_not_nullable: str
2524

2625
def to_dict(self) -> Dict[str, Any]:
2726
an_enum_value = self.an_enum_value.value
@@ -35,17 +34,15 @@ def to_dict(self) -> Dict[str, Any]:
3534
a_date = self.a_date.isoformat()
3635

3736
required_not_nullable = self.required_not_nullable
38-
nested_list_of_enums: Union[Unset, List[Any]] = UNSET
39-
if not isinstance(self.nested_list_of_enums, Unset):
40-
nested_list_of_enums = []
41-
for nested_list_of_enums_item_data in self.nested_list_of_enums:
42-
nested_list_of_enums_item = []
43-
for nested_list_of_enums_item_item_data in nested_list_of_enums_item_data:
44-
nested_list_of_enums_item_item = nested_list_of_enums_item_item_data.value
37+
nested_list_of_enums = []
38+
for nested_list_of_enums_item_data in self.nested_list_of_enums:
39+
nested_list_of_enums_item = []
40+
for nested_list_of_enums_item_item_data in nested_list_of_enums_item_data:
41+
nested_list_of_enums_item_item = nested_list_of_enums_item_item_data.value
4542

46-
nested_list_of_enums_item.append(nested_list_of_enums_item_item)
43+
nested_list_of_enums_item.append(nested_list_of_enums_item_item)
4744

48-
nested_list_of_enums.append(nested_list_of_enums_item)
45+
nested_list_of_enums.append(nested_list_of_enums_item)
4946

5047
attr_1_leading_digit = self.attr_1_leading_digit
5148
required_nullable = self.required_nullable
@@ -57,16 +54,12 @@ def to_dict(self) -> Dict[str, Any]:
5754
"aCamelDateTime": a_camel_date_time,
5855
"a_date": a_date,
5956
"required_not_nullable": required_not_nullable,
57+
"nested_list_of_enums": nested_list_of_enums,
58+
"1_leading_digit": attr_1_leading_digit,
6059
"required_nullable": required_nullable,
60+
"not_required_nullable": not_required_nullable,
61+
"not_required_not_nullable": not_required_not_nullable,
6162
}
62-
if nested_list_of_enums is not UNSET:
63-
field_dict["nested_list_of_enums"] = nested_list_of_enums
64-
if attr_1_leading_digit is not UNSET:
65-
field_dict["1_leading_digit"] = attr_1_leading_digit
66-
if not_required_nullable is not UNSET:
67-
field_dict["not_required_nullable"] = not_required_nullable
68-
if not_required_not_nullable is not UNSET:
69-
field_dict["not_required_not_nullable"] = not_required_not_nullable
7063

7164
return field_dict
7265

@@ -93,7 +86,7 @@ def _parse_a_camel_date_time(data: Dict[str, Any]) -> Union[datetime.datetime, d
9386
required_not_nullable = d["required_not_nullable"]
9487

9588
nested_list_of_enums = []
96-
for nested_list_of_enums_item_data in d.get("nested_list_of_enums", UNSET) or []:
89+
for nested_list_of_enums_item_data in d["nested_list_of_enums"]:
9790
nested_list_of_enums_item = []
9891
for nested_list_of_enums_item_item_data in nested_list_of_enums_item_data:
9992
nested_list_of_enums_item_item = DifferentEnum(nested_list_of_enums_item_item_data)
@@ -102,13 +95,13 @@ def _parse_a_camel_date_time(data: Dict[str, Any]) -> Union[datetime.datetime, d
10295

10396
nested_list_of_enums.append(nested_list_of_enums_item)
10497

105-
attr_1_leading_digit = d.get("1_leading_digit", UNSET)
98+
attr_1_leading_digit = d["1_leading_digit"]
10699

107100
required_nullable = d["required_nullable"]
108101

109-
not_required_nullable = d.get("not_required_nullable", UNSET)
102+
not_required_nullable = d["not_required_nullable"]
110103

111-
not_required_not_nullable = d.get("not_required_not_nullable", UNSET)
104+
not_required_not_nullable = d["not_required_not_nullable"]
112105

113106
return AModel(
114107
an_enum_value=an_enum_value,

end_to_end_tests/golden-record/my_test_api_client/models/http_validation_error.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,33 @@
1-
from typing import Any, Dict, List, Union
1+
from typing import Any, Dict, List
22

33
import attr
44

55
from ..models.validation_error import ValidationError
6-
from ..types import UNSET, Unset
76

87

98
@attr.s(auto_attribs=True)
109
class HTTPValidationError:
1110
""" """
1211

13-
detail: Union[Unset, List[ValidationError]] = UNSET
12+
detail: List[ValidationError]
1413

1514
def to_dict(self) -> Dict[str, Any]:
16-
detail: Union[Unset, List[Any]] = UNSET
17-
if not isinstance(self.detail, Unset):
18-
detail = []
19-
for detail_item_data in self.detail:
20-
detail_item = detail_item_data.to_dict()
15+
detail = []
16+
for detail_item_data in self.detail:
17+
detail_item = detail_item_data.to_dict()
2118

22-
detail.append(detail_item)
19+
detail.append(detail_item)
2320

24-
field_dict = {}
25-
if detail is not UNSET:
26-
field_dict["detail"] = detail
21+
field_dict = {
22+
"detail": detail,
23+
}
2724

2825
return field_dict
2926

3027
@staticmethod
3128
def from_dict(d: Dict[str, Any]) -> "HTTPValidationError":
3229
detail = []
33-
for detail_item_data in d.get("detail", UNSET) or []:
30+
for detail_item_data in d["detail"]:
3431
detail_item = ValidationError.from_dict(detail_item_data)
3532

3633
detail.append(detail_item)

0 commit comments

Comments
 (0)