configs.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from fastapi import Response, Request
  2. from fastapi import Depends, FastAPI, HTTPException, status
  3. from datetime import datetime, timedelta
  4. from typing import List, Union
  5. from fastapi import APIRouter
  6. from pydantic import BaseModel
  7. import time
  8. import uuid
  9. from apps.web.models.users import Users
  10. from utils.utils import get_password_hash, get_current_user, get_admin_user, create_token
  11. from utils.misc import get_gravatar_url, validate_email_format
  12. from constants import ERROR_MESSAGES
  13. router = APIRouter()
  14. class SetDefaultModelsForm(BaseModel):
  15. models: str
  16. class PromptSuggestion(BaseModel):
  17. title: List[str]
  18. content: str
  19. class SetDefaultSuggestionsForm(BaseModel):
  20. suggestions: List[PromptSuggestion]
  21. ############################
  22. # SetDefaultModels
  23. ############################
  24. @router.post("/default/models", response_model=str)
  25. async def set_global_default_models(
  26. request: Request, form_data: SetDefaultModelsForm, user=Depends(get_admin_user)
  27. ):
  28. request.app.state.DEFAULT_MODELS = form_data.models
  29. return request.app.state.DEFAULT_MODELS
  30. @router.post("/default/suggestions", response_model=List[PromptSuggestion])
  31. async def set_global_default_suggestions(
  32. request: Request,
  33. form_data: SetDefaultSuggestionsForm,
  34. user=Depends(get_admin_user),
  35. ):
  36. data = form_data.model_dump()
  37. request.app.state.DEFAULT_PROMPT_SUGGESTIONS = data["suggestions"]
  38. return request.app.state.DEFAULT_PROMPT_SUGGESTIONS