39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
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))
|
|
|