from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.common.db.session import get_db from app.common.responses.api_response import success_response from app.common.security.deps import require_admin_permission from app.modules.growth_rules.schema import GrowthRulePayload from app.modules.growth_rules.service import GrowthRulesService router = APIRouter(prefix="/api/v1/admin/growth-rules", tags=["admin-growth-rules"]) @router.get("") def get_growth_rules( _=Depends(require_admin_permission()), db: Session = Depends(get_db), ): return success_response(GrowthRulesService(db).get_rules()) @router.put("/signup") def update_signup_rule( payload: GrowthRulePayload, _=Depends(require_admin_permission()), db: Session = Depends(get_db), ): return success_response(GrowthRulesService(db).update_signup_rule(payload)) @router.put("/invite") def update_invite_rule( payload: GrowthRulePayload, _=Depends(require_admin_permission()), db: Session = Depends(get_db), ): return success_response(GrowthRulesService(db).update_invite_rule(payload))