from fastapi import APIRouter

from app.api.v1.endpoints import health
from app.api.v1.endpoints import groups 
from app.api.v1.endpoints import invites
from app.api.v1.endpoints import lists
from app.api.v1.endpoints import items
from app.api.v1.endpoints import ocr
from app.api.v1.endpoints import costs
from app.api.v1.endpoints import financials
from app.api.v1.endpoints import chores
from app.api.v1.endpoints import history
from app.api.v1.endpoints import categories
from app.api.auth import oauth, guest, jwt

# WebSocket support
from app.api.v1.endpoints import websocket as ws_endpoint
from app.api.v1.endpoints import users

# Magic link endpoints
from app.api.auth import magic_link

# New activity router
from app.api.v1.endpoints import activity

api_router_v1 = APIRouter()

api_router_v1.include_router(health.router) 
api_router_v1.include_router(groups.router, prefix="/groups", tags=["Groups"]) 
api_router_v1.include_router(invites.router, prefix="/invites", tags=["Invites"]) 
api_router_v1.include_router(lists.router, prefix="/lists", tags=["Lists"]) 
api_router_v1.include_router(items.router, tags=["Items"])
api_router_v1.include_router(ocr.router, prefix="/ocr", tags=["OCR"])
api_router_v1.include_router(costs.router, prefix="/costs", tags=["Costs"])
api_router_v1.include_router(financials.router, prefix="/financials", tags=["Financials"])
api_router_v1.include_router(chores.router, prefix="/chores", tags=["Chores"])
api_router_v1.include_router(history.router, prefix="/history", tags=["History"])
api_router_v1.include_router(categories.router, prefix="/categories", tags=["Categories"])
api_router_v1.include_router(oauth.router, prefix="/auth", tags=["Auth"])
api_router_v1.include_router(guest.router, prefix="/auth", tags=["Auth"])
api_router_v1.include_router(jwt.router, prefix="/auth", tags=["Auth"])
api_router_v1.include_router(users.router, prefix="/users", tags=["Users"])

# Magic link
api_router_v1.include_router(magic_link.router, prefix="/auth", tags=["Auth"])

# New activity router
api_router_v1.include_router(activity.router, tags=["Activity"])

# WebSockets (no prefix, standalone path)
api_router_v1.include_router(ws_endpoint.router, tags=["WebSockets"])
