| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import json
- from fastapi import APIRouter, Depends
- from Log import logger
- from app.api import Response
- from app.api.auth import login
- from app.config.const import IMAGE_TO_TEXT, DOCUMENT_TO_CLEANING, DOCUMENT_TO_REPORT, DIFY, BISHENG, RAGFLOW
- from app.models.base_model import get_db
- from app.models.public_api_model import DfToken, AppRegister
- from app.service.v2.api_token import DfTokenDao
- from app.service.v2.app_register import AppRegisterDao
- from app.service.v2.initialize_data import dialog_menu_sync
- from app.task.sync_resources import sync_knowledge, sync_dialog, sync_agent, sync_llm, sync_resource
- public_api = APIRouter()
- @public_api.post("/sync/df_token", response_model=Response)
- async def sync_df_token(df: DfToken, db=Depends(get_db)):
- token_dict = {IMAGE_TO_TEXT: df.image, DOCUMENT_TO_CLEANING: df.clean, DOCUMENT_TO_REPORT: df.report}
- try:
- for api_id, token in token_dict.items():
- if not token:
- continue
- DfTokenDao(db).update_and_insert_token(api_id, token)
- except Exception as e:
- logger.error(e)
- return Response(code=500, msg="failed", data={})
- return Response(code=200, msg="successfully", data={})
- @public_api.post("/sync/app_register", response_model=Response)
- async def sync_app_register(apr: AppRegister, db=Depends(get_db)):
- app_dict = {RAGFLOW: apr.rg, BISHENG: apr.bs, DIFY: apr.df}
- try:
- for app_id, status in app_dict.items():
- AppRegisterDao(db).update_and_insert_app(app_id, status)
- except Exception as e:
- logger.error(e)
- return Response(code=500, msg="failed", data={})
- return Response(code=200, msg="successfully", data={})
- @public_api.get("/sync/resource", response_model=Response)
- async def sync_resource_data(resource_type:int, db=Depends(get_db)):
- if resource_type == 1:
- await sync_knowledge()
- elif resource_type == 2:
- await sync_dialog()
- elif resource_type == 3:
- await sync_agent()
- elif resource_type == 4:
- await sync_llm()
- else:
- await sync_resource()
- return Response(code=200, msg="", data={})
- @public_api.get("/sync/dialog_menu", response_model=Response)
- async def sync_dialog_menu(db=Depends(get_db)):
- try:
- await dialog_menu_sync(db)
- except Exception as e:
- logger.error(e)
- return Response(code=500, msg="failed", data={})
- return Response(code=200, msg="success", data={})
|