Files
CyberPanel/static/databases/databases.js

496 lines
12 KiB
JavaScript
Raw Normal View History

2017-10-24 19:16:36 +05:00
/**
* Created by usman on 8/6/17.
*/
/* Java script code to create database */
2019-03-26 16:19:03 +05:00
app.controller('createDatabase', function ($scope, $http) {
2017-10-24 19:16:36 +05:00
$scope.createDatabaseLoading = true;
$scope.dbDetails = true;
$scope.databaseCreationFailed = true;
$scope.databaseCreated = true;
$scope.couldNotConnect = true;
2019-03-13 18:22:12 +05:00
$scope.generatedPasswordView = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.showDetailsBoxes = function () {
2017-10-24 19:16:36 +05:00
$scope.dbDetails = false;
};
2019-03-26 16:19:03 +05:00
$scope.createDatabase = function () {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.createDatabaseLoading = false;
$scope.dbDetails = false;
$scope.databaseCreationFailed = true;
$scope.databaseCreated = true;
$scope.couldNotConnect = true;
2017-12-09 22:30:10 +05:00
2019-03-26 16:19:03 +05:00
var databaseWebsite = $scope.databaseWebsite;
var dbName = $scope.dbName;
var dbUsername = $scope.dbUsername;
var dbPassword = $scope.dbPassword;
var webUserName = "";
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
// getting website username
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
webUserName = databaseWebsite.replace(/-/g, '');
webUserName = webUserName.split(".")[0];
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
if (webUserName.length > 5) {
webUserName = webUserName.substring(0, 4);
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var url = "/dataBases/submitDBCreation";
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var data = {
webUserName: webUserName,
databaseWebsite: databaseWebsite,
dbName: dbName,
dbUsername: dbUsername,
dbPassword: dbPassword
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function ListInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
if (response.data.createDBStatus == 1) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.createDatabaseLoading = true;
$scope.dbDetails = false;
$scope.databaseCreationFailed = true;
$scope.databaseCreated = false;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
else {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.createDatabaseLoading = true;
$scope.dbDetails = false;
$scope.databaseCreationFailed = false;
$scope.databaseCreated = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function cantLoadInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.createDatabaseLoading = true;
$scope.dbDetails = true;
$scope.databaseCreationFailed = true;
$scope.databaseCreated = true;
$scope.couldNotConnect = false;
}
2017-10-24 19:16:36 +05:00
2019-03-13 18:22:12 +05:00
};
$scope.generatePassword = function () {
2019-03-26 16:19:03 +05:00
$scope.generatedPasswordView = false;
$scope.dbPassword = randomPassword(12);
2019-03-13 18:22:12 +05:00
};
$scope.usePassword = function () {
$scope.generatedPasswordView = true;
2017-10-24 19:16:36 +05:00
};
});
/* Java script code to create database ends here */
/* Java script code to delete database */
2019-03-26 16:19:03 +05:00
app.controller('deleteDatabase', function ($scope, $http) {
2017-10-24 19:16:36 +05:00
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = true;
$scope.couldNotConnect = true;
2019-03-26 16:19:03 +05:00
$scope.fetchDatabases = function () {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.deleteDatabaseLoading = false;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = true;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var databaseWebsite = $scope.databaseWebsite;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var url = "/dataBases/fetchDatabases";
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var data = {
databaseWebsite: databaseWebsite,
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function ListInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
if (response.data.fetchStatus == 1) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.dbnames = JSON.parse(response.data.data);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = false;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = true;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
else {
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = false;
$scope.databaseDeleted = true;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.errorMessage = response.data.error_message;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function cantLoadInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = true;
$scope.couldNotConnect = false;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
};
2019-03-26 16:19:03 +05:00
$scope.deleteDatabase = function () {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.deleteDatabaseLoading = false;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = true;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var databaseWebsite = $scope.databaseWebsite;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var url = "/dataBases/submitDatabaseDeletion";
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var data = {
dbName: $scope.selectedDB,
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function ListInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
if (response.data.deleteStatus == 1) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = false;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = false;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
else {
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = false;
$scope.databaseDeleted = true;
$scope.couldNotConnect = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.errorMessage = response.data.error_message;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function cantLoadInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.deleteDatabaseLoading = true;
$scope.fetchedDatabases = true;
$scope.databaseDeletionFailed = true;
$scope.databaseDeleted = true;
$scope.couldNotConnect = false;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
};
});
2017-10-24 19:16:36 +05:00
/* Java script code to delete database ends here */
/* Java script code to list databases */
2019-03-26 16:19:03 +05:00
app.controller('listDBs', function ($scope, $http) {
2017-10-24 19:16:36 +05:00
$scope.recordsFetched = true;
$scope.passwordChanged = true;
$scope.canNotChangePassword = true;
$scope.couldNotConnect = true;
$scope.dbLoading = true;
$scope.dbAccounts = true;
$scope.changePasswordBox = true;
$scope.notificationsBox = true;
var globalDBUsername = "";
$scope.fetchDBs = function () {
2019-03-26 16:19:03 +05:00
populateCurrentRecords();
2017-10-24 19:16:36 +05:00
};
$scope.changePassword = function (dbUsername) {
2019-03-26 16:19:03 +05:00
$scope.recordsFetched = true;
$scope.passwordChanged = true;
$scope.canNotChangePassword = true;
$scope.couldNotConnect = true;
$scope.dbLoading = true;
$scope.dbAccounts = false;
$scope.changePasswordBox = false;
$scope.notificationsBox = true;
$scope.dbUsername = dbUsername;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
globalDBUsername = dbUsername;
2017-10-24 19:16:36 +05:00
};
$scope.changePasswordBtn = function () {
2019-03-26 16:19:03 +05:00
$scope.dbLoading = false;
$scope.passwordChanged = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
url = "/dataBases/changePassword";
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var data = {
dbUserName: globalDBUsername,
dbPassword: $scope.dbPassword,
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function ListInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
if (response.data.changePasswordStatus == 1) {
$scope.notificationsBox = false;
$scope.passwordChanged = false;
$scope.dbLoading = true;
$scope.domainFeteched = $scope.selectedDomain;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
else {
$scope.notificationsBox = false;
$scope.canNotChangePassword = false;
$scope.dbLoading = true;
$scope.canNotChangePassword = false;
$scope.errorMessage = response.data.error_message;
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function cantLoadInitialDatas(response) {
$scope.notificationsBox = false;
$scope.couldNotConnect = false;
$scope.dbLoading = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function populateCurrentRecords() {
$scope.recordsFetched = true;
$scope.passwordChanged = true;
$scope.canNotChangePassword = true;
$scope.couldNotConnect = true;
$scope.dbLoading = false;
$scope.dbAccounts = true;
$scope.changePasswordBox = true;
$scope.notificationsBox = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var selectedDomain = $scope.selectedDomain;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
url = "/dataBases/fetchDatabases";
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var data = {
databaseWebsite: selectedDomain,
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function ListInitialDatas(response) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
if (response.data.fetchStatus == 1) {
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.records = JSON.parse(response.data.data);
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.recordsFetched = false;
$scope.passwordChanged = true;
$scope.canNotChangePassword = true;
$scope.couldNotConnect = true;
$scope.dbLoading = true;
$scope.dbAccounts = false;
$scope.changePasswordBox = true;
$scope.notificationsBox = false;
$scope.domainFeteched = $scope.selectedDomain;
}
else {
$scope.recordsFetched = true;
$scope.passwordChanged = true;
$scope.canNotChangePassword = true;
$scope.couldNotConnect = true;
$scope.dbLoading = true;
$scope.dbAccounts = true;
$scope.changePasswordBox = true;
$scope.notificationsBox = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
$scope.errorMessage = response.data.error_message;
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
function cantLoadInitialDatas(response) {
$scope.recordsFetched = true;
$scope.passwordChanged = true;
$scope.canNotChangePassword = true;
$scope.couldNotConnect = false;
$scope.dbLoading = true;
$scope.dbAccounts = true;
$scope.changePasswordBox = true;
$scope.notificationsBox = true;
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2017-10-24 19:16:36 +05:00
2019-03-26 16:19:03 +05:00
}
2019-03-13 18:22:12 +05:00
////
$scope.generatedPasswordView = true;
$scope.generatePassword = function () {
2019-03-26 16:19:03 +05:00
$scope.generatedPasswordView = false;
$scope.dbPassword = randomPassword(12);
2019-03-13 18:22:12 +05:00
};
$scope.usePassword = function () {
$scope.generatedPasswordView = true;
};
2017-10-24 19:16:36 +05:00
});
2019-03-26 16:19:03 +05:00
/* Java script code to list database ends here */
app.controller('phpMyAdmin', function ($scope, $http, $window) {
function setupPHPMYAdminSession() {
url = "/dataBases/setupPHPMYAdminSession";
var data = {};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.status === 1) {
$window.location.href = '/phpmyadmin';
}
else {}
}
function cantLoadInitialDatas(response) {}
}
setupPHPMYAdminSession();
});