1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from fastapi import Response, Request
- from fastapi import Depends, FastAPI, HTTPException, status
- from datetime import datetime, timedelta
- from typing import List, Union
- from fastapi import APIRouter
- from pydantic import BaseModel
- import time
- import uuid
- from apps.web.models.users import Users
- from utils.utils import (
- get_password_hash,
- get_current_user,
- get_admin_user,
- create_token,
- )
- from utils.misc import get_gravatar_url, validate_email_format
- from constants import ERROR_MESSAGES
- router = APIRouter()
- class SetDefaultModelsForm(BaseModel):
- models: str
- class PromptSuggestion(BaseModel):
- title: List[str]
- content: str
- class SetDefaultSuggestionsForm(BaseModel):
- suggestions: List[PromptSuggestion]
- ############################
- # SetDefaultModels
- ############################
- @router.post("/default/models", response_model=str)
- async def set_global_default_models(
- request: Request, form_data: SetDefaultModelsForm, user=Depends(get_admin_user)
- ):
- request.app.state.config.DEFAULT_MODELS = form_data.models
- return request.app.state.config.DEFAULT_MODELS
- @router.post("/default/suggestions", response_model=List[PromptSuggestion])
- async def set_global_default_suggestions(
- request: Request,
- form_data: SetDefaultSuggestionsForm,
- user=Depends(get_admin_user),
- ):
- data = form_data.model_dump()
- request.app.state.config.DEFAULT_PROMPT_SUGGESTIONS = data["suggestions"]
- return request.app.state.config.DEFAULT_PROMPT_SUGGESTIONS
|