from flask import Flask, jsonify, request app = Flask(__name__) # Simulación de /repositories - Obtención de lista de repositorios @app.route('/repositories', methods=['GET']) def get_repositories(): # Mock de respuesta exitosa return jsonify({ "repositories": ["repo1", "repo2", "repo3"] }), 200 # Simulación de /repositories/ - Creación de repositorio @app.route('/repositories/', methods=['PUT']) def create_repo(repo): # Mock de respuesta de repositorio ya existente return jsonify({"status": "Repository already exists"}), 200 # Simulación de /repositories//sync - Sincronización de repositorio @app.route('/repositories//sync', methods=['POST']) def sync_repo(repo): data = request.json dest_repo = data["remote_repository"] # Mock de respuesta exitosa return jsonify({ "status": "Started synchronization", "repository": repo, "destination_repository": dest_repo }), 200 # Simulación de /repositories//backup - Realización de backup @app.route('/repositories//backup', methods=['POST']) def backup_repo(repo): data = request.json dest_server = data["ssh_server"] dest_user = data["ssh_user"] dest_file = data["filename"] # Mock de respuesta exitosa return jsonify({ "status": "Started backup", "repository": repo, "ssh_server": dest_server, "ssh_user": dest_user, "filename": dest_file }), 200 # Simulación de /repositories/ - Eliminación de repositorio @app.route('/repositories/', methods=['DELETE']) def delete_repo(repo): # Mock de respuesta exitosa return jsonify({"status": "Repository deleted"}), 200 # Simulación de /repositories//branches - Obtención de branches del repositorio @app.route('/repositories//branches', methods=['GET']) def get_repository_branches(repo): # Mock de respuesta con branches de ejemplo return jsonify({ "branches": ["main", "dev", "feature-xyz"] }), 200 # Simulación de la verificación de salud del servicio @app.route('/health', methods=['GET']) def health_check(): return jsonify({"status": "OK"}), 200 # Simulación de la raíz de la API @app.route('/', methods=['GET']) def home(): return jsonify({ "message": "OpenGnsys Git API Mock" }), 200 if __name__ == '__main__': app.run(host='0.0.0.0', port=5001, debug=True)