mirror of
https://github.com/ssyyhhrr/stewardle.git
synced 2025-11-14 21:03:49 -05:00
Version UUIDs
This commit is contained in:
9
app.js
9
app.js
@@ -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++
|
||||
})
|
||||
|
||||
@@ -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
14
package-lock.json
generated
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user