refactor(api): deduplicate I18nObject in datasource entities (#34701)

This commit is contained in:
corevibe555 2026-04-08 04:36:56 +03:00 committed by GitHub
parent c825d5dcf6
commit b1adb5652e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,37 +1,3 @@
from typing import TypedDict
from core.tools.entities.common_entities import I18nObject, I18nObjectDict
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.
"""
en_US: str
zh_Hans: str | None = Field(default=None)
pt_BR: str | None = Field(default=None)
ja_JP: str | None = Field(default=None)
@model_validator(mode="after")
def _(self):
self.zh_Hans = self.zh_Hans or self.en_US
self.pt_BR = self.pt_BR or self.en_US
self.ja_JP = self.ja_JP or self.en_US
return self
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
__all__ = ["I18nObject", "I18nObjectDict"]