feat: addon.is_enabled

This commit is contained in:
2026-08-17 21:57:38 +07:00
parent 05914f0b23
commit 9e209dd695
4 changed files with 42 additions and 2 deletions

View File

@@ -0,0 +1,32 @@
"""+addon.is_enabled
Revision ID: cc6625f7dd7f
Revises: f4ece5936e3d
Create Date: 2026-08-17 21:39:00.054081
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'cc6625f7dd7f'
down_revision: Union[str, Sequence[str], None] = 'f4ece5936e3d'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
"""Upgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('addons', sa.Column('is_enabled', sa.BOOLEAN(), nullable=True))
# ### end Alembic commands ###
def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('addons', 'is_enabled')
# ### end Alembic commands ###

View File

@@ -1,4 +1,4 @@
from sqlalchemy import FLOAT, INTEGER, TEXT
from sqlalchemy import BOOLEAN, FLOAT, INTEGER, TEXT
from sqlalchemy.orm import Mapped, mapped_column
from db.base import Base
@@ -11,3 +11,4 @@ class Addon(Base):
name: Mapped[str] = mapped_column(TEXT, nullable=False, unique=False)
price: Mapped[float] = mapped_column(FLOAT, nullable=False)
free_threshold: Mapped[int] = mapped_column(INTEGER, default=-1)
is_enabled: Mapped[bool] = mapped_column(BOOLEAN, default=False, nullable=True)

View File

@@ -6,6 +6,7 @@ class AddonData(BaseModel):
name: str
price: float
free_threshold: int
is_enabled: bool
class PricingPlans(BaseModel):

View File

@@ -11,7 +11,13 @@ async def get_pricing_model(addons_repo: AddonsRepository, pricing_repo: Pricing
addons = await addons_repo.get_all()
addons_data = [
AddonData(id=a.id, name=a.name, price=a.price, free_threshold=a.free_threshold)
AddonData(
id=a.id,
name=a.name,
price=a.price,
free_threshold=a.free_threshold,
is_enabled=a.is_enabled,
)
for a in addons
]