refactored incBackups

This commit is contained in:
Chris
2021-02-03 00:35:08 -05:00
parent 386f8dfdcd
commit e8831b3674
8 changed files with 384 additions and 574 deletions

View File

@@ -0,0 +1,7 @@
from enum import Enum
class IncBackupPath(Enum):
SFTP = "/home/cyberpanel/sftp"
AWS = "/home/cyberpanel/aws"
# WASABI = "/home/cyberpanel/wasabi"

View File

@@ -0,0 +1,8 @@
from enum import Enum, auto
class IncBackupProvider(Enum):
LOCAL = auto()
SFTP = auto()
AWS = auto()
# WASABI = auto()

View File

@@ -83,9 +83,7 @@ class IncJobs(multi.Thread):
result = self.getRemoteBackups() result = self.getRemoteBackups()
activator = 0 activator = 0
json_data = "[" json_data = []
checker = 0
if result[0].find('unable to open config file') == -1: if result[0].find('unable to open config file') == -1:
for items in reversed(result): for items in reversed(result):
@@ -98,20 +96,11 @@ class IncJobs(multi.Thread):
if activator: if activator:
entry = items.split(' ') entry = items.split(' ')
json_data.append({'id': entry[0],
dic = {'id': entry[0],
'date': "%s %s" % (entry[2], entry[3]), 'date': "%s %s" % (entry[2], entry[3]),
'host': entry[5], 'host': entry[5],
'path': entry[-1] 'path': entry[-1]
} })
if checker == 0:
json_data = json_data + json.dumps(dic)
checker = 1
else:
json_data = json_data + ',' + json.dumps(dic)
json_data = json_data + ']'
final_json = json.dumps({'status': 1, 'error_message': "None", "data": json_data}) final_json = json.dumps({'status': 1, 'error_message': "None", "data": json_data})
return HttpResponse(final_json) return HttpResponse(final_json)

View File

