|
@@ -21,15 +21,24 @@ class SetDefaultModelsForm(BaseModel):
|
|
models: str
|
|
models: str
|
|
|
|
|
|
|
|
|
|
|
|
+class PromptSuggestion(BaseModel):
|
|
|
|
+ title: List[str]
|
|
|
|
+ content: str
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class SetDefaultSuggestionsForm(BaseModel):
|
|
|
|
+ suggestions: List[PromptSuggestion]
|
|
|
|
+
|
|
|
|
+
|
|
############################
|
|
############################
|
|
# SetDefaultModels
|
|
# SetDefaultModels
|
|
############################
|
|
############################
|
|
|
|
|
|
|
|
|
|
@router.post("/default/models", response_model=str)
|
|
@router.post("/default/models", response_model=str)
|
|
-async def set_global_default_models(request: Request,
|
|
|
|
- form_data: SetDefaultModelsForm,
|
|
|
|
- user=Depends(get_current_user)):
|
|
|
|
|
|
+async def set_global_default_models(
|
|
|
|
+ request: Request, form_data: SetDefaultModelsForm, user=Depends(get_current_user)
|
|
|
|
+):
|
|
if user.role == "admin":
|
|
if user.role == "admin":
|
|
request.app.state.DEFAULT_MODELS = form_data.models
|
|
request.app.state.DEFAULT_MODELS = form_data.models
|
|
return request.app.state.DEFAULT_MODELS
|
|
return request.app.state.DEFAULT_MODELS
|
|
@@ -38,3 +47,19 @@ async def set_global_default_models(request: Request,
|
|
status_code=status.HTTP_403_FORBIDDEN,
|
|
status_code=status.HTTP_403_FORBIDDEN,
|
|
detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
|
|
detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
|
|
)
|
|
)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@router.post("/default/suggestions", response_model=str)
|
|
|
|
+async def set_global_default_suggestions(
|
|
|
|
+ request: Request,
|
|
|
|
+ form_data: SetDefaultSuggestionsForm,
|
|
|
|
+ user=Depends(get_current_user),
|
|
|
|
+):
|
|
|
|
+ if user.role == "admin":
|
|
|
|
+ request.app.state.DEFAULT_PROMPT_SUGGESTIONS = form_data.suggestions
|
|
|
|
+ return request.app.state.DEFAULT_PROMPT_SUGGESTIONS
|
|
|
|
+ else:
|
|
|
|
+ raise HTTPException(
|
|
|
|
+ status_code=status.HTTP_403_FORBIDDEN,
|
|
|
|
+ detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
|
|
|
|
+ )
|