From 5aa2524d33e65df6410031274fadc7dc2b2462d4 Mon Sep 17 00:00:00 2001 From: Statxc Date: Tue, 7 Apr 2026 19:57:32 -0300 Subject: [PATCH] refactor(api): type I18nObject.to_dict with I18nObjectDict TypedDict (#34680) --- .../datasource/entities/common_entities.py | 19 +++++++++++++++++-- api/core/tools/entities/common_entities.py | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/api/core/datasource/entities/common_entities.py b/api/core/datasource/entities/common_entities.py index 3c64632dbba..f2852027ecb 100644 --- a/api/core/datasource/entities/common_entities.py +++ b/api/core/datasource/entities/common_entities.py @@ -1,6 +1,15 @@ +from typing import TypedDict + from pydantic import BaseModel, Field, model_validator +class I18nObjectDict(TypedDict): + zh_Hans: str | None + en_US: str + pt_BR: str | None + ja_JP: str | None + + class I18nObject(BaseModel): """ Model class for i18n object. @@ -18,5 +27,11 @@ class I18nObject(BaseModel): self.ja_JP = self.ja_JP or self.en_US return self - def to_dict(self) -> dict: - return {"zh_Hans": self.zh_Hans, "en_US": self.en_US, "pt_BR": self.pt_BR, "ja_JP": self.ja_JP} + def to_dict(self) -> I18nObjectDict: + result: I18nObjectDict = { + "zh_Hans": self.zh_Hans, + "en_US": self.en_US, + "pt_BR": self.pt_BR, + "ja_JP": self.ja_JP, + } + return result diff --git a/api/core/tools/entities/common_entities.py b/api/core/tools/entities/common_entities.py index 21d310bbb9f..83a042ed631 100644 --- a/api/core/tools/entities/common_entities.py +++ b/api/core/tools/entities/common_entities.py @@ -1,6 +1,15 @@ +from typing import TypedDict + from pydantic import BaseModel, Field, model_validator +class I18nObjectDict(TypedDict): + zh_Hans: str | None + en_US: str + pt_BR: str | None + ja_JP: str | None + + class I18nObject(BaseModel): """ Model class for i18n object. @@ -18,5 +27,11 @@ class I18nObject(BaseModel): self.ja_JP = self.ja_JP or self.en_US return self - def to_dict(self): - return {"zh_Hans": self.zh_Hans, "en_US": self.en_US, "pt_BR": self.pt_BR, "ja_JP": self.ja_JP} + def to_dict(self) -> I18nObjectDict: + result: I18nObjectDict = { + "zh_Hans": self.zh_Hans, + "en_US": self.en_US, + "pt_BR": self.pt_BR, + "ja_JP": self.ja_JP, + } + return result