from fastapi import APIRouter, Depends, Request from sqlalchemy.orm import Session from app.core.deps import get_db, get_current_active_user, get_current_organization from app.models.user import User from app.models.tenant import Organization from app.schemas.organization import OrganizationResponse, OrganizationUpdate from app.services.organization import OrganizationService router = APIRouter() @router.get("/me", response_model=OrganizationResponse) async def get_my_organization( current_org: Organization = Depends(get_current_organization) ): return current_org @router.put("/me", response_model=OrganizationResponse) async def update_my_organization( request: Request, organization_update: OrganizationUpdate, current_user: User = Depends(get_current_active_user), current_org: Organization = Depends(get_current_organization), db: Session = Depends(get_db) ): org_service = OrganizationService(db) return org_service.update_organization( organization_id=current_org.id, organization_update=organization_update, current_user=current_user, ip_address=request.client.host, user_agent=request.headers.get("user-agent", "") ) @router.get("/me/stats") async def get_organization_stats( current_org: Organization = Depends(get_current_organization), db: Session = Depends(get_db) ): org_service = OrganizationService(db) return org_service.get_organization_stats(current_org.id)