From 7a73162607544204032aa66cce755daf21edebda Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Tue, 24 May 2022 11:18:46 -0500 Subject: Graduate Signed-off-by: Matt Strapp --- OLD/csci4131/hw7/api/utilities.js | 64 ------------ OLD/csci4131/hw7/create_accounts_table.js | 41 -------- OLD/csci4131/hw7/create_contacts_table.js | 44 -------- OLD/csci4131/hw7/dbconfig.xml | 8 -- OLD/csci4131/hw7/dbio.js | 136 ------------------------- OLD/csci4131/hw7/index.js | 109 -------------------- OLD/csci4131/hw7/insert_into_accounts_table.js | 45 -------- OLD/csci4131/hw7/login.html | 48 --------- OLD/csci4131/hw7/package.json | 21 ---- OLD/csci4131/hw7/public/contacts_old.html | 82 --------------- OLD/csci4131/hw7/public/stock.html | 123 ---------------------- OLD/csci4131/hw7/public/welcome.html | 53 ---------- 12 files changed, 774 deletions(-) delete mode 100644 OLD/csci4131/hw7/api/utilities.js delete mode 100644 OLD/csci4131/hw7/create_accounts_table.js delete mode 100644 OLD/csci4131/hw7/create_contacts_table.js delete mode 100644 OLD/csci4131/hw7/dbconfig.xml delete mode 100644 OLD/csci4131/hw7/dbio.js delete mode 100644 OLD/csci4131/hw7/index.js delete mode 100644 OLD/csci4131/hw7/insert_into_accounts_table.js delete mode 100644 OLD/csci4131/hw7/login.html delete mode 100644 OLD/csci4131/hw7/package.json delete mode 100644 OLD/csci4131/hw7/public/contacts_old.html delete mode 100644 OLD/csci4131/hw7/public/stock.html delete mode 100644 OLD/csci4131/hw7/public/welcome.html (limited to 'OLD/csci4131/hw7') diff --git a/OLD/csci4131/hw7/api/utilities.js b/OLD/csci4131/hw7/api/utilities.js deleted file mode 100644 index 12e06aa..0000000 --- a/OLD/csci4131/hw7/api/utilities.js +++ /dev/null @@ -1,64 +0,0 @@ -const express = require('express') -const db = require ('../dbio') -const router = express.Router() -router.use(express.urlencoded({ extended: true })) - -router.get('/contacts', function (req, res) { - db.getContacts().then(function(table) { - res.send(table) - }); -}); - -router.post('/login', async function(req, res) { - var loginInfo = req.body; - var login = loginInfo.login; - var pwd = loginInfo.password; - let rows = []; - - // Query the database tbl_login with login and hashed password - db.query(login, pwd).then(function(rows) { - // Provided there is no error, and the results set is assigned to a variable named rows: - if (rows.length >= 1) {// the length should be 0 or 1, but this will work for now - //success, set the session, return success - req.session.user = login; - res.json({ status: 'success' }); - } else { - res.json({ status: 'fail' }); - } - }); - -}); - -router.get('/logout', function(req, res) { - if(!req.session.user) { - res.send('Session not started, can not logout!'); - } else { - req.session.destroy(); - res.redirect('/login'); - } -}); - -router.post('/addContact', function(req, res) { - var contact = req.body; - db.addContact(contact).then(function(r) { - res.send({flag: r}); - }).catch(function() { - - }) -}); - -router.post('/updateContact', function(req, res) { - var edit = req.body; - db.editContact(edit).then(function(f) { - res.send({flag:f}); - }); -}) - -router.post('/deleteContact', function(req, res) { - var contact = req.body.name; - db.deleteContact(contact).then(function(r) { - res.send({flag: r}); - }) -}) - -module.exports = router; diff --git a/OLD/csci4131/hw7/create_accounts_table.js b/OLD/csci4131/hw7/create_accounts_table.js deleted file mode 100644 index 61b2602..0000000 --- a/OLD/csci4131/hw7/create_accounts_table.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - console.log("Connected to database!"); - - const sql = `CREATE TABLE tbl_accounts ( - acc_id INT NOT NULL AUTO_INCREMENT, - acc_name VARCHAR(20), - acc_login VARCHAR(20), - acc_password VARCHAR(200), - PRIMARY KEY (acc_id) - )`; - - console.log("Attempting to create table: tbl_accounts"); - dbCon.query(sql, function (err, result) { - if (err) { - throw err; - } - console.log("Table tbl_accounts created"); - }); - - dbCon.end(); -}); diff --git a/OLD/csci4131/hw7/create_contacts_table.js b/OLD/csci4131/hw7/create_contacts_table.js deleted file mode 100644 index bcad389..0000000 --- a/OLD/csci4131/hw7/create_contacts_table.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - console.log("Connected to database!"); - - const sql = `CREATE TABLE tbl_contacts ( - contact_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(30), - category VARCHAR(40), - location VARCHAR(300), - contact_info VARCHAR(200), - email VARCHAR(30), - website VARCHAR(300), - website_url VARCHAR(300) - )`; - - console.log("Attempting to create table: tbl_contacts"); - dbCon.query(sql, function (err, result) { - if (err) { - throw err; - } - console.log("Table tbl_accounts created"); - }); - - dbCon.end(); -}); diff --git a/OLD/csci4131/hw7/dbconfig.xml b/OLD/csci4131/hw7/dbconfig.xml deleted file mode 100644 index a7e83ba..0000000 --- a/OLD/csci4131/hw7/dbconfig.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - cse-mysql-classes-01.cse.umn.edu - C4131S21U83 - 6919 - C4131S21U83 - 3306 - diff --git a/OLD/csci4131/hw7/dbio.js b/OLD/csci4131/hw7/dbio.js deleted file mode 100644 index 96faf93..0000000 --- a/OLD/csci4131/hw7/dbio.js +++ /dev/null @@ -1,136 +0,0 @@ -var mysql = require("mysql"); -var bcrypt = require("bcrypt"); -var fs = require("fs"); -var xml2js = require("xml2js"); -var parser = new xml2js.Parser(); -var conInfo; -var connection; - -fs.readFile(__dirname + '/dbconfig.xml', function (err, data) { - if (err) throw err; - parser.parseString(data, function (err, result) { - if (err) throw err; - conInfo = result; - }); - connection = mysql.createConnection({ - host: conInfo.dbconfig.host[0], - user: conInfo.dbconfig.user[0], - password: conInfo.dbconfig.password[0], - database: conInfo.dbconfig.database[0], - port: conInfo.dbconfig.port[0] - }); - - connection.connect(function (err) { - if (err) { - throw err; - }; - console.log("Connected to MYSQL database!"); - }); -}); - - - -function passcheck(user,pass) { - return new Promise(function(resolve, reject) { - connection.query('SELECT * FROM tbl_accounts', function(err, rows, fields) { - let ret = []; - if (err) { - return reject(err); - } - for (var i = 0; i < rows.length; i++) { - if (rows[i].acc_login.localeCompare(user) === 0) { - if (bcrypt.compareSync(pass, rows[i].acc_password)) { - ret += rows[i]; - } - } - } - resolve(ret); - }); - }); -} - -function getContacts() { - return new Promise (function(resolve, reject) { - let conTab = [] - connection.query('SELECT * FROM tbl_contacts', function (err, rows, fields) { - if (err) throw err; - resolve(rows); - }); - }); -} - -function addContacts(contact) { - let newCon = { - name: contact.name, - category: contact.category, - location: contact.location, - contact_info: contact.contact, - email: contact.email, - website: contact.website, - } - return new Promise (function (resolve, reject) { - connection.query('SELECT * FROM tbl_contacts where name=?', contact.name, function(err, rows, fields) { - if (err) throw err; - console.log("Table found") - if (rows.length > 0) { - // Duplicate - console.log("found Duplicate name!"); - resolve(false); - } else { - connection.query('INSERT tbl_contacts SET ?', newCon, function (err, result) { //Parameterized insert - if (err) throw err; - console.log("Values inserted."); - resolve(true); - }); - } - }); - }); -} - - - -function editContact(contact) { - let edit = { - name: contact.name, - category: contact.category, - location: contact.location, - contact_info: contact.contact, - email: contact.email, - website: contact.website, - } - - return new Promise(function (resolve, reject) { - connection.query('SELECT * FROM tbl_contacts where name=?', contact.name, function (err, rows, fields) { - if (err) throw err; - if (rows.length == 0) { - console.log("Name Changed!"); - resolve(false); - } else { - connection.query('UPDATE tbl_contacts SET ? WHERE name=?', [edit, edit.name], function(err, result) { - if (err) throw err; - console.log("Value edited successfully?") - resolve(true); - }); - } - }); - }); -} - -function deleteContact(contact) { - return new Promise(function(resolve, reject) { - connection.query('DELETE FROM tbl_contacts WHERE name=?', contact, function (err, result) { - if (err) throw err; - console.log("Row deleted!") - resolve(); - }) - }) -} - - - - -exports.addContact = addContacts; -exports.query = passcheck; -exports.getContacts = getContacts; -exports.deleteContact = deleteContact; -exports.editContact = editContact; diff --git a/OLD/csci4131/hw7/index.js b/OLD/csci4131/hw7/index.js deleted file mode 100644 index 851b096..0000000 --- a/OLD/csci4131/hw7/index.js +++ /dev/null @@ -1,109 +0,0 @@ -// YOU CAN USE THIS FILE AS REFERENCE FOR SERVER DEVELOPMENT -const createError = require('http-errors'); - -// Include the express module -const express = require('express'); - -// helps in extracting the body portion of an incoming request stream -var bodyparser = require('body-parser'); - -// Path module - provides utilities for working with file and directory paths. -const path = require('path'); - -// Helps in managing user sessions -const session = require('express-session'); - -// include the mysql module -var mysql = require('mysql'); - -// Bcrypt library for comparing password hashes -const bcrypt = require('bcrypt'); - -// Include the express router. -const utilities = require('./api/utilities'); - -const port = 9001; - -// create an express application -const app = express(); - -// Use express-session -// In-memory session is sufficient for this assignment -app.use(session({ - secret: "csci4131secretkey", - saveUninitialized: true, - resave: false - } -)); - -// middle ware to serve static files -app.use(express.static(path.join(__dirname, 'public'))); - -// server listens on port for incoming connections -app.listen(port, () => console.log('Listening on port', port)); - -app.get('/', function (req, res) { - res.sendFile(path.join(__dirname, 'public/welcome.html')); -}); - -// GET method route for the contacts page. -// It serves contact.html present in public folder -app.get('/contacts', function(req, res) { - if(!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/contacts.html')); - } -}); - -app.get('/stocks', function(req, res) { - res.redirect('/stock'); -}) - -app.get('/stock', function (req, res) { - if (!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/stock.html')); - } -}); - -app.get('/addContact', function (req, res) { - if (!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/addContact.html')); - } -}); - -app.get('/login', function (req, res) { - if (req.session.user) { - res.redirect('/contacts'); - } else { - res.sendFile(path.join(__dirname, 'login.html')); - } -}); - -app.get('/logout', function(req, res) { - res.redirect('/api/logout') -}); - -// Makes Express use a router called utilities -app.use('/api', utilities); - -// function to return the 404 message and error to client -app.use(function (req, res, next) { - next(createError(404)); -}); - -// error handler -app.use(function (err, req, res, next) { - // set locals, only providing error in development - res.locals.message = err.message; - res.locals.error = req.app.get('env') === 'development' ? err : {}; - - // render the error page - res.status(err.status || 500); - // res.render('error'); - res.send(); -}); diff --git a/OLD/csci4131/hw7/insert_into_accounts_table.js b/OLD/csci4131/hw7/insert_into_accounts_table.js deleted file mode 100644 index 0be14ce..0000000 --- a/OLD/csci4131/hw7/insert_into_accounts_table.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); -const bcrypt = require('bcrypt'); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - - console.log("Connected to database!"); - - const saltRounds = 10; - const myPlaintextPassword = 'admin%'; // replace with password chosen by you OR retain the same value - const passwordHash = bcrypt.hashSync(myPlaintextPassword, saltRounds); - - const rowToBeInserted = { - acc_name: 'admin$', // replace with acc_name chosen by you OR retain the same value - acc_login: 'admin$', // replace with acc_login chosen by you OR retain the same value - acc_password: passwordHash - }; - - console.log("Attempting to insert record into tbl_accounts"); - dbCon.query('INSERT tbl_accounts SET ?', rowToBeInserted, function (err, result) { - if (err) { - throw err; - } - console.log("Table record inserted!"); - }); - - dbCon.end(); -}); diff --git a/OLD/csci4131/hw7/login.html b/OLD/csci4131/hw7/login.html deleted file mode 100644 index 9bb80cc..0000000 --- a/OLD/csci4131/hw7/login.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - -
-

Login Page

-
-

-
-
- - -
-
- - -
- -
-
- - - diff --git a/OLD/csci4131/hw7/package.json b/OLD/csci4131/hw7/package.json deleted file mode 100644 index 0598cc4..0000000 --- a/OLD/csci4131/hw7/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "strap012_hw7", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "start": "node index.js", - "test": "node index.js" - }, - "author": "", - "license": "MIT", - "dependencies": { - "bcrypt": "^5.0.1", - "body-parser": "^1.19.0", - "express": "^4.17.1", - "express-session": "^1.17.1", - "http-errors": "^1.8.0", - "mysql": "^2.18.1", - "xml2js": "^0.4.23" - } -} diff --git a/OLD/csci4131/hw7/public/contacts_old.html b/OLD/csci4131/hw7/public/contacts_old.html deleted file mode 100644 index d0131ee..0000000 --- a/OLD/csci4131/hw7/public/contacts_old.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - -

- -
- - - - - - - - - - - - - -
NameCategoryLocationContact InformationEmailWebsite
(URL)
-
- - - \ No newline at end of file diff --git a/OLD/csci4131/hw7/public/stock.html b/OLD/csci4131/hw7/public/stock.html deleted file mode 100644 index ae9d077..0000000 --- a/OLD/csci4131/hw7/public/stock.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - -

- -
-
-
Welcome to Stock Page
-
-
- -
-
-
- - - - - - - - - - -
Company -
- -
-
- -
-
-
-
- -
-
-
- -
- - - - - - - -
-      
- -
Company-MetaDataStock-Info
-
- - - - diff --git a/OLD/csci4131/hw7/public/welcome.html b/OLD/csci4131/hw7/public/welcome.html deleted file mode 100644 index 095023e..0000000 --- a/OLD/csci4131/hw7/public/welcome.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - Welcome to Node.js - - - - -
-

Welcome to Express (Node.js)

-

The objective of this assignment is to develop a basic website with:

-

Express which is a Node.js web application framework.

-
-

Following are some useful resources:

- - - -
-
- -
- -
-
-
- -
-
-
- - -- cgit v1.2.3