preparing to refactor to use pool
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
const { Pool } = require('pg');
|
||||
require('dotenv').config({ path: './config.env' });
|
||||
|
||||
const pool = new Pool({
|
||||
connectionString: process.env.CONNECTION,
|
||||
});
|
||||
const pool = new Pool({ connectionString: process.env.CONNECTION });
|
||||
|
||||
module.exports = {
|
||||
// text = SQL query; params = array of values to inject
|
||||
query: (text, params) => pool.query(text, params)
|
||||
connect: async () => await pool.connect(),
|
||||
query: (text, params) => pool.query(text, params),
|
||||
end: async () => await pool.end()
|
||||
}
|
||||
@@ -14,15 +14,15 @@ module.exports = (app) => {
|
||||
|
||||
app.use(require('../routes/API'));
|
||||
|
||||
app.use(session({
|
||||
secret: process.env.EXPRESS_SECRET,
|
||||
cookie: { maxAge: 8*60*60*1000, secure: false },
|
||||
resave: false,
|
||||
saveUninitialized: true,
|
||||
store: new (require('connect-pg-simple')(session))({
|
||||
conString: process.env.CONNECTION,
|
||||
createTableIfMissing: true,
|
||||
pruneSessionInterval: 60 * 30
|
||||
})
|
||||
}));
|
||||
// app.use(session({
|
||||
// secret: process.env.EXPRESS_SECRET,
|
||||
// cookie: { maxAge: 8*60*60*1000, secure: false },
|
||||
// resave: false,
|
||||
// saveUninitialized: true,
|
||||
// store: new (require('connect-pg-simple')(session))({
|
||||
// conString: process.env.CONNECTION,
|
||||
// createTableIfMissing: true,
|
||||
// pruneSessionInterval: 60 * 30
|
||||
// })
|
||||
// }));
|
||||
}
|
||||
@@ -2,6 +2,6 @@ const passportLoader = require('./passport');
|
||||
const expressLoader = require('./express');
|
||||
|
||||
module.exports = async (app) => {
|
||||
const passport = await passportLoader(app);
|
||||
// const passport = await passportLoader(app);
|
||||
const express = await expressLoader(app);
|
||||
}
|
||||
@@ -6,13 +6,13 @@ module.exports = (app) => {
|
||||
app.use(passport.initialize());
|
||||
app.use(passport.session());
|
||||
|
||||
passport.serializeUser((user, done) => {
|
||||
done(null, user.id);
|
||||
});
|
||||
// passport.serializeUser((user, done) => {
|
||||
// done(null, user.id);
|
||||
// });
|
||||
|
||||
passport.deserializeUser((id, done) => {
|
||||
done(null, { id });
|
||||
});
|
||||
// passport.deserializeUser((id, done) => {
|
||||
// done(null, { id });
|
||||
// });
|
||||
|
||||
/***
|
||||
** TO DO: FINISH CONFIGURING LOCAL STRATEGY
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
const express = require('express');
|
||||
const apiRouter = express.Router();
|
||||
|
||||
const userRouter = require('./user');
|
||||
const productsRouter = require('./products');
|
||||
const registerRouter = require('./register');
|
||||
const loginRouter = require('./login');
|
||||
|
||||
apiRouter.use('/users', userRouter);
|
||||
apiRouter.use('/products', productsRouter);
|
||||
apiRouter.use('/register', registerRouter);
|
||||
apiRouter.use('/login', loginRouter);
|
||||
apiRouter.use('/users', require('./user'));
|
||||
apiRouter.use('/products', require('./products'));
|
||||
apiRouter.use('/register', require('./register'));
|
||||
apiRouter.use('/login', require('./login'));
|
||||
apiRouter.use('/pool-experiment', require('./_experimental'));
|
||||
|
||||
module.exports = apiRouter;
|
||||
71
routes/_experimental.js
Normal file
71
routes/_experimental.js
Normal file
@@ -0,0 +1,71 @@
|
||||
const experimentRouter = require('express').Router();
|
||||
const { connect, query, end } = require('../db/Pool');
|
||||
|
||||
experimentRouter.route('/').get(async (req, res) => {
|
||||
const client = await connect()
|
||||
.then(console.log("Connection successful"));
|
||||
|
||||
if (client) {
|
||||
try {
|
||||
res.send("Pool appears to work?");
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
} finally {
|
||||
await end();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
experimentRouter.route('/').put(async (req, res) => {
|
||||
const { name, description, information } = req.body;
|
||||
const input = `
|
||||
INSERT INTO experimental (name, description, information)
|
||||
VALUES ($1, $2, $3)
|
||||
`
|
||||
|
||||
const client = await connect()
|
||||
.then(console.log("Connection successful."));
|
||||
|
||||
if (client) {
|
||||
try {
|
||||
await client.query('BEGIN');
|
||||
await client.query(input, [name, description, information]);
|
||||
await client.query('COMMIT');
|
||||
res.sendStatus(200);
|
||||
} catch(e) {
|
||||
await client.query('ROLLBACK');
|
||||
throw new Error(e);
|
||||
} finally {
|
||||
client.release();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
experimentRouter.route('/create-exp-db').put(async (req, res) => {
|
||||
const input = `
|
||||
CREATE TABLE IF NOT EXISTS experimental (
|
||||
id SERIAL,
|
||||
name VARCHAR,
|
||||
description VARCHAR,
|
||||
information JSON
|
||||
);
|
||||
`
|
||||
|
||||
const client = await connect()
|
||||
.then(console.log("Connection successful."));
|
||||
|
||||
if (client) {
|
||||
try {
|
||||
await query(input, null, (err, result) => {
|
||||
if (err) throw err;
|
||||
res.send(result);
|
||||
});
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
} finally {
|
||||
await end();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = experimentRouter;
|
||||
Reference in New Issue
Block a user