mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-10 15:26:13 +01:00
front end for n8n version
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user