Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
Empty file modified config/.env
100644 → 100755
Empty file.
Empty file modified config/config.js
100644 → 100755
Empty file.
4 changes: 2 additions & 2 deletions config/database.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const mongoose = require('mongoose')
const mongoose = require('mongoose') //setting up our db

const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.DB_STRING, {
const conn = await mongoose.connect(process.env.DB_STRING, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
Expand Down
2 changes: 1 addition & 1 deletion config/passport.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const OIDCStrategy = require('passport-azure-ad').OIDCStrategy
const OIDCStrategy = require('passport-azure-ad').OIDCStrategy //defining a new stategy
const mongoose = require('mongoose')
const config = require('../config/config')
const User = require('../models/User')
Expand Down
Empty file modified controllers/home.js
100644 → 100755
Empty file.
8 changes: 4 additions & 4 deletions controllers/todos.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const Todo = require('../models/Todo')
const Todo = require('../models/Todo') //Gives us access to db collections and give us access to methods to interact with that data

module.exports = {
getTodos: async (req,res)=>{
module.exports = { // Creates one object to hold all routing methods to
getTodos: async (req,res)=>{ // Gets all documents from the collections. Counts and finds documents and renders ejs file.
console.log(req.user)
try{
//Do we want to grab all the todos?
Expand Down Expand Up @@ -54,4 +54,4 @@ module.exports = {
console.log(err)
}
}
}
}
3 changes: 1 addition & 2 deletions middleware/auth.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = {
module.exports = { //To see if user is auth if they're logged in take them to home page if not take them to the dashboard.
ensureAuth: function (req, res, next) {
if (req.isAuthenticated()) {
return next()
Expand All @@ -14,4 +14,3 @@ module.exports = {
}
},
}

2 changes: 1 addition & 1 deletion models/Todo.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const mongoose = require('mongoose')

const TodoSchema = new mongoose.Schema({
const TodoSchema = new mongoose.Schema({ // setting up document for each todo completed and defining the type of each property
todo: {
type: String,
required: true,
Expand Down
Empty file modified models/User.js
100644 → 100755
Empty file.
Empty file modified package-lock.json
100644 → 100755
Empty file.
Empty file modified package.json
100644 → 100755
Empty file.
Empty file modified public/css/style.css
100644 → 100755
Empty file.
Empty file modified public/js/main.js
100644 → 100755
Empty file.
30 changes: 15 additions & 15 deletions routes/auth.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
const express = require('express')
const express = require('express') //copied and pasted from microsoft nothing new needs to be changed
const passport = require('passport')
const config = require('../config/config')
const router = express.Router()


router.get('/login',
function(req, res, next) {
passport.authenticate('azuread-openidconnect',
{
response: res,
resourceURL: config.resourceURL,
customState: 'my_state',
failureRedirect: '/'
passport.authenticate('azuread-openidconnect',
{
response: res,
resourceURL: config.resourceURL,
customState: 'my_state',
failureRedirect: '/'
}
)(req, res, next);
},
Expand All @@ -22,10 +22,10 @@ router.get('/login',

router.get('/openid/return',
function(req, res, next) {
passport.authenticate('azuread-openidconnect',
{
response: res,
failureRedirect: '/'
passport.authenticate('azuread-openidconnect',
{
response: res,
failureRedirect: '/'
}
)(req, res, next);
},
Expand All @@ -36,10 +36,10 @@ router.get('/openid/return',

router.post('/openid/return',
function(req, res, next) {
passport.authenticate('azuread-openidconnect',
{
response: res,
failureRedirect: '/'
passport.authenticate('azuread-openidconnect',
{
response: res,
failureRedirect: '/'
}
)(req, res, next);
},
Expand Down
Empty file modified routes/home.js
100644 → 100755
Empty file.
6 changes: 3 additions & 3 deletions routes/todos.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
const express = require('express')
const router = express.Router()
const todosController = require('../controllers/todos')
const todosController = require('../controllers/todos')
const { ensureAuth, ensureGuest } = require('../middleware/auth')

router.get('/', ensureAuth, todosController.getTodos)
router.get('/', ensureAuth, todosController.getTodos) // when get request is made we need to check user is authenticated and then calls the todoController function getTodos

router.post('/createTodo', todosController.createTodo)

Expand All @@ -13,4 +13,4 @@ router.put('/markIncomplete', todosController.markIncomplete)

router.delete('/deleteTodo', todosController.deleteTodo)

module.exports = router
module.exports = router
52 changes: 26 additions & 26 deletions server.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
const express = require('express')
const app = express()
const mongoose = require('mongoose')
const passport = require('passport')
const session = require('express-session')
const MongoStore = require('connect-mongo')(session)
const connectDB = require('./config/database')
const authRoutes = require('./routes/auth')
const homeRoutes = require('./routes/home')
const todoRoutes = require('./routes/todos')

require('dotenv').config({path: './config/.env'})
const express = require('express') // Express is a framework
const app = express() // creating express app
const mongoose = require('mongoose') //imports mongoose (ODM Framework)
const passport = require('passport') // auth middleware
const session = require('express-session') // Keeps users session logged in and creates the cookie
const MongoStore = require('connect-mongo')(session)//saving session data in the db
const connectDB = require('./config/database')//connects us to the db
const authRoutes = require('./routes/auth') //import auth routes from local modules
const homeRoutes = require('./routes/home') //import auth routes from local modules
const todoRoutes = require('./routes/todos') //import auth routes from local modules

require('dotenv').config({path: './config/.env'}) // enviornment variables

// Passport config
require('./config/passport')(passport)
require('./config/passport')(passport) // creating and configuring auth strategy for azure

connectDB()
connectDB() // connect to db

app.set('view engine', 'ejs')
app.use(express.static('public'))
app.use(express.urlencoded({ extended: true }))
app.use(express.json())
app.set('view engine', 'ejs') // chooses ejs as the view engine
app.use(express.static('public')) // Sets location of where to serve static files from
app.use(express.urlencoded({ extended: true })) // parses form data from post request
app.use(express.json()) //converts data into json objects

// Sessions
app.use(
app.use( //sets the middleware that handles the sessions
session({
secret: 'keyboard cat',
secret: 'keyboard cat', //this can be anything you want
resave: false,
saveUninitialized: false,
store: new MongoStore({ mongooseConnection: mongoose.connection }),
})
)

// Passport middleware
app.use(passport.initialize())
app.use(passport.initialize()) //setting up passport
app.use(passport.session())

//setting up the routes
app.use('/', homeRoutes)
app.use('/auth', authRoutes)
app.use('/todos', todoRoutes)
app.listen(process.env.PORT, ()=>{

app.listen(process.env.PORT, ()=>{ //setting up the port
console.log('Server is running, you better catch it!')
})
})
Empty file modified views/index.ejs
100644 → 100755
Empty file.
Empty file modified views/todos.ejs
100644 → 100755
Empty file.