mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-20 23:37:10 +00:00
Use Python uuid.UUID instead of StrictStr (#21740)
This commit is contained in:
@@ -2024,7 +2024,8 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co
|
||||
}
|
||||
|
||||
private PythonType uuidType(IJsonSchemaValidationProperties cp) {
|
||||
return new PythonType(cp.getDataType());
|
||||
moduleImports.add("uuid", "UUID");
|
||||
return new PythonType("UUID");
|
||||
}
|
||||
|
||||
private PythonType modelType(IJsonSchemaValidationProperties cp) {
|
||||
@@ -2051,6 +2052,8 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co
|
||||
return arrayType(cp);
|
||||
} else if (cp.getIsMap() || cp.getIsFreeFormObject()) {
|
||||
return mapType(cp);
|
||||
} else if (cp.getIsUuid()) {
|
||||
return uuidType(cp);
|
||||
} else if (cp.getIsString()) {
|
||||
return stringType(cp);
|
||||
} else if (cp.getIsNumber() || cp.getIsFloat() || cp.getIsDouble()) {
|
||||
@@ -2067,8 +2070,6 @@ public abstract class AbstractPythonCodegen extends DefaultCodegen implements Co
|
||||
return anyType(cp);
|
||||
} else if (cp.getIsDate() || cp.getIsDateTime()) {
|
||||
return dateType(cp);
|
||||
} else if (cp.getIsUuid()) {
|
||||
return uuidType(cp);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -12,6 +12,7 @@ import mimetypes
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import uuid
|
||||
|
||||
from urllib.parse import quote
|
||||
from typing import Tuple, Optional, List, Dict, Union
|
||||
@@ -365,6 +366,8 @@ class ApiClient:
|
||||
return obj.get_secret_value()
|
||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
||||
return obj
|
||||
elif isinstance(obj, uuid.UUID):
|
||||
return str(obj)
|
||||
elif isinstance(obj, list):
|
||||
return [
|
||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
||||
|
||||
@@ -22,6 +22,7 @@ import mimetypes
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import uuid
|
||||
|
||||
from urllib.parse import quote
|
||||
from typing import Tuple, Optional, List, Dict, Union
|
||||
@@ -357,6 +358,8 @@ class ApiClient:
|
||||
return obj.get_secret_value()
|
||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
||||
return obj
|
||||
elif isinstance(obj, uuid.UUID):
|
||||
return str(obj)
|
||||
elif isinstance(obj, list):
|
||||
return [
|
||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
||||
|
||||
@@ -22,6 +22,7 @@ import mimetypes
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import uuid
|
||||
|
||||
from urllib.parse import quote
|
||||
from typing import Tuple, Optional, List, Dict, Union
|
||||
@@ -357,6 +358,8 @@ class ApiClient:
|
||||
return obj.get_secret_value()
|
||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
||||
return obj
|
||||
elif isinstance(obj, uuid.UUID):
|
||||
return str(obj)
|
||||
elif isinstance(obj, list):
|
||||
return [
|
||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
||||
|
||||
@@ -20,6 +20,7 @@ from datetime import date, datetime
|
||||
from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator
|
||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from petstore_api.models.client import Client
|
||||
from petstore_api.models.enum_class import EnumClass
|
||||
from petstore_api.models.file_schema_test_class import FileSchemaTestClass
|
||||
@@ -4913,7 +4914,7 @@ class FakeApi:
|
||||
@validate_call
|
||||
async def fake_uuid_example(
|
||||
self,
|
||||
uuid_example: Annotated[StrictStr, Field(description="uuid example")],
|
||||
uuid_example: Annotated[UUID, Field(description="uuid example")],
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
@@ -4979,7 +4980,7 @@ class FakeApi:
|
||||
@validate_call
|
||||
async def fake_uuid_example_with_http_info(
|
||||
self,
|
||||
uuid_example: Annotated[StrictStr, Field(description="uuid example")],
|
||||
uuid_example: Annotated[UUID, Field(description="uuid example")],
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
@@ -5045,7 +5046,7 @@ class FakeApi:
|
||||
@validate_call
|
||||
async def fake_uuid_example_without_preload_content(
|
||||
self,
|
||||
uuid_example: Annotated[StrictStr, Field(description="uuid example")],
|
||||
uuid_example: Annotated[UUID, Field(description="uuid example")],
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
|
||||
@@ -21,6 +21,7 @@ import mimetypes
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import uuid
|
||||
|
||||
from urllib.parse import quote
|
||||
from typing import Tuple, Optional, List, Dict, Union
|
||||
@@ -359,6 +360,8 @@ class ApiClient:
|
||||
return obj.get_secret_value()
|
||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
||||
return obj
|
||||
elif isinstance(obj, uuid.UUID):
|
||||
return str(obj)
|
||||
elif isinstance(obj, list):
|
||||
return [
|
||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
||||
|
||||
@@ -22,6 +22,7 @@ from decimal import Decimal
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBytes, StrictInt, StrictStr, field_validator
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Tuple, Union
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -42,7 +43,7 @@ class FormatTest(BaseModel):
|
||||
binary: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None
|
||||
var_date: date = Field(alias="date")
|
||||
date_time: Optional[datetime] = Field(default=None, alias="dateTime")
|
||||
uuid: Optional[StrictStr] = None
|
||||
uuid: Optional[UUID] = None
|
||||
password: Annotated[str, Field(min_length=10, strict=True, max_length=64)]
|
||||
pattern_with_digits: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A string that is a 10 digit number. Can have leading zeros.")
|
||||
pattern_with_digits_and_delimiter: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.")
|
||||
|
||||
@@ -18,8 +18,9 @@ import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from petstore_api.models.animal import Animal
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -28,7 +29,7 @@ class MixedPropertiesAndAdditionalPropertiesClass(BaseModel):
|
||||
"""
|
||||
MixedPropertiesAndAdditionalPropertiesClass
|
||||
""" # noqa: E501
|
||||
uuid: Optional[StrictStr] = None
|
||||
uuid: Optional[UUID] = None
|
||||
date_time: Optional[datetime] = Field(default=None, alias="dateTime")
|
||||
map: Optional[Dict[str, Animal]] = None
|
||||
__properties: ClassVar[List[str]] = ["uuid", "dateTime", "map"]
|
||||
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from petstore_api.models.task_activity import TaskActivity
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,7 +28,7 @@ class Task(BaseModel):
|
||||
"""
|
||||
Used to test oneOf enums with only one string value.
|
||||
""" # noqa: E501
|
||||
id: StrictStr
|
||||
id: UUID
|
||||
activity: TaskActivity
|
||||
__properties: ClassVar[List[str]] = ["id", "activity"]
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ from datetime import date, datetime
|
||||
from pydantic import Field, StrictBool, StrictBytes, StrictFloat, StrictInt, StrictStr, field_validator
|
||||
from typing import Any, Dict, List, Optional, Tuple, Union
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from petstore_api.models.client import Client
|
||||
from petstore_api.models.enum_class import EnumClass
|
||||
from petstore_api.models.file_schema_test_class import FileSchemaTestClass
|
||||
@@ -4913,7 +4914,7 @@ class FakeApi:
|
||||
@validate_call
|
||||
def fake_uuid_example(
|
||||
self,
|
||||
uuid_example: Annotated[StrictStr, Field(description="uuid example")],
|
||||
uuid_example: Annotated[UUID, Field(description="uuid example")],
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
@@ -4979,7 +4980,7 @@ class FakeApi:
|
||||
@validate_call
|
||||
def fake_uuid_example_with_http_info(
|
||||
self,
|
||||
uuid_example: Annotated[StrictStr, Field(description="uuid example")],
|
||||
uuid_example: Annotated[UUID, Field(description="uuid example")],
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
@@ -5045,7 +5046,7 @@ class FakeApi:
|
||||
@validate_call
|
||||
def fake_uuid_example_without_preload_content(
|
||||
self,
|
||||
uuid_example: Annotated[StrictStr, Field(description="uuid example")],
|
||||
uuid_example: Annotated[UUID, Field(description="uuid example")],
|
||||
_request_timeout: Union[
|
||||
None,
|
||||
Annotated[StrictFloat, Field(gt=0)],
|
||||
|
||||
@@ -21,6 +21,7 @@ import mimetypes
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
import uuid
|
||||
|
||||
from urllib.parse import quote
|
||||
from typing import Tuple, Optional, List, Dict, Union
|
||||
@@ -356,6 +357,8 @@ class ApiClient:
|
||||
return obj.get_secret_value()
|
||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
||||
return obj
|
||||
elif isinstance(obj, uuid.UUID):
|
||||
return str(obj)
|
||||
elif isinstance(obj, list):
|
||||
return [
|
||||
self.sanitize_for_serialization(sub_obj) for sub_obj in obj
|
||||
|
||||
@@ -22,6 +22,7 @@ from decimal import Decimal
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBytes, StrictInt, StrictStr, field_validator
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Tuple, Union
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -42,7 +43,7 @@ class FormatTest(BaseModel):
|
||||
binary: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None
|
||||
var_date: date = Field(alias="date")
|
||||
date_time: Optional[datetime] = Field(default=None, alias="dateTime")
|
||||
uuid: Optional[StrictStr] = None
|
||||
uuid: Optional[UUID] = None
|
||||
password: Annotated[str, Field(min_length=10, strict=True, max_length=64)]
|
||||
pattern_with_digits: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A string that is a 10 digit number. Can have leading zeros.")
|
||||
pattern_with_digits_and_delimiter: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.")
|
||||
|
||||
@@ -18,8 +18,9 @@ import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from petstore_api.models.animal import Animal
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -28,7 +29,7 @@ class MixedPropertiesAndAdditionalPropertiesClass(BaseModel):
|
||||
"""
|
||||
MixedPropertiesAndAdditionalPropertiesClass
|
||||
""" # noqa: E501
|
||||
uuid: Optional[StrictStr] = None
|
||||
uuid: Optional[UUID] = None
|
||||
date_time: Optional[datetime] = Field(default=None, alias="dateTime")
|
||||
map: Optional[Dict[str, Animal]] = None
|
||||
additional_properties: Dict[str, Any] = {}
|
||||
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from petstore_api.models.task_activity import TaskActivity
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,7 +28,7 @@ class Task(BaseModel):
|
||||
"""
|
||||
Used to test oneOf enums with only one string value.
|
||||
""" # noqa: E501
|
||||
id: StrictStr
|
||||
id: UUID
|
||||
activity: TaskActivity
|
||||
additional_properties: Dict[str, Any] = {}
|
||||
__properties: ClassVar[List[str]] = ["id", "activity"]
|
||||
|
||||
Reference in New Issue
Block a user