Fix issues with database management endpoints
This commit is contained in:
parent
a204c2f81d
commit
8c37c8ccc4
82
server.js
82
server.js
@ -36,7 +36,7 @@ let allowCrossDomain = function(req, res, next) {
|
|||||||
}
|
}
|
||||||
app.use(allowCrossDomain);
|
app.use(allowCrossDomain);
|
||||||
|
|
||||||
const db =
|
var db =
|
||||||
new Pool({
|
new Pool({
|
||||||
user: 'postgres',
|
user: 'postgres',
|
||||||
password: '',
|
password: '',
|
||||||
@ -45,7 +45,7 @@ new Pool({
|
|||||||
port: 5432,
|
port: 5432,
|
||||||
})
|
})
|
||||||
|
|
||||||
const db2 =
|
var db2 =
|
||||||
new Pool({
|
new Pool({
|
||||||
user: 'postgres',
|
user: 'postgres',
|
||||||
password: '',
|
password: '',
|
||||||
@ -54,7 +54,7 @@ new Pool({
|
|||||||
port: 5432,
|
port: 5432,
|
||||||
})
|
})
|
||||||
|
|
||||||
const db3 =
|
var db3 =
|
||||||
new Pool({
|
new Pool({
|
||||||
user: 'postgres',
|
user: 'postgres',
|
||||||
password: '',
|
password: '',
|
||||||
@ -221,24 +221,63 @@ app.get("/databases",(req,res)=>{
|
|||||||
})
|
})
|
||||||
|
|
||||||
app.post("/databases/testtolive",(req,res)=>{
|
app.post("/databases/testtolive",(req,res)=>{
|
||||||
db3.query('drop database ngsplanner')
|
db.end(()=>{})
|
||||||
|
db2.end(()=>{})
|
||||||
|
db3.query('select pg_terminate_backend (pid) from pg_stat_activity where pg_stat_activity.datname=\'ngsplanner\' or pg_stat_activity.datname=\'ngsplanner2\'')
|
||||||
|
.then(()=>{
|
||||||
|
return db3.query('drop database ngsplanner')
|
||||||
|
})
|
||||||
.then(()=>{
|
.then(()=>{
|
||||||
return db3.query('create database ngsplanner with template ngsplanner2')
|
return db3.query('create database ngsplanner with template ngsplanner2')
|
||||||
})
|
})
|
||||||
.then(()=>{
|
.then(()=>{
|
||||||
|
db = new Pool({
|
||||||
|
user: 'postgres',
|
||||||
|
password: '',
|
||||||
|
host: 'postgres',
|
||||||
|
database: 'ngsplanner',
|
||||||
|
port: 5432,
|
||||||
|
})
|
||||||
|
db2 = new Pool({
|
||||||
|
user: 'postgres',
|
||||||
|
password: '',
|
||||||
|
host: 'postgres',
|
||||||
|
database: 'ngsplanner2',
|
||||||
|
port: 5432,
|
||||||
|
})
|
||||||
res.status(200).send("Done!")
|
res.status(200).send("Done!")
|
||||||
})
|
})
|
||||||
.catch((err)=>{
|
.catch((err)=>{
|
||||||
|
console.log(err.message)
|
||||||
res.status(500).send(err.message)
|
res.status(500).send(err.message)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
app.post("/databases/livetotest",(req,res)=>{
|
app.post("/databases/livetotest",(req,res)=>{
|
||||||
db3.query('drop database ngsplanner2')
|
db.end(()=>{})
|
||||||
|
db2.end(()=>{})
|
||||||
|
db3.query('select pg_terminate_backend (pid) from pg_stat_activity where pg_stat_activity.datname=\'ngsplanner\' or pg_stat_activity.datname=\'ngsplanner2\'')
|
||||||
|
.then(()=>{
|
||||||
|
return db3.query('drop database ngsplanner2')
|
||||||
|
})
|
||||||
.then(()=>{
|
.then(()=>{
|
||||||
return db3.query('create database ngsplanner2 with template ngsplanner')
|
return db3.query('create database ngsplanner2 with template ngsplanner')
|
||||||
})
|
})
|
||||||
.then(()=>{
|
.then(()=>{
|
||||||
|
db = new Pool({
|
||||||
|
user: 'postgres',
|
||||||
|
password: '',
|
||||||
|
host: 'postgres',
|
||||||
|
database: 'ngsplanner',
|
||||||
|
port: 5432,
|
||||||
|
})
|
||||||
|
db2 = new Pool({
|
||||||
|
user: 'postgres',
|
||||||
|
password: '',
|
||||||
|
host: 'postgres',
|
||||||
|
database: 'ngsplanner2',
|
||||||
|
port: 5432,
|
||||||
|
})
|
||||||
res.status(200).send("Done!")
|
res.status(200).send("Done!")
|
||||||
})
|
})
|
||||||
.catch((err)=>{
|
.catch((err)=>{
|
||||||
@ -247,9 +286,17 @@ app.post("/databases/livetotest",(req,res)=>{
|
|||||||
})
|
})
|
||||||
|
|
||||||
app.post("/databases/backup",(req,res)=>{
|
app.post("/databases/backup",(req,res)=>{
|
||||||
|
db.end(()=>{})
|
||||||
var date = new Date()
|
var date = new Date()
|
||||||
db3.query('create database ngsplanner'+String(date.getFullYear()).padStart(4,'0')+String(date.getMonth()).padStart(2,'0')+String(date.getDate()).padStart(2,'0')+String(date.getHours()).padStart(2,'0')+String(date.getMinutes()).padStart(2,'0')+String(date.getSeconds()).padStart(2,'0')+' with template ngsplanner')
|
db3.query('create database ngsplanner'+String(date.getFullYear()).padStart(4,'0')+String(date.getMonth()).padStart(2,'0')+String(date.getDate()).padStart(2,'0')+String(date.getHours()).padStart(2,'0')+String(date.getMinutes()).padStart(2,'0')+String(date.getSeconds()).padStart(2,'0')+' with template ngsplanner')
|
||||||
.then(()=>{
|
.then(()=>{
|
||||||
|
db = new Pool({
|
||||||
|
user: 'postgres',
|
||||||
|
password: '',
|
||||||
|
host: 'postgres',
|
||||||
|
database: 'ngsplanner',
|
||||||
|
port: 5432,
|
||||||
|
})
|
||||||
res.status(200).send("Done!")
|
res.status(200).send("Done!")
|
||||||
})
|
})
|
||||||
.catch((err)=>{
|
.catch((err)=>{
|
||||||
@ -449,4 +496,29 @@ app.get('/data',async(req,res)=>{
|
|||||||
res.status(200).json(finalresult)
|
res.status(200).json(finalresult)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
app.get('/test/data',async(req,res)=>{
|
||||||
|
var finalresult = {}
|
||||||
|
var promises = []
|
||||||
|
for (var endpoint of ENDPOINTDATA) {
|
||||||
|
if (endpoint.requiredfields.includes("name")) {
|
||||||
|
await db2.query('select distinct on (name) name,* from '+endpoint.endpoint+' order by name,id desc')
|
||||||
|
.then((data)=>{
|
||||||
|
finalresult[endpoint.endpoint]={}
|
||||||
|
data.rows.forEach((val)=>{finalresult[endpoint.endpoint][val.name]=val})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
await db2.query('select * from '+endpoint.endpoint+" order by id desc")
|
||||||
|
.then((data)=>{
|
||||||
|
finalresult[endpoint.endpoint]=data.rows
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
res.status(200).json(finalresult)
|
||||||
|
})
|
||||||
|
|
||||||
|
//Generates our table schema:
|
||||||
|
ENDPOINTDATA.forEach((endpoint)=>{
|
||||||
|
console.log(endpoint.endpoint+":\n\t"+endpoint.requiredfields.join('\t')+(endpoint.optionalfields.length>0?"\t":"")+endpoint.optionalfields.join("\t"))
|
||||||
|
})
|
||||||
|
|
||||||
CreateDynamicEndpoints()
|
CreateDynamicEndpoints()
|
Loading…
x
Reference in New Issue
Block a user