Added capability to deploy PostgreSQL servers on Amazon RDS. Fixes #7177

This commit is contained in:
Khushboo Vashi
2022-02-14 12:13:48 +05:30
committed by Akshay Joshi
parent b89e306df0
commit e61a1045f5
50 changed files with 3393 additions and 42 deletions

View File

@@ -96,8 +96,10 @@ define('misc.bgprocess', [
pgBrowser.Events && pgBrowser.Events.on(
'pgadmin-bgprocess:finished:' + this.id,
function(process) {
if (!process.notifier)
if (!process.notifier) {
if (process.cloud_process == 1) process.update_cloud_server.apply(process);
process.show.apply(process);
}
}
);
}
@@ -175,6 +177,12 @@ define('misc.bgprocess', [
}
}
if ('cloud_process' in data && data.cloud_process == 1) {
self.cloud_process = data.cloud_process;
self.cloud_instance = data.cloud_instance;
self.cloud_server_id = data.cloud_server_id;
}
if ('err' in data) {
self.err = data.err && data.err.pos;
@@ -309,6 +317,46 @@ define('misc.bgprocess', [
});
},
update_cloud_server: function() {
var self = this,
_url = url_for('cloud.update_cloud_server'),
_data = {},
cloud_instance = self.cloud_instance;
if (cloud_instance != '') {
_data = JSON.parse(cloud_instance);
}
_data['instance']['sid'] = self.cloud_server_id;
$.ajax({
type: 'POST',
url: _url,
async: true,
data: JSON.stringify(_data),
contentType: 'application/json',
})
.done(function(res) {
setTimeout(function() {
let _server = res.data.node,
_server_path = '/browser/server_group_' + _server.gid + '/' + _server.id,
_tree = pgBrowser.tree,
_item = _tree.findNode(_server_path);
if (_item) {
_tree.addIcon(_item.domNode, {icon: _server.icon});
let d = _tree.itemData(_item);
d.cloud_status = 1;
_tree.update(_item, d);
}
}, 10);
})
.fail(function(res) {
// Try after some time only if job id present
if (res.status != 410)
console.warn('Failed Cloud Deployment.');
});
},
show: function() {
var self = this;
@@ -523,8 +571,30 @@ define('misc.bgprocess', [
async: true,
contentType: 'application/json',
})
.done(function() {
return;
.done(function(res) {
if (res.data && res.data.node) {
setTimeout(function() {
let _server = res.data.node,
_server_path = '/browser/server_group_' + _server.gid + '/' + _server.id,
_tree = pgBrowser.tree,
_item = _tree.findNode(_server_path);
if (_item) {
if(_server.status == true) {
let _dom = _item.domNode;
_tree.addIcon(_dom, {icon: _server.icon});
let d = _tree.itemData(_dom);
d.cloud_status = _server.cloud_status;
_tree.update(_dom, d);
}
else {
_tree.remove(_item.domNode);
_tree.refresh(_item.domNode.parent);
}
}
}, 10);
} else return;
})
.fail(function() {
console.warn(arguments);
@@ -595,7 +665,7 @@ define('misc.bgprocess', [
var observer = this;
$.ajax({
typs: 'GET',
type: 'GET',
timeout: 30000,
url: url_for('bgprocess.list'),
cache: false,