Skip to content
This repository has been archived by the owner on Aug 4, 2022. It is now read-only.

Commit

Permalink
backedn persistency
Browse files Browse the repository at this point in the history
  • Loading branch information
Guillaume-N committed Jul 27, 2018
1 parent 268f5be commit 237e066
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 28 deletions.
3 changes: 2 additions & 1 deletion client/results.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const http = axios
const apiUrl = 'http://localhost:8081'

const currentCheerzerName = window.localStorage.getItem('currentCheerzerName')
const currentCheerzerName = window.localStorage.getItem('cheerzerName')
const cheerzers = window.localStorage.getItem('cheerzers')
const cheerzersElement = document.querySelector('.cheerzers')

Expand All @@ -21,6 +21,7 @@ const getRandomCheerzersToEatWith = (currentCheerzerName) => {
}

if(cheerzers) {
console.log(cheerzers)
JSON.parse(cheerzers).forEach(cheerzer => {
let el = document.createElement('p')
el.className = 'cheerzer'
Expand Down
63 changes: 63 additions & 0 deletions db.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,69 @@
"name": "Melissa",
"available": true,
"id": 14
},
{
"name": "Damien",
"available": true,
"id": 15
},
{
"name": "DavidG",
"available": true,
"id": 16
},
{
"name": "Robin",
"available": true,
"id": 17
}
],
"results": [
{
"group": [
{
"name": "Milisa",
"id": 4,
"available": true
},
{
"name": "Charles",
"id": 7,
"available": true
},
{
"name": "Melissa",
"available": true,
"id": 14
},
{
"name": "DavidG",
"available": true,
"id": 16
}
],
"id": 1
},
{
"group": [
{
"name": "Thomas",
"available": true,
"id": 10
},
{
"name": "Raphaele",
"id": 8,
"available": true
},
{
"name": "DavidP",
"available": true,
"id": 13
},
null
],
"id": 2
}
]
}
77 changes: 50 additions & 27 deletions server.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,36 +31,46 @@ http.get(apiUrl+'/cheerzers?available=true')
let resultsOfTheday = []
http.get(apiUrl+'/results')
.then(response => {
resultsOfTheday = response.data
resultsOfTheDay = response.data
//console.log(response.data)
})
.catch(err => {
console.log(err)
return undefined
})

const getRandomCheerzers = (cheerzers, currentCheerzer) => {
const cheerzersToChooseFrom = cheerzers.slice(0, cheerzers.length).filter(c => c.name != currentCheerzer.name)
const selectedCheerzers = []
let results
resultsOfTheDay.forEach(result => {
console.log('result', result)
results = result.group.filter(cheerzer => { cheerzer.id === currentCheerzer.id })
})
if(results.length > 0) {
return results
} else {
const cheerzersToChooseFrom = cheerzers.slice(0, cheerzers.length).filter(c => c.name != currentCheerzer.name)
const selectedCheerzers = []

for (let i = 0; selectedCheerzers.length < 3; i++) {
const randomInt = getRandomInt(0, cheerzersToChooseFrom.length)
const randomCheerzer = cheerzersToChooseFrom[randomInt]
for (let i = 0; selectedCheerzers.length < 3; i++) {
const randomInt = getRandomInt(0, cheerzersToChooseFrom.length)
const randomCheerzer = cheerzersToChooseFrom[randomInt]

if(selectedCheerzers.length > 0) {
let selectedCheerzersNames = []
selectedCheerzers.forEach(cheerzer => {
selectedCheerzersNames.push(cheerzer.name)
})
if(selectedCheerzers.length > 0) {
let selectedCheerzersNames = []
selectedCheerzers.forEach(cheerzer => {
selectedCheerzersNames.push(cheerzer.name)
})

if (randomCheerzer && !selectedCheerzersNames.includes(randomCheerzer.name)) {
if (randomCheerzer && !selectedCheerzersNames.includes(randomCheerzer.name)) {
selectedCheerzers.push(randomCheerzer)
}
} else {
selectedCheerzers.push(randomCheerzer)
}
} else {
selectedCheerzers.push(randomCheerzer)
}
return selectedCheerzers
}

return selectedCheerzers
}

app.get('/', (req, res, next) => {
Expand All @@ -72,18 +82,31 @@ app.use('/api', router)

router.route('/cheerzers/:current_cheerzer_name')
.get((req, res, next) => {
const ranCheerzers = getRandomCheerzers(availableCheerzers, {name: req.params.current_cheerzer_name})
res.json(ranCheerzers)
/*
http.post(apiUrl+'/results', ranCheerzers)
.then(response => {
console.log('ehehehe', response.data)
})
.catch(err => {
console.log(err)
return undefined
})
*/
const currChName = req.params.current_cheerzer_name
const ranCheerzers = getRandomCheerzers(availableCheerzers, {name: currChName})

setTimeout(() => {
//let currentCheerzer = {name: "DavidG", id: 16, available: true}
let currentCheerzer = availableCheerzers.find(c => c.name == currChName)
let xxx = ranCheerzers.slice(0, ranCheerzers.length)
xxx.push(currentCheerzer)

availableCheerzers.forEach(c => console.log('name:::', c.name))


http.post(apiUrl+'/results', {group: xxx})
.then(response => {
console.log('ehehehe', response.data)
})
.catch(err => {
console.log(err)
return undefined
})

res.json(ranCheerzers)
}, 1000)


})

app.listen(port)
Expand Down

0 comments on commit 237e066

Please sign in to comment.