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 get_current_user from app.models.entities import User from app.modules.invites.service import InviteService router = APIRouter(prefix="/api/v1/invite", tags=["invite"]) @router.get("") def get_invite_summary( current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): return success_response(InviteService(db).get_invite_summary(current_user.id)) @router.post("/codes") def create_invite_code( current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): return success_response(InviteService(db).create_invite_code(current_user.id)) @router.get("/relations") def list_relations( current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): return success_response(InviteService(db).list_relations(current_user.id)) @router.get("/rewards") def list_rewards( current_user: User = Depends(get_current_user), db: Session = Depends(get_db), ): return success_response(InviteService(db).list_rewards(current_user.id))