fix(config): не декодировать ADMIN_IDS как JSON
This commit is contained in:
parent
9f33831971
commit
05169b9b39
|
|
@ -7,11 +7,12 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
|
from typing import Annotated
|
||||||
from urllib.parse import quote_plus
|
from urllib.parse import quote_plus
|
||||||
from zoneinfo import ZoneInfo
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
from pydantic import Field, field_validator
|
from pydantic import Field, field_validator
|
||||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
from pydantic_settings import BaseSettings, NoDecode, SettingsConfigDict
|
||||||
|
|
||||||
|
|
||||||
class Settings(BaseSettings):
|
class Settings(BaseSettings):
|
||||||
|
|
@ -43,7 +44,9 @@ class Settings(BaseSettings):
|
||||||
alert_chat_id: int = 0
|
alert_chat_id: int = 0
|
||||||
|
|
||||||
#: Telegram-ID, которым доступ разрешён в обход проверки членства.
|
#: Telegram-ID, которым доступ разрешён в обход проверки членства.
|
||||||
admin_ids: list[int] = Field(default_factory=list)
|
#: NoDecode — чтобы pydantic-settings не пытался JSON-декодировать значение
|
||||||
|
#: (поддерживаем формат "1,2,3" и пустое значение через валидатор ниже).
|
||||||
|
admin_ids: Annotated[list[int], NoDecode] = Field(default_factory=list)
|
||||||
|
|
||||||
timezone: str = "Europe/Moscow"
|
timezone: str = "Europe/Moscow"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue