refactor(api): Extract shared ResponseModel (#34633)

This commit is contained in:
corevibe555
2026-04-07 13:05:38 +00:00
committed by GitHub
parent 89ce61cfea
commit c2af415450
8 changed files with 30 additions and 76 deletions
+3 -11
View File
@@ -2,7 +2,9 @@ from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field, field_validator
from pydantic import Field, field_validator
from fields.base import ResponseModel
def _to_timestamp(value: datetime | int | None) -> int | None:
@@ -11,16 +13,6 @@ def _to_timestamp(value: datetime | int | None) -> int | None:
return value
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
class Annotation(ResponseModel):
id: str
question: str | None = None
+13
View File
@@ -0,0 +1,13 @@
from __future__ import annotations
from pydantic import BaseModel, ConfigDict
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
+3 -11
View File
@@ -4,21 +4,13 @@ from datetime import datetime
from typing import Any
from graphon.file import File
from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
from pydantic import Field, field_validator, model_validator
from fields.base import ResponseModel
type JSONValue = Any
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
class MessageFile(ResponseModel):
id: str
filename: str
+3 -11
View File
@@ -3,7 +3,9 @@ from __future__ import annotations
from datetime import datetime
from flask_restx import fields
from pydantic import BaseModel, ConfigDict, Field
from pydantic import Field
from fields.base import ResponseModel
simple_end_user_fields = {
"id": fields.String,
@@ -26,16 +28,6 @@ end_user_detail_fields = {
}
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
class SimpleEndUser(ResponseModel):
id: str
type: str
+2 -10
View File
@@ -2,17 +2,9 @@ from __future__ import annotations
from datetime import datetime
from pydantic import BaseModel, ConfigDict, field_validator
from pydantic import field_validator
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
from fields.base import ResponseModel
def _to_timestamp(value: datetime | int | None) -> int | None:
+3 -11
View File
@@ -4,7 +4,9 @@ from datetime import datetime
from flask_restx import fields
from graphon.file import helpers as file_helpers
from pydantic import BaseModel, ConfigDict, computed_field, field_validator
from pydantic import computed_field, field_validator
from fields.base import ResponseModel
simple_account_fields = {
"id": fields.String,
@@ -27,16 +29,6 @@ def _build_avatar_url(avatar: str | None) -> str | None:
return file_helpers.get_signed_file_url(avatar)
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
class SimpleAccount(ResponseModel):
id: str
name: str
+1 -11
View File
@@ -1,16 +1,6 @@
from __future__ import annotations
from pydantic import BaseModel, ConfigDict
class ResponseModel(BaseModel):
model_config = ConfigDict(
from_attributes=True,
extra="ignore",
populate_by_name=True,
serialize_by_alias=True,
protected_namespaces=(),
)
from fields.base import ResponseModel
class DataSetTag(ResponseModel):