|
|
@@ -1,5 +1,6 @@
|
|
|
import json
|
|
|
import time
|
|
|
+import os
|
|
|
from Log import logger
|
|
|
from app.config.const import DIFY
|
|
|
from app.models import MenuCapacityModel, WebMenuModel, GroupModel, RoleModel, DialogModel, UserModel, UserAppModel, \
|
|
|
@@ -38,6 +39,41 @@ async def dialog_menu_sync(db):
|
|
|
db.commit()
|
|
|
|
|
|
|
|
|
+async def create_menu_sync(db):
|
|
|
+ json_file_path = "env_conf/menu_conf.json"
|
|
|
+ with open(json_file_path, 'r', encoding='utf-8') as file:
|
|
|
+ json_data = json.load(file).get("data", [])
|
|
|
+ for menu in json_data:
|
|
|
+ menu['dialog'].clear()
|
|
|
+ dialogs = db.query(DialogModel).all()
|
|
|
+
|
|
|
+ dialog_dict = {}
|
|
|
+ for dialog in dialogs:
|
|
|
+ if dialog.name not in dialog_dict:
|
|
|
+ dialog_dict[dialog.name] = []
|
|
|
+ dialog_dict[dialog.name].append(dialog)
|
|
|
+
|
|
|
+ for menu in json_data:
|
|
|
+ if menu['title'] in dialog_dict:
|
|
|
+ for dialog in dialog_dict[menu['title']]:
|
|
|
+ new_dialog_item = {
|
|
|
+ 'id': dialog.id,
|
|
|
+ 'chat_id': dialog.id,
|
|
|
+ 'chat_type': '',
|
|
|
+ 'agentType': dialog.dialog_type
|
|
|
+ }
|
|
|
+ menu['dialog'].append(new_dialog_item)
|
|
|
+ json_data = {"data": json_data}
|
|
|
+ new_file_name = f"menu_conf.json.template"
|
|
|
+ new_file_path = os.path.join(os.path.dirname(json_file_path), new_file_name)
|
|
|
+ with open(new_file_path, 'w', encoding='utf-8') as new_file:
|
|
|
+ json.dump(json_data, new_file, ensure_ascii=False, indent=4)
|
|
|
+ return {
|
|
|
+ "file_name": new_file_name,
|
|
|
+ "json_data": json_data
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
async def default_group_sync(db):
|
|
|
group = db.query(GroupModel).filter_by(group_type=2).first()
|
|
|
if not group:
|
|
|
@@ -177,4 +213,4 @@ async def save_db(db, username, password, email, user_id, app_id, app_type):
|
|
|
user_id = await user_app_dao.insert_user_app_data(username, password, email, user_id, app_id, app_type)
|
|
|
if not user_id:
|
|
|
raise Exception("Failed to register with app")
|
|
|
- print({"msg": "User registered successfully", "userFlag": user_id})
|
|
|
+ print({"msg": "User registered successfully", "userFlag": user_id})
|