front end for n8n version

This commit is contained in:
usmannasir
2025-04-12 20:21:43 +05:00
parent a7b1a18ac8
commit c4580479ad
5 changed files with 52 additions and 244 deletions

View File

@@ -17,8 +17,6 @@ from django.views.decorators.csrf import csrf_exempt
from .dockerviews import startContainer as docker_startContainer
from .dockerviews import stopContainer as docker_stopContainer
from .dockerviews import restartContainer as docker_restartContainer
from .dockerviews import DockerManager
from .dockerviews import executeCommand as docker_executeCommand
def loadWebsitesHome(request):
val = request.session['userID']
@@ -1883,53 +1881,5 @@ def restartContainer(request):
if request.method == 'POST':
return docker_restartContainer(request)
return HttpResponse('Not allowed')
except KeyError:
return redirect(loadLoginPage)
@csrf_exempt
def fetchN8nVersions(request):
try:
userID = request.session['userID']
data = json.loads(request.body)
container_id = data.get('container_id')
docker_manager = DockerManager()
container = docker_manager.get_container(container_id)
if not container:
return HttpResponse(json.dumps({
'status': 0,
'error_message': 'Container not found'
}))
# Execute command in container to get current n8n version
current_version_cmd = container.exec_run("npm list n8n --json")
current_version_output = current_version_cmd.output.decode('utf-8')
current_version_data = json.loads(current_version_output)
current_version = current_version_data.get('dependencies', {}).get('n8n', {}).get('version', 'unknown')
# Get latest version from npm
latest_version_cmd = container.exec_run("npm show n8n version")
latest_version = latest_version_cmd.output.decode('utf-8').strip()
return HttpResponse(json.dumps({
'status': 1,
'current_version': current_version,
'latest_version': latest_version,
'update_available': current_version != latest_version
}))
except Exception as e:
return HttpResponse(json.dumps({
'status': 0,
'error_message': str(e)
}))
@csrf_exempt
def executeCommand(request):
try:
if request.method == 'POST':
return docker_executeCommand(request)
return HttpResponse('Not allowed')
except KeyError:
return redirect(loadLoginPage)