Add referral system and user balance tracking

Introduce balance field to User model with Alembic migration. Add
referral menu, admin /refpay command, and deep link sharing. Update
Dockerfile to multi-stage build and add Postgres service to compose.
Fix deep link parsing logic and conditional proxy initialization.
This commit is contained in:
2026-04-10 22:20:53 +07:00
parent 60de871e0c
commit 0ed0ad2b92
17 changed files with 337 additions and 80 deletions

View File

@@ -1,4 +1,4 @@
from sqlalchemy import BIGINT, TEXT
from sqlalchemy import BIGINT, INTEGER, TEXT
from sqlalchemy.orm import Mapped, mapped_column
from db.base import Base
@@ -12,3 +12,4 @@ class User(Base):
)
referal_id: Mapped[int] = mapped_column(BIGINT, nullable=True)
subscription_link: Mapped[str] = mapped_column(TEXT, nullable=True, unique=True)
balance: Mapped[int] = mapped_column(INTEGER, nullable=False, default=0)