Skip to content
Snippets Groups Projects
Commit ad5d6bdf authored by Janne's avatar Janne
Browse files

Removed the useless files

parent 1cacaf40
Branches
No related tags found
No related merge requests found
const config = require('./utils/config')
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
//const cors = require('cors') // uncomment if needed
const usersRouter = require('./controllers/userController')
const middleware = require('./utils/middleware')
const mongoose = require('mongoose')
const logger = require('./utils/logger')
const Fingerprint = require('express-fingerprint')
logger.info('connecting to', config.MONGODB_URI)
mongoose.connect(config.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
logger.info('connected to MongoDB')
})
.catch((error) => {
logger.error('error connection to MongoDB:', error.message)
})
// Routers
app.use('/user', usersRouter)
app.use('/button', buttonRouter)
// Other
//app.use(cors()) // uncomment if needed
app.use(express.static('build'))
app.use(bodyParser.json())
app.use(middleware.requestLogger)
app.use(middleware.unknownEndpoint)
app.use(middleware.errorHandler)
buttonRouter.use(Fingerprint({
parameters:[
// Defaults
Fingerprint.useragent,
Fingerprint.acceptHeaders,
Fingerprint.geoip,
// Additional parameters
function(next) {
// ...do something...
next(null,{
'param1':'value1'
})
},
function(next) {
// ...do something...
next(null,{
'param2':'value2'
})
},
]
}))
module.exports = app
\ No newline at end of file
const buttonRouter = require('express').Router()
const logger = require('../utils/logger')
const config = require('../utils/config')
let pressCounter = 1
buttonRouter.get('/pressButton', (request, response) => {
logger.info("Button pressed")
logger.info("Press value: "+pressCounter)
let currentCounter = pressCounter
pressCounter = pressCounter + 1
let score = 0
if(currentCounter % 10 == 0){
score = score + 5
}
if(currentCounter % 100 == 0){ // 100
score = score + 40
}
if(currentCounter % 500 == 0){ // 500
score = score + 250
}
response.json({'score':score,
'username':'napinpainelija',
'toplist':[
{'name':'jaakko',
'score':5},
{'name':'jussi',
'score':3},
{'name':'mikko',
'score':1}
],
'lastpresses':[
{'score':5},
{'score':0},
{'score':0}
]
})
})
buttonRouter.get('/score', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
User.find({inactive: false, email: decodedToken.email}).then(user => {
//console.log(user)
user.map(entity =>{
//console.log(entity.toString)
response.json(entity)
})
}).catch(error => {
console.log(error)
})
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
module.exports = buttonRouter
\ No newline at end of file
const gameRouter = require('express').Router()
const Game = require('../models/Game')
const jwt = require('jsonwebtoken')
const helperFunctions = require('../utils/helperFunctions')
const config = require('../utils/config')
gameRouter.post('/createNew', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
const body = request.body
if(body.topic === undefined || body.amount === undefined) {
return response.status(400).json({error: 'topic or amount missing'})
}
else{
const game = new Game({
name: body.name,
gameOwner: body.gameOwner,
buttonState: 0,
rewards: body.rewards,
players: body.players,
date_created: new Date(),
date_modified: new Date(),
deleted: false
})
game.save().then(savedGame => {
response.json(savedGame)
}).catch(error => {
console.log(error)
return response.status(400).json({error: 'saving failed'})
})
}
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
gameRouter.post('/saveScore', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
const body = request.body
if(body.topic === undefined || body.amount === undefined) {
return response.status(400).json({error: 'topic or amount missing'})
}
else{
const game = new Game({
name: body.name,
gameOwner: body.gameOwner,
buttonState: 0,
rewards: body.rewards,
players: body.players,
date_created: new Date(),
date_modified: new Date(),
deleted: false
})
game.save().then(savedGame => {
response.json(savedGame)
}).catch(error => {
console.log(error)
return response.status(400).json({error: 'saving failed'})
})
}
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
gameRouter.get('/getAll', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
User.find({inactive: false, email: decodedToken.email}).then(user => {
//console.log(user)
user.map(entity =>{
//console.log(entity.toString)
response.json(entity)
})
}).catch(error => {
console.log(error)
})
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
gameRouter.post('/find', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
User.find({inactive: false, email: decodedToken.email}).then(user => {
//console.log(user)
user.map(entity =>{
//console.log(entity.toString)
response.json(entity)
})
}).catch(error => {
console.log(error)
})
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
module.exports = gameRouter
\ No newline at end of file
const usersRouter = require('express').Router()
const User = require('../models/User')
const jwt = require('jsonwebtoken')
const helperFunctions = require('../utils/helperFunctions')
const config = require('../utils/config')
usersRouter.get('/getScore', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
User.find({inactive: false, email: decodedToken.email}).then(user => {
//console.log(user)
user.map(entity =>{
//console.log(entity.toString)
response.json(entity)
})
}).catch(error => {
console.log(error)
})
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
usersRouter.get('/validateToken', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
User.find({inactive: false, email: decodedToken.email}).then(user => {
//console.log("TÄSSSÄÄ: ",user)
if(user){
response.json(true)
}
}).catch(error => {
console.log(error)
response.json(false)
})
}
else{
response.status(400).json(false)
}
})
usersRouter.get('/logIn', (request, response) => {
//console.log("AUTH: ",request.headers.authorization)
if (request.headers.authorization && request.headers.authorization.split(' ')[1].split(':'[1])){
const credentials = request.headers.authorization.split(' ')[1];
const [emailAuth, passwordAuth] = credentials.split(':');
//console.log("CREDS: ",emailAuth, passwordAuth)
User.find({email: emailAuth}).then(user => {
let password=null
user.map(entity => {
password=entity.password
})
//console.log(password, passwordAuth)
if(passwordAuth === password){
jwt.sign({email: emailAuth} , config.JWT_KEY, { expiresIn: '30m' },(err, token) => {
if(err) { console.log(err) }
return response.json(token);
})
}
else{
return response.status(400).json({error: 'authentication failed'})
}
}).catch(error => {
console.log(error)
return response.status(400).json({error: 'authentication failed'})
})
}
else{
return response.status(400).json({error: 'authentication in wrong format'})
}
})
usersRouter.post('/signUp', (request, response) => {
})
// Below this, only for administrator
usersRouter.get('/getAll', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
//check that user has administrator rights
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
usersRouter.post('/add', (request, response) => {
const decodedToken = helperFunctions.decodeToken(request.headers.authorization)
if(decodedToken){
//check that user has administrator rights
}
else{
response.status(400).json({error: "couldn't encode the token."})
}
})
module.exports = usersRouter
\ No newline at end of file
const mongoose = require('mongoose')
const gameSchema = new mongoose.Schema({
name: String,
gameOwner: String,
buttonState: Number,
rewards: Array,
players: Array,
date_created: Date,
date_modified: Date,
inactive: Boolean
})
gameSchema.set('toJSON', {
transform: (document, returnedObject) => {
returnedObject.id = returnedObject._id
delete returnedObject._id
delete returnedObject.__v
}
})
module.exports = mongoose.model('Game', gameSchema)
\ No newline at end of file
const mongoose = require('mongoose')
const userSchema = new mongoose.Schema({
fingerprint: String,
score: Number,
lastPresses: Array,
date_created: Date,
date_modified: Date,
inactive: Boolean
})
userSchema.set('toJSON', {
transform: (document, returnedObject) => {
returnedObject.id = returnedObject._id
delete returnedObject._id
delete returnedObject.__v
}
})
module.exports = mongoose.model('User', userSchema)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment