21 lines
794 B
Python
21 lines
794 B
Python
from fastapi import APIRouter, Depends, HTTPException
|
|
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
|
|
from app.config.database import get_db
|
|
from app.middleware.auth_middleware import get_current_user, User
|
|
from app.schemas.auth.module_schema import ModuleAvailableResponse
|
|
from app.controllers.auth.module_controller import ModuleController
|
|
|
|
router = APIRouter()
|
|
|
|
@router.get("/available", response_model=List[ModuleAvailableResponse])
|
|
def get_available_modules(
|
|
current_user: User = Depends(get_current_user),
|
|
db: Session = Depends(get_db)
|
|
):
|
|
"""
|
|
List modules available to the current user (based on tenant subscription).
|
|
For platform admin (tenant_id=None), lists all active modules.
|
|
"""
|
|
return ModuleController.get_available_modules(db, current_user) |