From 80539432e7448448650f3aac0a5b93f60641a838 Mon Sep 17 00:00:00 2001 From: jslightham <31053827+jslightham@users.noreply.github.com> Date: Sun, 29 Mar 2020 17:06:10 -0400 Subject: [PATCH] login and register --- attendancetracker/API/login.route.js | 52 ++++++++++++---- attendancetracker/API/server.js | 3 + attendancetracker/API/user.model.js | 18 +++--- attendancetracker/src/components/Account.vue | 0 attendancetracker/src/components/Calendar.vue | 0 .../src/components/HelloWorld.vue | 58 ------------------ attendancetracker/src/components/Home.vue | 60 ------------------- attendancetracker/src/components/Login.vue | 32 ++++++---- attendancetracker/src/components/Register.vue | 55 +++++++++++++++++ attendancetracker/src/main.js | 19 +++--- attendancetracker/src/mixins/requestsMixin.js | 18 ------ 11 files changed, 134 insertions(+), 181 deletions(-) create mode 100644 attendancetracker/src/components/Account.vue create mode 100644 attendancetracker/src/components/Calendar.vue delete mode 100644 attendancetracker/src/components/HelloWorld.vue delete mode 100644 attendancetracker/src/components/Home.vue create mode 100644 attendancetracker/src/components/Register.vue delete mode 100644 attendancetracker/src/mixins/requestsMixin.js diff --git a/attendancetracker/API/login.route.js b/attendancetracker/API/login.route.js index a065c9f..bf38eec 100644 --- a/attendancetracker/API/login.route.js +++ b/attendancetracker/API/login.route.js @@ -1,22 +1,50 @@ const express = require('express'); -const loginRoute = expressRouter(); +const loginRoute = express.Router(); let LInfo = require('./user.model'); -postRoutes.route('/login').post(function (req, res) { - console.log(req); - var user = req.body.username; - var pass = req.body.password; - LInfo.findOne( - { - and: [{username: user}, {password: pass}] - }, +loginRoute.route('/add').post(function (req, res) { + console.log(req.body); + var username = req.body.user; + LInfo.findOne({user: username}, + function(err, user){ + console.log(user); + if(user == null){ + let post = new LInfo(req.body); + console.log(post); + post.save() + .then(() => { + res.status(200).send("Account added successfully"); + }) + .catch(() => { + res.status(400).send("Unable to save to database"); + }); + } + else { + res.json(user); + console.log("user"); + } +}); +}); + +loginRoute.route('/post').post(function (req, res) { + //console.log(req); + //console.log(res); + var username = req.body.user; + var password = req.body.pass; + console.log(username); + console.log(password); + LInfo.findOne({user: username, pass: password}, function(err, user){ - if(err){ - res.json(err); + console.log(user); + if(!user){ + res.json(null); + console.log("err"); } else { res.json(user); + console.log("user"); } }); - }); \ No newline at end of file + }); +module.exports = loginRoute; \ No newline at end of file diff --git a/attendancetracker/API/server.js b/attendancetracker/API/server.js index 01eb520..9472caf 100644 --- a/attendancetracker/API/server.js +++ b/attendancetracker/API/server.js @@ -5,6 +5,7 @@ const PORT = 4000; const cors = require('cors'); const mongoose = require('mongoose'); const config = require('./DB.js'); +const loginRoute = require('./login.route'); mongoose.Promise = global.Promise; mongoose.connect(config.DB, { useNewUrlParser: true }).then( @@ -16,6 +17,8 @@ app.use(cors()); app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); +app.use('/login', loginRoute); + app.listen(PORT, function(){ console.log('Server is running on Port:',PORT); }); \ No newline at end of file diff --git a/attendancetracker/API/user.model.js b/attendancetracker/API/user.model.js index be7be14..8187d40 100644 --- a/attendancetracker/API/user.model.js +++ b/attendancetracker/API/user.model.js @@ -1,17 +1,15 @@ - const mongoose = require('mongoose'); +const mongoose = require('mongoose'); const Schema = mongoose.Schema; let LInfo = new Schema({ - username: { type: String, unique: true, required: true }, - hash: { type: String, required: true }, - firstName: { type: String, required: true }, - lastName: { type: String, required: true }, + user: { type: String, unique: true, required: true }, + pass: { type: String, required: true }, + firstName: { type: String, required: false }, + lastName: { type: String, required: false }, createdDate: { type: Date, default: Date.now } },{ - collection: 'users' + collection: 'users1' } -) +); -schema.set('toJSON', {virtuals: true}); - -module.exports = mongoose.model('User', schema); \ No newline at end of file +module.exports = mongoose.model('User', LInfo); \ No newline at end of file diff --git a/attendancetracker/src/components/Account.vue b/attendancetracker/src/components/Account.vue new file mode 100644 index 0000000..e69de29 diff --git a/attendancetracker/src/components/Calendar.vue b/attendancetracker/src/components/Calendar.vue new file mode 100644 index 0000000..e69de29 diff --git a/attendancetracker/src/components/HelloWorld.vue b/attendancetracker/src/components/HelloWorld.vue deleted file mode 100644 index bf8e5f0..0000000 --- a/attendancetracker/src/components/HelloWorld.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - Johnny is horribl - - For a guid:e and recipes on how to configure / customize this project, - check out the - vue-cli documentation. - - Installed CLI Plugins - - babel - eslint - - Essential Links - - Core Docs - Forum - Community Chat - Twitter - News - - Ecosystem - - vue-router - vuex - vue-devtools - vue-loader - awesome-vue - - - - - - - - diff --git a/attendancetracker/src/components/Home.vue b/attendancetracker/src/components/Home.vue deleted file mode 100644 index 70a3a51..0000000 --- a/attendancetracker/src/components/Home.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - Add Calendar Event - - - - - - - - - - - - \ No newline at end of file diff --git a/attendancetracker/src/components/Login.vue b/attendancetracker/src/components/Login.vue index 9f82121..ce5c48a 100644 --- a/attendancetracker/src/components/Login.vue +++ b/attendancetracker/src/components/Login.vue @@ -1,24 +1,26 @@ + Login Username - + Password - + - Click Me + Click Me + + + diff --git a/attendancetracker/src/main.js b/attendancetracker/src/main.js index 000f7c6..d64c2e4 100644 --- a/attendancetracker/src/main.js +++ b/attendancetracker/src/main.js @@ -20,25 +20,24 @@ import axios from 'axios'; Vue.use(VueAxios, axios); Vue.config.productionTip = false; -import HelloWorld from './components/HelloWorld.vue'; import Login from './components/Login.vue'; -import Home from './components/Home.vue'; - +import Calendar from './components/Calendar.vue'; +import Register from './components/Register.vue'; const routes = [ - { - name: 'home', - path: '/', - component: HelloWorld - }, { name: 'login', - path: '/login', + path: '/', component: Login }, { name: 'calendar', path: '/calendar', - component: Home + component: Calendar + }, + { + name: 'Register', + path: '/register', + component: Register } ]; diff --git a/attendancetracker/src/mixins/requestsMixin.js b/attendancetracker/src/mixins/requestsMixin.js deleted file mode 100644 index 478a129..0000000 --- a/attendancetracker/src/mixins/requestsMixin.js +++ /dev/null @@ -1,18 +0,0 @@ -const APIURL = "http://localhost:3000"; -const axios = require("axios"); -export const requestsMixin = { - methods: { - getCalendar() { - return axios.get(`${APIURL}/calendar`); - }, - addCalendar(data) { - return axios.post(`${APIURL}/calendar`, data); - }, - editCalendar(data) { - return axios.put(`${APIURL}/calendar/${data.id}`, data); - }, - deleteCalendar(id) { - return axios.delete(`${APIURL}/calendar/${id}`); - } - } -}; \ No newline at end of file
- For a guid:e and recipes on how to configure / customize this project, - check out the - vue-cli documentation. -