configs.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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, 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. ############################
  17. # SetDefaultModels
  18. ############################
  19. @router.post("/default/models", response_model=str)
  20. async def set_global_default_models(request: Request,
  21. form_data: SetDefaultModelsForm,
  22. user=Depends(get_current_user)):
  23. if user.role == "admin":
  24. request.app.state.DEFAULT_MODELS = form_data.models
  25. return request.app.state.DEFAULT_MODELS
  26. else:
  27. raise HTTPException(
  28. status_code=status.HTTP_403_FORBIDDEN,
  29. detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
  30. )