31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
import uuid
|
|
from typing import Optional
|
|
from sqlalchemy.orm import Session
|
|
from app.schemas.auth.subscription_plan_schema import SubscriptionPlanCreate, SubscriptionPlanUpdate
|
|
from app.services.auth.subscription_plan_service import SubscriptionPlanService
|
|
|
|
class SubscriptionPlanController:
|
|
|
|
@staticmethod
|
|
def create_plan(db: Session, plan_data: SubscriptionPlanCreate):
|
|
return SubscriptionPlanService.create_plan(db, plan_data)
|
|
|
|
@staticmethod
|
|
def update_plan(db: Session, plan_id: uuid.UUID, plan_data: SubscriptionPlanUpdate):
|
|
return SubscriptionPlanService.update_plan(db, plan_id, plan_data)
|
|
|
|
@staticmethod
|
|
def get_plan(db: Session, plan_id: uuid.UUID):
|
|
return SubscriptionPlanService.get_plan(db, plan_id)
|
|
|
|
@staticmethod
|
|
def get_all_plans(db: Session, is_public: Optional[bool] = None, status: Optional[str] = None):
|
|
return SubscriptionPlanService.get_all_plans(db, is_public, status)
|
|
|
|
@staticmethod
|
|
def get_paginated_plans(db: Session, page: int, page_size: int, search: Optional[str]):
|
|
return SubscriptionPlanService.get_paginated_plans(db, page, page_size, search)
|
|
|
|
@staticmethod
|
|
def delete_plan(db: Session, plan_id: uuid.UUID):
|
|
return SubscriptionPlanService.delete_plan(db, plan_id) |