| | |
| | | from app.models.user_model import UserAppModel |
| | | from app.models.agent_model import AgentModel |
| | | from app.models.base_model import SessionLocal, Base |
| | | from app.models.resource_model import ResourceModel |
| | | from app.models.resource_model import ResourceModel, ResourceTypeModel |
| | | from app.service.v2.app_register import AppRegisterDao |
| | | |
| | | # 创建数据库引擎和会话工厂 |
| | |
| | | db.close() |
| | | |
| | | |
| | | def import_type_table(session: Session, node: dict, parent=None): |
| | | resource_type = ResourceTypeModel( |
| | | id=node['id'], |
| | | name=node['name'], |
| | | description=node.get('description') |
| | | ) |
| | | if parent: |
| | | resource_type.parent = parent |
| | | session.add(resource_type) |
| | | session.commit() |
| | | |
| | | |
| | | def import_tree(session: Session, node: dict, parent=None): |
| | | resource = ResourceModel( |
| | | id=node['id'], |
| | |
| | | def sync_resources_from_json(): |
| | | db = SessionLocal() |
| | | try: |
| | | if db.query(ResourceTypeModel).count() == 0: |
| | | with open(os.path.join(ENV_CONF_PATH, "resource_type.json"), 'r', encoding='utf-8') as file: |
| | | type_json_data = json.load(file) |
| | | |
| | | db.query(ResourceTypeModel).delete() |
| | | db.commit() |
| | | |
| | | for node in type_json_data: |
| | | import_type_table(db, node) |
| | | print("add resourceType record successfully") |
| | | else: |
| | | print("sync resources successfully") |
| | | if db.query(ResourceModel).count() == 0: |
| | | with open(os.path.join(ENV_CONF_PATH, "resource.json"), 'r', encoding='utf-8') as file: |
| | | json_data = json.load(file) |
| | |
| | | else: |
| | | print("sync resources successfully") |
| | | except Exception as e: |
| | | print(f"Failed to sync resources: {str(e)}") |
| | | print(f"Failed to sync resources or resource type: {str(e)}") |
| | | finally: |
| | | db.close() |
| | | |