Prevent users from creating messages with wrong parameters when pydantic is used (#615)
This commit is contained in:
@@ -5,16 +5,9 @@
|
||||
{% for i in output_file.python_module_imports|sort %}
|
||||
import {{ i }}
|
||||
{% endfor %}
|
||||
{% set type_checking_imported = False %}
|
||||
|
||||
{% if output_file.pydantic_dataclasses %}
|
||||
from typing import TYPE_CHECKING
|
||||
{% set type_checking_imported = True %}
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from dataclasses import dataclass
|
||||
else:
|
||||
from pydantic.dataclasses import dataclass
|
||||
from pydantic.dataclasses import dataclass
|
||||
from pydantic.dataclasses import rebuild_dataclass
|
||||
{%- else -%}
|
||||
from dataclasses import dataclass
|
||||
@@ -46,7 +39,7 @@ import grpclib
|
||||
{{ i }}
|
||||
{% endfor %}
|
||||
|
||||
{% if output_file.imports_type_checking_only and not type_checking_imported %}
|
||||
{% if output_file.imports_type_checking_only %}
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
||||
@@ -23,7 +23,11 @@ class {{ enum.py_name }}(betterproto.Enum):
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% for message in output_file.messages %}
|
||||
{% if output_file.pydantic_dataclasses %}
|
||||
@dataclass(eq=False, repr=False, config={"extra": "forbid"})
|
||||
{% else %}
|
||||
@dataclass(eq=False, repr=False)
|
||||
{% endif %}
|
||||
class {{ message.py_name }}(betterproto.Message):
|
||||
{% if message.comment %}
|
||||
{{ message.comment }}
|
||||
|
||||
Reference in New Issue
Block a user