From 5d28bf31ddee5083ca71cd2c138cfbde5e124e80 Mon Sep 17 00:00:00 2001 From: Kobe Date: Sun, 15 Jun 2025 13:18:58 +0200 Subject: [PATCH] Delete admin_api.py --- app/routes/admin_api.py | 107 ---------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 app/routes/admin_api.py diff --git a/app/routes/admin_api.py b/app/routes/admin_api.py deleted file mode 100644 index 6473c9a..0000000 --- a/app/routes/admin_api.py +++ /dev/null @@ -1,107 +0,0 @@ -from flask import request, jsonify, current_app -from flask_login import login_required -import os -from datetime import datetime -from app.utils.gitea_api import GiteaAPI -from app.models.gitea_settings import GiteaSettings - -@admin_api.route('/test-git-connection', methods=['POST']) -@login_required -def test_git_connection(): - try: - data = request.get_json() - if not data: - return jsonify({'success': False, 'error': 'No data provided'}), 400 - - required_fields = ['gitea_url', 'username', 'api_token', 'repo_name'] - for field in required_fields: - if field not in data: - return jsonify({'success': False, 'error': f'Missing required field: {field}'}), 400 - - # Test the connection using the provided credentials - gitea = GiteaAPI( - url=data['gitea_url'], - token=data['api_token'] - ) - - # Try to get repository information - repo = gitea.get_repo(data['username'], data['repo_name']) - if not repo: - return jsonify({'success': False, 'error': 'Repository not found'}), 404 - - return jsonify({ - 'success': True, - 'message': 'Successfully connected to Gitea', - 'data': { - 'repo_name': repo.name, - 'description': repo.description, - 'default_branch': repo.default_branch, - 'created_at': repo.created_at, - 'updated_at': repo.updated_at - } - }) - - except Exception as e: - return jsonify({'success': False, 'error': str(e)}), 500 - -@admin_api.route('/check-docker-compose', methods=['POST']) -@login_required -def check_docker_compose(): - try: - data = request.get_json() - if not data: - return jsonify({'success': False, 'error': 'No data provided'}), 400 - - required_fields = ['repository', 'branch'] - for field in required_fields: - if field not in data: - return jsonify({'success': False, 'error': f'Missing required field: {field}'}), 400 - - # Get Gitea settings from database - gitea_settings = GiteaSettings.query.first() - if not gitea_settings: - return jsonify({'success': False, 'error': 'Gitea settings not configured'}), 400 - - # Initialize Gitea API - gitea = GiteaAPI( - url=gitea_settings.server_url, - token=gitea_settings.api_token - ) - - # Split repository into owner and repo name - owner, repo_name = data['repository'].split('/') - - # Get the docker-compose.yml file content - try: - file_content = gitea.get_file_content( - owner=owner, - repo=repo_name, - filepath='docker-compose.yml', - ref=data['branch'] - ) - except Exception as e: - return jsonify({'success': False, 'error': f'Failed to get docker-compose.yml: {str(e)}'}), 404 - - # Save the file content to a temporary location - temp_dir = os.path.join(current_app.config['UPLOAD_FOLDER'], 'temp') - os.makedirs(temp_dir, exist_ok=True) - - file_path = os.path.join(temp_dir, f'docker-compose-{owner}-{repo_name}.yml') - with open(file_path, 'w') as f: - f.write(file_content) - - # Get file stats - file_stats = os.stat(file_path) - - return jsonify({ - 'success': True, - 'message': 'Successfully found and downloaded docker-compose.yml', - 'data': { - 'file_path': file_path, - 'size': file_stats.st_size, - 'last_modified': datetime.fromtimestamp(file_stats.st_mtime).isoformat() - } - }) - - except Exception as e: - return jsonify({'success': False, 'error': str(e)}), 500 \ No newline at end of file