@@ -101,7 +101,7 @@ app.controller('createIncrementalBackups', function ($scope, $http, $timeout) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); $scope.records = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Error!', title: 'Error!',
@@ -240,7 +240,7 @@ app.controller('createIncrementalBackups', function ($scope, $http, $timeout) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.jobs = JSON.parse(response.data.data); $scope.jobs = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
@@ -358,7 +358,7 @@ app.controller('incrementalDestinations', function ($scope, $http) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); $scope.records = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
@@ -621,7 +621,7 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
if (response.data.status === 1) { if (response.data.status === 1) {
new PNotify({ new PNotify({
title: 'Success!', title: 'Success!',
text: 'Destination successfully removed.', text: 'Operation successful.',
type: 'success' type: 'success'
}); });
} else { } else {
@@ -668,12 +668,11 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); let data = response.data.data;
var parsed = JSON.parse(response.data.data); $scope.records = data;
data.forEach(item => {
for (var j = 0; j < parsed.length; j++) { websitesToBeBackedTemp.push(item.website)
websitesToBeBackedTemp.push(parsed[j].website); })
}
} else { } else {
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
@@ -766,7 +765,7 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.websites = JSON.parse(response.data.data); $scope.websites = response.data.data;
if(response.data.websiteData === 1){ if(response.data.websiteData === 1){
$scope.websiteData = true; $scope.websiteData = true;
@@ -1074,7 +1073,7 @@ app.controller('restoreRemoteBackupsInc', function ($scope, $http, $timeout) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); $scope.records = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Error!', title: 'Error!',

View File

@@ -55,7 +55,7 @@
</div> </div>
<div ng-hide="destination" class="form-group"> <div ng-hide="destination" class="form-group">
<label class="col-sm-3 control-label">{% trans "Password" %}</label> <label class="col-sm-3 control-label">{% trans "Encrypted Backup Password" %}</label>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="password" name="password" class="form-control" ng-model="password" <input type="password" name="password" class="form-control" ng-model="password"
required> required>

View File

@@ -2,24 +2,24 @@ from django.conf.urls import url
from . import views from . import views
urlpatterns = [ urlpatterns = [
url(r'^createBackup$', views.createBackup, name='createBackupInc'), url(r'^createBackup$', views.create_backup, name='createBackupInc'),
url(r'^restoreRemoteBackups$', views.restoreRemoteBackups, name='restoreRemoteBackupsInc'), url(r'^restoreRemoteBackups$', views.restore_remote_backups, name='restoreRemoteBackupsInc'),
url(r'^backupDestinations$', views.backupDestinations, name='backupDestinationsInc'), url(r'^backupDestinations$', views.backup_destinations, name='backupDestinationsInc'),
url(r'^addDestination$', views.addDestination, name='addDestinationInc'), url(r'^addDestination$', views.add_destination, name='addDestinationInc'),
url(r'^populateCurrentRecords$', views.populateCurrentRecords, name='populateCurrentRecordsInc'), url(r'^populateCurrentRecords$', views.populate_current_records, name='populateCurrentRecordsInc'),
url(r'^removeDestination$', views.removeDestination, name='removeDestinationInc'), url(r'^removeDestination$', views.remove_destination, name='removeDestinationInc'),
url(r'^fetchCurrentBackups$', views.fetchCurrentBackups, name='fetchCurrentBackupsInc'), url(r'^fetchCurrentBackups$', views.fetch_current_backups, name='fetchCurrentBackupsInc'),
url(r'^submitBackupCreation$', views.submitBackupCreation, name='submitBackupCreationInc'), url(r'^submitBackupCreation$', views.submit_backup_creation, name='submitBackupCreationInc'),
url(r'^getBackupStatus$', views.getBackupStatus, name='getBackupStatusInc'), url(r'^getBackupStatus$', views.get_backup_status, name='getBackupStatusInc'),
url(r'^deleteBackup$', views.deleteBackup, name='deleteBackupInc'), url(r'^deleteBackup$', views.delete_backup, name='deleteBackupInc'),
url(r'^fetchRestorePoints$', views.fetchRestorePoints, name='fetchRestorePointsInc'), url(r'^fetchRestorePoints$', views.fetch_restore_points, name='fetchRestorePointsInc'),
url(r'^restorePoint$', views.restorePoint, name='restorePointInc'), url(r'^restorePoint$', views.restore_point, name='restorePointInc'),
url(r'^scheduleBackups$', views.scheduleBackups, name='scheduleBackupsInc'), url(r'^scheduleBackups$', views.schedule_backups, name='scheduleBackupsInc'),
url(r'^submitBackupSchedule$', views.submitBackupSchedule, name='submitBackupScheduleInc'), url(r'^submitBackupSchedule$', views.submit_backup_schedule, name='submitBackupScheduleInc'),
url(r'^scheduleDelete$', views.scheduleDelete, name='scheduleDeleteInc'), url(r'^scheduleDelete$', views.schedule_delete, name='scheduleDeleteInc'),
url(r'^getCurrentBackupSchedules$', views.getCurrentBackupSchedules, name='getCurrentBackupSchedulesInc'), url(r'^getCurrentBackupSchedules$', views.get_current_backup_schedules, name='getCurrentBackupSchedulesInc'),
url(r'^fetchSites$', views.fetchSites, name='fetchSites'), url(r'^fetchSites$', views.fetch_sites, name='fetchSites'),
url(r'^saveChanges$', views.saveChanges, name='saveChanges'), url(r'^saveChanges$', views.save_changes, name='saveChanges'),
url(r'^removeSite$', views.removeSite, name='removeSite'), url(r'^removeSite$', views.remove_site, name='removeSite'),
url(r'^addWebsite$', views.addWebsite, name='addWebsite'), url(r'^addWebsite$', views.add_website, name='addWebsite'),
] ]

File diff suppressed because it is too large Load Diff

View File

@@ -101,7 +101,7 @@ app.controller('createIncrementalBackups', function ($scope, $http, $timeout) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); $scope.records = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Error!', title: 'Error!',
@@ -240,7 +240,7 @@ app.controller('createIncrementalBackups', function ($scope, $http, $timeout) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.jobs = JSON.parse(response.data.data); $scope.jobs = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
@@ -358,7 +358,7 @@ app.controller('incrementalDestinations', function ($scope, $http) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); $scope.records = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
@@ -621,7 +621,7 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
if (response.data.status === 1) { if (response.data.status === 1) {
new PNotify({ new PNotify({
title: 'Success!', title: 'Success!',
text: 'Destination successfully removed.', text: 'Operation successful.',
type: 'success' type: 'success'
}); });
} else { } else {
@@ -668,12 +668,11 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); let data = response.data.data;
var parsed = JSON.parse(response.data.data); $scope.records = data;
data.forEach(item => {
for (var j = 0; j < parsed.length; j++) { websitesToBeBackedTemp.push(item.website)
websitesToBeBackedTemp.push(parsed[j].website); })
}
} else { } else {
new PNotify({ new PNotify({
title: 'Operation Failed!', title: 'Operation Failed!',
@@ -766,7 +765,7 @@ app.controller('scheduleBackupInc', function ($scope, $http) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.websites = JSON.parse(response.data.data); $scope.websites = response.data.data;
if(response.data.websiteData === 1){ if(response.data.websiteData === 1){
$scope.websiteData = true; $scope.websiteData = true;
@@ -1074,7 +1073,7 @@ app.controller('restoreRemoteBackupsInc', function ($scope, $http, $timeout) {
function ListInitialDatas(response) { function ListInitialDatas(response) {
$scope.cyberpanelLoading = true; $scope.cyberpanelLoading = true;
if (response.data.status === 1) { if (response.data.status === 1) {
$scope.records = JSON.parse(response.data.data); $scope.records = response.data.data;
} else { } else {
new PNotify({ new PNotify({
title: 'Error!', title: 'Error!',