preparing to refactor to use pool

This commit is contained in:
Mikayla Dobson
2022-07-05 11:31:35 -05:00
parent e2ab4c3b28
commit f54b4fc5d6
6 changed files with 98 additions and 31 deletions

View File

@@ -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
View 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;