Skip to content
This repository has been archived by the owner on Dec 22, 2023. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/backend'
Browse files Browse the repository at this point in the history
  • Loading branch information
ocjojo committed Mar 22, 2020
2 parents 118bf08 + ddc6f0d commit d5ac876
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 1 deletion.
4 changes: 4 additions & 0 deletions backend/routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@ const router = express.Router();

const userRoute = require('./users/index');
const learningUnitRoute = require('./learningunits/index');
const trackRoute = require('./tracks/index');
const roomRoute = require('./rooms/index');

router.use("/users/", userRoute);
router.use("/learningunits/", learningUnitRoute);
router.use("/tracks/", trackRoute);
router.use("/rooms/", roomRoute);

module.exports = router;
72 changes: 72 additions & 0 deletions backend/routes/rooms/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
const express = require('express');
const router = express.Router();

const knex = require('../../helper/db/Knex');

const roomTbl = 'rooms';
const roomMsgTbl = 'room_messages';
const roomTrackTbl = 'track_to_room';
const trackTbl = 'tracks';

router.get('/', (req, res) => {
knex(roomTbl)
.select(`${roomTbl}.ID`, `${roomTbl}.Name`, `${roomTbl}.Description`,
`${roomTbl}.CreatedAt`, `${roomTbl}.IsPrivate`
)
.then(result => {
if(result && result.length > 0) {
res.status(200).json(result);
}
else res.status(200).json({ error: 'Entry not found' });
})
.catch(err => res.status(200).json({ error: err.sqlMessage }));
})

router.get('/:id', (req, res) => {
knex(roomTbl)
.select(`${roomTbl}.ID`, `${roomTbl}.Name`, `${roomTbl}.Description`,
`${roomTbl}.CreatedAt`, `${roomTbl}.IsPrivate`
)
.where('ID', req.params.id)
.then(result => {
if(result && result.length > 0) {
res.status(200).json(result);
}
else res.status(200).json({ error: 'Entry not found' });
})
.catch(err => res.status(200).json({ error: err.sqlMessage }));
})

router.get('/:id/messages', (req, res) => {
knex(roomMsgTbl)
.select(`${roomMsgTbl}.ID`, `${roomMsgTbl}.Message`, `${roomMsgTbl}.CreatedAt`,
`${roomMsgTbl}.UpdatedAt`, `${roomMsgTbl}.Likes`, `${roomMsgTbl}.AuthorID`,
`${roomMsgTbl}.ParentMessageID`, `${roomMsgTbl}.IsPinned`
)
.where('RoomID', req.params.id)
.then(result => {
if(result && result.length > 0) {
res.status(200).json(result);
}
else res.status(200).json({ error: 'Entry not found' });
})
.catch(err => res.status(200).json({ error: err.sqlMessage }));
})

router.get('/:id/tracks', (req, res) => {
knex(roomTrackTbl)
.select(`${roomTrackTbl}.TrackID`, `${roomTrackTbl}.Subject`, `${roomTrackTbl}.IsPinned`,
`${roomTrackTbl}.PinnedAt`, `${trackTbl}.Name`, `${trackTbl}.Description`
)
.leftJoin(trackTbl, `${roomTrackTbl}.TrackID`, `${trackTbl}.ID`)
.where('RoomID', req.params.id)
.then(result => {
if(result && result.length > 0) {
res.status(200).json(result);
}
else res.status(200).json({ error: 'Entry not found' });
})
.catch(err => res.status(200).json({ error: err.sqlMessage }));
})

module.exports = router;
39 changes: 39 additions & 0 deletions backend/routes/tracks/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
const express = require('express');
const router = express.Router();

const knex = require('../../helper/db/Knex');

const trackTbl = 'tracks';

router.get('/', (req, res) => {
knex(trackTbl)
.select(`${trackTbl}.ID`, `${trackTbl}.Name`, `${trackTbl}.Description`,
`${trackTbl}.CreatedAt`, `${trackTbl}.UpdatedAt`, `${trackTbl}.IsPrivate`,
`${trackTbl}.Competence`
)
.then(result => {
if(result && result.length > 0) {
res.status(200).json(result);
}
else res.status(200).json({ error: 'Entry not found' });
})
.catch(err => res.status(200).json({ error: err.sqlMessage }));
})

router.get('/:id', (req, res) => {
knex(trackTbl)
.select(`${trackTbl}.ID`, `${trackTbl}.Name`, `${trackTbl}.Description`,
`${trackTbl}.CreatedAt`, `${trackTbl}.UpdatedAt`, `${trackTbl}.IsPrivate`,
`${trackTbl}.Competence`
)
.where(`${trackTbl}.ID`, req.params.id)
.then(result => {
if(result && result.length > 0) {
res.status(200).json(result);
}
else res.status(200).json({ error: 'Entry not found' });
})
.catch(err => res.status(200).json({ error: err.sqlMessage }));
})

module.exports = router;
2 changes: 1 addition & 1 deletion backend/routes/users/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ router.post('/register', (req, res) => {
router.post('/login', (req, res) => {

let { username, password } = req.body;
knex('users').select('users.ID', 'users.Username', 'users.Fullname', 'users.Email', 'users.Password', 'user_to_usergroup.GroupID').where('Username', username).leftJoin('user_to_usergroup', 'users.ID', 'user_to_usergroup.UserID').then(result => {
knex('users').select('users.ID', 'users.Username', 'users.Fullname', 'users.Email', 'users.Password', 'user_to_usergroup.GroupID').where('Username', username).orWhere('Email', username).leftJoin('user_to_usergroup', 'users.ID', 'user_to_usergroup.UserID').then(result => {
if (result && result.length > 0) {
const user = result[0];
bcrypt.compare(password, user.Password, (err, result) => {
Expand Down

0 comments on commit d5ac876

Please sign in to comment.