Improve the frontend modals
This commit is contained in:
@@ -2,24 +2,37 @@
|
||||
Subscription management API for GDPR-compliant cancellation and reactivation
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from fastapi import APIRouter, Depends, HTTPException, status, Query
|
||||
from pydantic import BaseModel, Field
|
||||
from datetime import datetime, timezone, timedelta
|
||||
from uuid import UUID
|
||||
import structlog
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from sqlalchemy import select, update
|
||||
from sqlalchemy import select
|
||||
|
||||
from shared.auth.decorators import get_current_user_dep, require_admin_role_dep
|
||||
from shared.routing import RouteBuilder
|
||||
from app.core.database import get_db
|
||||
from app.models.tenants import Subscription, Tenant
|
||||
from app.models.tenants import Subscription
|
||||
from app.services.subscription_limit_service import SubscriptionLimitService
|
||||
|
||||
logger = structlog.get_logger()
|
||||
router = APIRouter()
|
||||
route_builder = RouteBuilder('tenant')
|
||||
|
||||
|
||||
class QuotaCheckResponse(BaseModel):
|
||||
"""Response for quota limit checks"""
|
||||
allowed: bool
|
||||
message: str
|
||||
limit: int
|
||||
current_count: int
|
||||
max_allowed: int
|
||||
reason: str
|
||||
requested_amount: int
|
||||
available_amount: int
|
||||
|
||||
|
||||
class SubscriptionCancellationRequest(BaseModel):
|
||||
"""Request model for subscription cancellation"""
|
||||
tenant_id: str = Field(..., description="Tenant ID to cancel subscription for")
|
||||
|
||||
Reference in New Issue
Block a user