Skip to content

Commit

Permalink
Resolve conflict
Browse files Browse the repository at this point in the history
  • Loading branch information
Elie Mugenzi authored and Elie Mugenzi committed Jul 19, 2019
1 parent cbab7f6 commit 52f41f1
Show file tree
Hide file tree
Showing 6 changed files with 119 additions and 84 deletions.
23 changes: 22 additions & 1 deletion src/api/controllers/chatController.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import sequelize from 'sequelize';
import db from '../../sequelize/models';
import Tokenizer from '../../helpers/Token.helper';

const { Chat, User, follows } = db;
const { Op } = sequelize;
Expand Down Expand Up @@ -37,7 +38,7 @@ class chatController {
})
.then((data) => {
if (!data[0]) {
return res.status(200).json({ error: 'you do not have any followers currently' });
return res.status(200).json({ message: 'you do not have any followers currently', followers: data, me: req.user });
}
return res.status(200).json({ followers: data, me: req.user });
});
Expand Down Expand Up @@ -82,5 +83,25 @@ class chatController {
});
});
}

/**
* @description - Get current User
* @param {Object} req - Request object
* @param {Object} res - Response object
* @returns {Object} - Response object
*/
static async getCurrentUser(req, res) {
const { token } = req.query;
try {
const currentUser = await Tokenizer.decodeToken(token);
res.json({
user: currentUser
});
} catch (error) {
res.status(401).json({
error: 'Invalid token'
});
}
}
}
export default chatController;
6 changes: 3 additions & 3 deletions src/api/controllers/profiles.js
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ export default class ProfilesController {
})
: res
.status(400)
.json({ errors: `you do not follow ${username}` });
.json({ error: `you do not follow ${username}` });
}

/**
Expand All @@ -192,7 +192,7 @@ export default class ProfilesController {
})
.then((data) => {
if (!data[0]) {
return res.status(200).json({ error: 'you do not have any followers currently' });
return res.status(200).json({ message: 'you do not have any followers currently', data });
}
return res.status(200).json({ followers: data });
});
Expand All @@ -218,7 +218,7 @@ export default class ProfilesController {
})
.then((data) => {
if (!data[0]) {
return res.status(200).json({ error: 'you do not following anyone currently' });
return res.status(200).json({ message: 'you do not following anyone currently', data });
}
return res.status(200).json({ following: data });
});
Expand Down
3 changes: 2 additions & 1 deletion src/api/routes/chatRouter.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ import { Router } from 'express';
import chat from '../controllers/chatController';
import auth from '../../middleware/auth';

const { getUsers, getMessages } = chat;
const { getUsers, getMessages, getCurrentUser } = chat;
const { verifyToken } = auth;
const chatRouter = Router();

chatRouter.get('/users', verifyToken, getUsers);
chatRouter.get('/currentUser', getCurrentUser);
chatRouter.get('/:username', verifyToken, getMessages);

export default chatRouter;
19 changes: 15 additions & 4 deletions src/helpers/SocketIO.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import eventEmitter from './notifications/EventEmitter';
import Tokenizer from './Token.helper';
import chatHelper from './chat/saveChats';

const { saveChat, updateReadMessages, getUnreadMessageCount } = chatHelper;
const { saveMessage, updateReadMessages, getUnreadMessageCount } = chatHelper;

dotenv.config();

Expand All @@ -32,7 +32,7 @@ const SocketIO = (app) => {
if (currentUser.username) {
const unreadCount = await getUnreadMessageCount(currentUser.username);
if (unreadCount !== 0) {
io.emit('message_unread', {
socket.emit('message_unread', {
receiver: currentUser.username,
unreadCount
});
Expand All @@ -57,8 +57,19 @@ const SocketIO = (app) => {
}
if (currentUser.username) {
socket.on('chat', async ({ sender, receiver, message }) => {
await saveChat({ sender, receiver, message });
chats.emit('chat', { sender, message, receiver });
const { id } = await saveMessage({
sender, receiver, message, read: false
});
chats.emit('chat', {
id, sender, message, receiver
});
const unreadCount = await getUnreadMessageCount(currentUser.username);
if (unreadCount !== 0) {
io.sockets.emit('message_unread', {
receiver: currentUser.username,
unreadCount
});
}
});
socket.on('typing', (data) => {
socket.broadcast.emit('typing', data);
Expand Down
2 changes: 1 addition & 1 deletion src/sequelize/migrations/20190612172050-create-user.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module.exports = {
type: Sequelize.TEXT
},
image: {
type: Sequelize.TEXT
type: Sequelize.STRING
},
dateOfBirth: {
type: Sequelize.DATE
Expand Down
Loading

0 comments on commit 52f41f1

Please sign in to comment.