feat: introduced plans pricing

This commit is contained in:
2026-07-25 15:31:44 +07:00
parent 633c79e817
commit 2547bcfcba
10 changed files with 144 additions and 7 deletions

17
services/plans.py Normal file
View File

@@ -0,0 +1,17 @@
from repositories.addons import AddonsRepository
from repositories.pricing import PricingRepository
from schemas.plans import AddonData, PricingPlans
async def get_pricing_model(addons_repo: AddonsRepository, pricing_repo: PricingRepository):
pricing = await pricing_repo.get()
if not pricing:
return None
addons = await addons_repo.get_all()
addons_data = [
AddonData(id=a.id, name=a.name, price=a.price, free_threshold=a.free_threshold)
for a in addons
]
return PricingPlans(device_price=pricing.device_price, addons=addons_data)