utils.py 813 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. from fastapi import APIRouter, UploadFile, File, BackgroundTasks
  2. from fastapi import Depends, HTTPException, status
  3. from starlette.responses import StreamingResponse, FileResponse
  4. from pydantic import BaseModel
  5. import requests
  6. import os
  7. import aiohttp
  8. import json
  9. from utils.utils import get_admin_user
  10. from utils.misc import calculate_sha256, get_gravatar_url
  11. from config import OLLAMA_BASE_URLS, DATA_DIR, UPLOAD_DIR
  12. from constants import ERROR_MESSAGES
  13. router = APIRouter()
  14. @router.get("/gravatar")
  15. async def get_gravatar(
  16. email: str,
  17. ):
  18. return get_gravatar_url(email)
  19. @router.get("/db/download")
  20. async def download_db(user=Depends(get_admin_user)):
  21. return FileResponse(
  22. f"{DATA_DIR}/webui.db",
  23. media_type="application/octet-stream",
  24. filename="webui.db",
  25. )