Files
CyberPanel/backup/views.py

414 lines
11 KiB
Python
Raw Normal View History

2017-10-24 19:16:36 +05:00
# -*- coding: utf-8 -*-
2019-12-10 15:09:10 +05:00
2017-10-24 19:16:36 +05:00
# Create your views here.
import json
2019-03-13 23:05:22 +05:00
from django.shortcuts import redirect
from backup.backupManager import BackupManager
2018-10-05 23:05:02 +05:00
from backup.pluginManager import pluginManager
2019-03-13 23:05:22 +05:00
from loginSystem.views import loadLoginPage
2019-07-18 14:08:00 +05:00
import os
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
from django.shortcuts import HttpResponse
from django.views.decorators.csrf import csrf_exempt
2017-10-24 19:16:36 +05:00
def loadBackupHome(request):
try:
2018-08-28 01:19:34 +05:00
userID = request.session['userID']
bm = BackupManager()
return bm.loadBackupHome(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
2018-08-18 00:39:10 +05:00
def backupSite(request):
2017-10-24 19:16:36 +05:00
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
bm = BackupManager()
return bm.backupSite(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
2020-06-13 11:56:09 +05:00
def gDrive(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.gDrive(request, userID)
except KeyError:
return redirect(loadLoginPage)
2020-06-13 14:25:29 +05:00
def gDriveSetup(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.gDriveSetup(userID, request)
except KeyError:
return redirect(loadLoginPage)
def fetchgDriveSites(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.fetchgDriveSites(request, userID)
except KeyError:
return redirect(loadLoginPage)
def addSitegDrive(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.addSitegDrive(request, userID)
except KeyError:
return redirect(loadLoginPage)
def deleteAccountgDrive(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.deleteAccountgDrive(request, userID)
except KeyError:
return redirect(loadLoginPage)
def changeAccountFrequencygDrive(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.changeAccountFrequencygDrive(request, userID)
except KeyError:
return redirect(loadLoginPage)
def deleteSitegDrive(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.deleteSitegDrive(request, userID)
except KeyError:
return redirect(loadLoginPage)
2018-08-18 00:39:10 +05:00
def restoreSite(request):
2017-10-24 19:16:36 +05:00
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
bm = BackupManager()
return bm.restoreSite(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def getCurrentBackups(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
wm = BackupManager()
return wm.getCurrentBackups(userID, json.loads(request.body))
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def submitBackupCreation(request):
try:
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preSubmitBackupCreation(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.submitBackupCreation(userID, json.loads(request.body))
return coreResult
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-07-18 14:08:00 +05:00
logging.writeToFile(str(msg))
2017-10-24 19:16:36 +05:00
2017-10-24 19:16:36 +05:00
def backupStatus(request):
try:
2018-09-24 18:56:48 +05:00
userID = 1
2018-08-28 01:19:34 +05:00
wm = BackupManager()
return wm.backupStatus(userID, json.loads(request.body))
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-24 19:16:36 +05:00
def cancelBackupCreation(request):
try:
2018-08-28 01:19:34 +05:00
userID = request.session['userID']
wm = BackupManager()
return wm.cancelBackupCreation(userID, json.loads(request.body))
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-24 19:16:36 +05:00
def deleteBackup(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preDeleteBackup(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.deleteBackup(userID, json.loads(request.body))
result = pluginManager.postDeleteBackup(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-24 19:16:36 +05:00
def submitRestore(request):
try:
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preSubmitRestore(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
coreResult = wm.submitRestore(json.loads(request.body), userID)
2018-10-05 23:05:02 +05:00
return coreResult
2018-08-28 01:19:34 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-24 19:16:36 +05:00
def restoreStatus(request):
try:
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-09-05 19:06:06 +05:00
return wm.restoreStatus(json.loads(request.body))
2018-08-28 01:19:34 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-24 19:16:36 +05:00
def backupDestinations(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
bm = BackupManager()
return bm.backupDestinations(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def submitDestinationCreation(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
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
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def getCurrentBackupDestinations(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
bm = BackupManager()
return bm.getCurrentBackupDestinations(userID, json.loads(request.body))
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def getConnectionStatus(request):
try:
2018-08-28 01:19:34 +05:00
userID = request.session['userID']
bm = BackupManager()
return bm.getConnectionStatus(userID, json.loads(request.body))
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def deleteDestination(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
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
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def scheduleBackup(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
bm = BackupManager()
return bm.scheduleBackup(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def getCurrentBackupSchedules(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
wm = BackupManager()
return wm.getCurrentBackupSchedules(userID, json.loads(request.body))
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def submitBackupSchedule(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preSubmitBackupSchedule(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.submitBackupSchedule(userID, json.loads(request.body))
result = pluginManager.postSubmitBackupSchedule(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def scheduleDelete(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preScheduleDelete(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.scheduleDelete(userID, json.loads(request.body))
result = pluginManager.postScheduleDelete(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def remoteBackups(request):
try:
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
bm = BackupManager()
return bm.remoteBackups(request, userID)
2017-10-24 19:16:36 +05:00
except KeyError:
return redirect(loadLoginPage)
def submitRemoteBackups(request):
try:
2018-06-30 15:29:56 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preSubmitRemoteBackups(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.submitRemoteBackups(userID, json.loads(request.body))
result = pluginManager.postSubmitRemoteBackups(request, coreResult)
if result != 200:
return result
return coreResult
2018-08-28 01:19:34 +05:00
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-26 23:50:59 +05:00
def starRemoteTransfer(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preStarRemoteTransfer(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.starRemoteTransfer(userID, json.loads(request.body))
result = pluginManager.postStarRemoteTransfer(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-26 23:50:59 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def getRemoteTransferStatus(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
wm = BackupManager()
return wm.getRemoteTransferStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
def remoteBackupRestore(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-10-05 23:05:02 +05:00
result = pluginManager.preRemoteBackupRestore(request)
if result != 200:
return result
2018-08-28 01:19:34 +05:00
wm = BackupManager()
2018-10-05 23:05:02 +05:00
coreResult = wm.remoteBackupRestore(userID, json.loads(request.body))
result = pluginManager.postRemoteBackupRestore(request, coreResult)
if result != 200:
return result
return coreResult
2017-10-24 19:16:36 +05:00
except KeyError:
2018-08-28 01:19:34 +05:00
return redirect(loadLoginPage)
2017-10-24 19:16:36 +05:00
2017-10-26 23:50:59 +05:00
def localRestoreStatus(request):
2017-10-24 19:16:36 +05:00
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
wm = BackupManager()
return wm.localRestoreStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
2017-10-26 23:50:59 +05:00
def cancelRemoteBackup(request):
try:
2018-08-18 00:39:10 +05:00
userID = request.session['userID']
2018-08-28 01:19:34 +05:00
wm = BackupManager()
return wm.cancelRemoteBackup(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
2019-07-18 14:08:00 +05:00
2020-05-21 23:21:36 +05:00
def backupLogs(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.backupLogs(request, userID)
except KeyError:
return redirect(loadLoginPage)
def fetchLogs(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.fetchLogs(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
2019-07-18 14:08:00 +05:00
@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))
2019-12-10 15:09:10 +05:00
except BaseException as msg:
2019-07-18 14:08:00 +05:00
logging.writeToFile(str(msg))