Skip to content

Commit

Permalink
change app name to G-HUB; implement Chat and Message models b00tc4mp#84
Browse files Browse the repository at this point in the history
  • Loading branch information
Eden23 committed Aug 26, 2024
1 parent aec84b2 commit edf797f
Show file tree
Hide file tree
Showing 195 changed files with 16,036 additions and 0 deletions.
2 changes: 2 additions & 0 deletions staff/marti-herms/project/G-HUB/api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.env
node_modules
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import 'dotenv/config'
import jwt from 'jsonwebtoken'

import { logic } from 'core'
import { errors } from 'com'

const { SessionError } = errors

export default (req, res, next) => {
const { username, password } = req.body

try {
logic.authenticateUser(username, password)
.then(user =>
jwt.sign({ sub: user.id, role: user.role }, process.env.JWT_SECRET, (error, token) => {
if (error) {
next(new SessionError(error.message))

return
}

res.json(token)
})
)
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { reviewId } = req.params

try {
logic.deleteReview(userId, reviewId)
.then(() => res.status(204).send())
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { newAvatar } = req.body

try {
logic.editUserAvatar(userId, newAvatar)
.then(() => res.status(204).json())
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { newUsername } = req.body

try {
logic.editUserUsername(userId, newUsername)
.then(() => res.status(204).json())
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getDevUserGames(userId, targetUserId)
.then(games => res.json(games))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
15 changes: 15 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/getGameByIdHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { gameId } = req.params

try {
logic.getGameById(userId, gameId)
.then(game => res.json(game))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { gameId } = req.params

try {
logic.getGameReviews(userId, gameId)
.then(reviews => res.json(reviews))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUserAvatar(userId, targetUserId)
.then(avatar => res.json(avatar))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
15 changes: 15 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/getUserFavsHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUserFavs(userId, targetUserId)
.then(games => res.json(games))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUserFollowers(userId, targetUserId)
.then(users => res.json(users))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUserFollowing(userId, targetUserId)
.then(users => res.json(users))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
15 changes: 15 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/getUserHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUser(userId, targetUserId)
.then(user => res.json(user))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUserLibrary(userId, targetUserId)
.then(games => res.json(games))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { targetUserId } = req.params

try {
logic.getUserUsername(userId, targetUserId)
.then(username => res.json(username))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
49 changes: 49 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import authenticateUserHandler from './authenticateUserHandler.js'
import registerUserHandler from './registerUserHandler.js'
import getUserUsernameHandler from './getUserUsernameHandler.js'
import registerGameHandler from './registerGameHandler.js'
import searchGameHandler from './searchGameHandler.js'
import searchUserHandler from './searchUserHandler.js'
import getUserLibraryHandler from './getUserLibraryHandler.js'
import getUserFavsHandler from './getUserFavsHandler.js'
import getGameByIdHandler from './getGameByIdHandler.js'
import getGamesReviewsHandler from './getGamesReviewsHandler.js'
import getDevUserGamesHandler from './getDevUserGamesHandler.js'
import getUserFollowersHandler from './getUserFollowersHandler.js'
import getUserFollowingHandler from './getUserFollowingHandler.js'
import toggleAddGameHandler from './toggleAddGameHandler.js'
import toggleFavGameHandler from './toggleFavGameHandler.js'
import toggleFollowUserHandler from './toggleFollowUserHandler.js'
import makeReviewHandler from './makeReviewHandler.js'
import deleteReviewHandler from './deleteReviewHandler.js'
import getUserAvatarHandler from './getUserAvatarHandler.js'
import getUserHandler from './getUserHandler.js'
import editUserAvatarHandler from './editUserAvatarHandler.js'
import editUserUsernameHandler from './editUserUsernameHandler.js'

const handle = {
authenticateUser: authenticateUserHandler,
deleteReview: deleteReviewHandler,
editUserAvatar: editUserAvatarHandler,
editUserUsername: editUserUsernameHandler,
getDevUserGames: getDevUserGamesHandler,
getGameById: getGameByIdHandler,
getGamesReviews: getGamesReviewsHandler,
getUser: getUserHandler,
getUserAvatar: getUserAvatarHandler,
getUserFavs: getUserFavsHandler,
getUserFollowers: getUserFollowersHandler,
getUserFollowing: getUserFollowingHandler,
getUserLibrary: getUserLibraryHandler,
getUserUsername: getUserUsernameHandler,
makeReview: makeReviewHandler,
registerGame: registerGameHandler,
registerUser: registerUserHandler,
searchGame: searchGameHandler,
searchUser: searchUserHandler,
toggleAddGame: toggleAddGameHandler,
toggleFavGame: toggleFavGameHandler,
toggleFollowUser: toggleFollowUserHandler
}

export default handle
17 changes: 17 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/makeReviewHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { gameId } = req.params

const { comment, rate } = req.body

try {
logic.makeReview(userId, gameId, comment, rate)
.then(() => res.status(201).send())
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId } = req

const { name, image, description, link } = req.body

try {
logic.registerGame(userId, name, image, description, link)
.then(() => res.status(201).send())
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { logic } from 'core'

export default (req, res, next) => {
const { username, email, password, role } = req.body

try {
logic.registerUser(username, email, password, role)
.then(() => res.status(201).send())
.catch(error => next(error))
} catch (error) {
next(error)
}
}
13 changes: 13 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/searchGameHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId, query: { q } } = req

try {
logic.searchGame(userId, q)
.then(games => res.json(games))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
13 changes: 13 additions & 0 deletions staff/marti-herms/project/G-HUB/api/handlers/searchUserHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { logic } from 'core'

export default (req, res, next) => {
const { userId, query: { q } } = req

try {
logic.searchUser(userId, q)
.then(users => res.json(users))
.catch(error => next(error))
} catch (error) {
next(error)
}
}
Loading

0 comments on commit edf797f

Please sign in to comment.