mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-05 04:46:07 +01:00
342 lines
9.3 KiB
Python
Executable File
342 lines
9.3 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
|
|
|
|
# Create your views here.
|
|
import json
|
|
|
|
from django.shortcuts import redirect
|
|
|
|
from backup.backupManager import BackupManager
|
|
from backup.pluginManager import pluginManager
|
|
from loginSystem.views import loadLoginPage
|
|
import os
|
|
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
|
from django.shortcuts import HttpResponse
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
|
def loadBackupHome(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.loadBackupHome(request, userID)
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def backupSite(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.backupSite(request, userID)
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def restoreSite(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.restoreSite(request, userID)
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def getCurrentBackups(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
wm = BackupManager()
|
|
return wm.getCurrentBackups(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def submitBackupCreation(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
|
|
result = pluginManager.preSubmitBackupCreation(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.submitBackupCreation(userID, json.loads(request.body))
|
|
|
|
return coreResult
|
|
|
|
except BaseException as msg:
|
|
logging.writeToFile(str(msg))
|
|
|
|
|
|
def backupStatus(request):
|
|
try:
|
|
userID = 1
|
|
wm = BackupManager()
|
|
return wm.backupStatus(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def cancelBackupCreation(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
wm = BackupManager()
|
|
return wm.cancelBackupCreation(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def deleteBackup(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
|
|
result = pluginManager.preDeleteBackup(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.deleteBackup(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postDeleteBackup(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def submitRestore(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preSubmitRestore(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.submitRestore(json.loads(request.body), userID)
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def restoreStatus(request):
|
|
try:
|
|
wm = BackupManager()
|
|
return wm.restoreStatus(json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def backupDestinations(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.backupDestinations(request, userID)
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
def submitDestinationCreation(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
|
|
result = pluginManager.preSubmitDestinationCreation(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.submitDestinationCreation(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postSubmitDestinationCreation(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def getCurrentBackupDestinations(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.getCurrentBackupDestinations(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def getConnectionStatus(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.getConnectionStatus(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def deleteDestination(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preDeleteDestination(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.deleteDestination(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postDeleteDestination(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def scheduleBackup(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.scheduleBackup(request, userID)
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def getCurrentBackupSchedules(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
wm = BackupManager()
|
|
return wm.getCurrentBackupSchedules(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def submitBackupSchedule(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preSubmitBackupSchedule(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.submitBackupSchedule(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postSubmitBackupSchedule(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def scheduleDelete(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preScheduleDelete(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.scheduleDelete(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postScheduleDelete(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def remoteBackups(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
bm = BackupManager()
|
|
return bm.remoteBackups(request, userID)
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def submitRemoteBackups(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preSubmitRemoteBackups(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.submitRemoteBackups(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postSubmitRemoteBackups(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def starRemoteTransfer(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preStarRemoteTransfer(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.starRemoteTransfer(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postStarRemoteTransfer(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def getRemoteTransferStatus(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
wm = BackupManager()
|
|
return wm.getRemoteTransferStatus(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def remoteBackupRestore(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
result = pluginManager.preRemoteBackupRestore(request)
|
|
if result != 200:
|
|
return result
|
|
|
|
wm = BackupManager()
|
|
coreResult = wm.remoteBackupRestore(userID, json.loads(request.body))
|
|
|
|
result = pluginManager.postRemoteBackupRestore(request, coreResult)
|
|
if result != 200:
|
|
return result
|
|
|
|
return coreResult
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def localRestoreStatus(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
wm = BackupManager()
|
|
return wm.localRestoreStatus(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
def cancelRemoteBackup(request):
|
|
try:
|
|
userID = request.session['userID']
|
|
wm = BackupManager()
|
|
return wm.cancelRemoteBackup(userID, json.loads(request.body))
|
|
except KeyError:
|
|
return redirect(loadLoginPage)
|
|
|
|
|
|
@csrf_exempt
|
|
def localInitiate(request):
|
|
try:
|
|
data = json.loads(request.body)
|
|
randomFile = data['randomFile']
|
|
|
|
if os.path.exists(randomFile):
|
|
wm = BackupManager()
|
|
return wm.submitBackupCreation(1, json.loads(request.body))
|
|
except BaseException as msg:
|
|
logging.writeToFile(str(msg))
|