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
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const express = require('express');
const router = express.Router();
const postModels = require('../models/post');
const postModels = require('../../models/post');

const Model = postModels.Post;
const Comment = postModels.Comment;
Expand Down
15 changes: 15 additions & 0 deletions stackle_api/app/controllers/api/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const post = require('./post');
const comment = require('./comment');
const stack = require('./stack');
const reply = require('./reply');
const user = require('./user');
const profile = require('./profile')

module.exports = {
post,
comment,
stack,
reply,
user,
profile
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
const express = require('express');
const router = express.Router();
const postModels = require('../models/post');
const postModels = require('../../models/post');
const Post = postModels.Post;
// const auth = require('../lib/auth');

//to get all posts
router.get('/all', function(request, response) {
Expand Down
22 changes: 22 additions & 0 deletions stackle_api/app/controllers/api/profile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
const returnWithResponse = require('../../lib/returnWithResponse');

const success = (req, res, next) => {
returnWithResponse.configureReturnData({
status: 200,
success: true,
result: req.user
} ,res);
}

const failure = (err, req ,res, next) => {
returnWithResponse.configureReturnData({
status: 400,
success: false,
result: 'Access-Denied!'
} ,res);
}

module.exports = {
success,
failure
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const express = require('express');
const router = express.Router();
const models = require('../models/post');
const models = require('../../models/post');
const Reply = models.Reply;

//to reply on a comment
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const express = require('express');
const router = express.Router();

const Model = require('../models/stack');
const Model = require('../../models/stack');

//create a Stack
router.post('/create', function(request, response) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const express = require('express');
const router = express.Router();
const userModel = require('../models/user');
const userModel = require('../../models/user');

//create a user
router.post('/create', function(request, response) {
Expand Down
21 changes: 21 additions & 0 deletions stackle_api/app/controllers/auth/github.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const passport = require('passport')
const returnWithResponse = require('../../lib/returnWithResponse');

const githubCallbackSuccess = (request, response) => {
const { userId, token } = request.user
const redirectUrl = `http://localhost:4200/callback?userId='${userId}&token=${token}`
response.redirect(redirectUrl);
}

const githubCallbackFail = (err, request , response) => {
returnWithResponse.configureReturnData({
status: 400,
success: false,
result: 'Authentication Failed'
}, response);
}

module.exports = {
githubCallbackSuccess,
githubCallbackFail
}
9 changes: 9 additions & 0 deletions stackle_api/app/controllers/auth/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const {
githubCallbackSuccess,
githubCallbackFail
} = require('./github')

module.exports = {
githubCallbackSuccess,
githubCallbackFail
}
23 changes: 12 additions & 11 deletions stackle_api/app/routes.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
/** ------------------------- application -------------------------------- */
'use strict';
const mongoose = require('mongoose');

const User = require('./models/user');
const Stack = require('./models/stack');
const postModels = require('./models/post');
const Validator = require('./lib/validator').Validator;
const returnWithResponse = require('./lib/returnWithResponse');

const Post = postModels.Post;
const Comment = postModels.Comment;
const Reply = postModels.Reply;
const apiRouter = require('./routes/api');
const authRouter = require('./routes/auth');

module.exports = function(app, db) {

Expand All @@ -29,8 +22,16 @@ module.exports = function(app, db) {
});


// app.get('/api/notifications', function (request, response) {
// });
app.use('/api', apiRouter);

//Auth and its callback
app.use('/auth', authRouter);


//logout
app.get('/logout' , function(request, response){
UserModel.logout(request, response);
});

app.get('/*', function(request, response) {
response.sendFile('./public/404.html');
Expand Down
19 changes: 19 additions & 0 deletions stackle_api/app/routes/api/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const express = require('express')
const passport = require('passport')
const route = express.Router()
const apiController = require('../../controllers/api')


route.use('/post', apiController.post);
route.use('/comment', apiController.comment);
route.use('/user', apiController.user);
route.use('/org', apiController.stack);
route.use('/reply', apiController.reply);
route.get('/profile',
passport.authenticate('bearer', { session: false, failWithError: true }),
apiController.profile.success,
apiController.profile.failure
);


module.exports = route
16 changes: 16 additions & 0 deletions stackle_api/app/routes/auth/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const express = require('express')
const passport = require('passport')
const route = express.Router()
const authController = require('../../controllers/auth')

route.get('/github',
passport.authenticate('github', {session: false})
);

route.get('/github/callback',
passport.authenticate('github', {failureRedirect : '/', failWithError: true, session: false}),
authController.githubCallbackSuccess,
authController.githubCallbackFail
);

module.exports = route
Loading