Version UUIDs

This commit is contained in:
ssyyhhrr
2022-12-30 15:14:37 +00:00
parent 514557e183
commit f592b1d129
4 changed files with 33 additions and 2 deletions

9
app.js
View File

@@ -6,6 +6,9 @@ const express = require("express")
const favicon = require("serve-favicon")
const morgan = require("morgan")
const dayjs = require("dayjs")
const {v4: uuidv4} = require("uuid")
const version = uuidv4()
const driversPath = "./assets/drivers.json"
const statsPath = "./assets/stats.json"
@@ -99,17 +102,18 @@ async function main() {
axios.get("https://ergast.com/api/f1/1950/driverStandings.json?limit=1000").then(async () => {
await updateDrivers()
dotd()
server()
}).catch(() => {
console.log("API is unreachable! Not updating drivers...")
if (fs.existsSync(driversPath)) {
let data = fs.readFileSync(driversPath)
drivers = JSON.parse(data)
dotd()
server()
} else {
throw "Ergast API is unreachable and the drivers.json cache has not been built. Please try again when the Ergast API is online."
}
})
server()
}
async function updateDrivers() {
@@ -249,7 +253,8 @@ function server() {
"permanentNumber": response[2],
"age": response[3],
"firstYear": response[4],
"wins": response[5]
"wins": response[5],
"version": version
})
stats.guesses++
})

View File

@@ -197,6 +197,16 @@ async function submit(guess, real) {
}
let answer = await fetch(`${window.location.href}driver?driver=${obj.firstName + " " + obj.lastName}`)
let json = await answer.json()
if (localStorage.version) {
if (localStorage.version !== json.version) {
localStorage.removeItem("guesses")
localStorage.removeItem("version")
location.reload()
}
}
else {
localStorage.version = json.version
}
let won = true
Object.values(json).forEach(async (answer, index) => {
if (answer !== 1) won = false
@@ -466,6 +476,7 @@ document.addEventListener('DOMContentLoaded', () => {
let expire = new Date(JSON.parse(localStorage.guesses)[0])
if (expire <= d) {
localStorage.removeItem("guesses")
localStorage.removeItem("version")
}
JSON.parse(localStorage.guesses).forEach(async (guess, index) => {
if (index > 0) await submit(guess, false)

14
package-lock.json generated
View File

@@ -17,6 +17,7 @@
"morgan": "^1.10.0",
"node-schedule": "^2.1.0",
"serve-favicon": "^2.5.0",
"uuid": "^9.0.0",
"xml-js": "^1.6.11"
}
},
@@ -992,6 +993,14 @@
"node": ">= 0.4.0"
}
},
"node_modules/uuid": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -1740,6 +1749,11 @@
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
},
"uuid": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
},
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",

View File

@@ -17,6 +17,7 @@
"morgan": "^1.10.0",
"node-schedule": "^2.1.0",
"serve-favicon": "^2.5.0",
"uuid": "^9.0.0",
"xml-js": "^1.6.11"
}
}