From a9a650f37bd4cdb20ce4f7d805454649224c67c9 Mon Sep 17 00:00:00 2001 From: hexdev Date: Mon, 18 May 2026 17:48:34 +0700 Subject: [PATCH] feat(config): mask sensitive credentials with SecretStr type --- config.py | 10 +++++----- schemas/users.py | 5 ++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/config.py b/config.py index 695a8ee..2e73f46 100644 --- a/config.py +++ b/config.py @@ -1,5 +1,5 @@ from dotenv import load_dotenv -from pydantic import Field +from pydantic import Field, SecretStr from pydantic_settings import BaseSettings load_dotenv(override=True) @@ -10,11 +10,11 @@ class Settings(BaseSettings): "postgresql+asyncpg://malenia:skibidi@localhost:5432/malenia_db", alias="POSTGRES_URL" ) - bot_token: str = Field(alias="BOT_TOKEN") + bot_token: SecretStr = Field(alias="BOT_TOKEN") admins: list[int] = Field(alias="ADMINS") - pally_shop_id: str = Field(alias="PALLY_SHOP_ID") - pally_token: str = Field(alias="PALLY_TOKEN") + pally_shop_id: SecretStr = Field(alias="PALLY_SHOP_ID") + pally_token: SecretStr = Field(alias="PALLY_TOKEN") referal_bonus: int = Field(10, alias="REFERAL_BONUS") deposit_threshold: int = Field(50) @@ -23,7 +23,7 @@ class Settings(BaseSettings): remnawave_url: str = Field(alias="REMNAWAVE_URL") subscription_url: str = Field(alias="SUBSCRIPTION_URL") - remnawave_token: str = Field(alias="REMNAWAVE_TOKEN") + remnawave_token: SecretStr = Field(alias="REMNAWAVE_TOKEN") min_devices: int = Field(3, alias="MIN_DEVICES") max_devices: int = Field(12, alias="MAX_DEVICES") diff --git a/schemas/users.py b/schemas/users.py index 9325034..461b990 100644 --- a/schemas/users.py +++ b/schemas/users.py @@ -1,8 +1,7 @@ from dataclasses import dataclass +from pydantic import BaseModel - -@dataclass -class NewUserDTO: +class NewUserDTO(BaseModel): id: int referal: int | None = None link: str | None = None