mirror of
https://github.com/ssyyhhrr/stewardle.git
synced 2025-11-14 12:53: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 favicon = require("serve-favicon")
|
||||||
const morgan = require("morgan")
|
const morgan = require("morgan")
|
||||||
const dayjs = require("dayjs")
|
const dayjs = require("dayjs")
|
||||||
|
const {v4: uuidv4} = require("uuid")
|
||||||
|
|
||||||
|
const version = uuidv4()
|
||||||
|
|
||||||
const driversPath = "./assets/drivers.json"
|
const driversPath = "./assets/drivers.json"
|
||||||
const statsPath = "./assets/stats.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 () => {
|
axios.get("https://ergast.com/api/f1/1950/driverStandings.json?limit=1000").then(async () => {
|
||||||
await updateDrivers()
|
await updateDrivers()
|
||||||
dotd()
|
dotd()
|
||||||
|
server()
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
console.log("API is unreachable! Not updating drivers...")
|
console.log("API is unreachable! Not updating drivers...")
|
||||||
if (fs.existsSync(driversPath)) {
|
if (fs.existsSync(driversPath)) {
|
||||||
let data = fs.readFileSync(driversPath)
|
let data = fs.readFileSync(driversPath)
|
||||||
drivers = JSON.parse(data)
|
drivers = JSON.parse(data)
|
||||||
dotd()
|
dotd()
|
||||||
|
server()
|
||||||
} else {
|
} else {
|
||||||
throw "Ergast API is unreachable and the drivers.json cache has not been built. Please try again when the Ergast API is online."
|
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() {
|
async function updateDrivers() {
|
||||||
@@ -249,7 +253,8 @@ function server() {
|
|||||||
"permanentNumber": response[2],
|
"permanentNumber": response[2],
|
||||||
"age": response[3],
|
"age": response[3],
|
||||||
"firstYear": response[4],
|
"firstYear": response[4],
|
||||||
"wins": response[5]
|
"wins": response[5],
|
||||||
|
"version": version
|
||||||
})
|
})
|
||||||
stats.guesses++
|
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 answer = await fetch(`${window.location.href}driver?driver=${obj.firstName + " " + obj.lastName}`)
|
||||||
let json = await answer.json()
|
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
|
let won = true
|
||||||
Object.values(json).forEach(async (answer, index) => {
|
Object.values(json).forEach(async (answer, index) => {
|
||||||
if (answer !== 1) won = false
|
if (answer !== 1) won = false
|
||||||
@@ -466,6 +476,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
let expire = new Date(JSON.parse(localStorage.guesses)[0])
|
let expire = new Date(JSON.parse(localStorage.guesses)[0])
|
||||||
if (expire <= d) {
|
if (expire <= d) {
|
||||||
localStorage.removeItem("guesses")
|
localStorage.removeItem("guesses")
|
||||||
|
localStorage.removeItem("version")
|
||||||
}
|
}
|
||||||
JSON.parse(localStorage.guesses).forEach(async (guess, index) => {
|
JSON.parse(localStorage.guesses).forEach(async (guess, index) => {
|
||||||
if (index > 0) await submit(guess, false)
|
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",
|
"morgan": "^1.10.0",
|
||||||
"node-schedule": "^2.1.0",
|
"node-schedule": "^2.1.0",
|
||||||
"serve-favicon": "^2.5.0",
|
"serve-favicon": "^2.5.0",
|
||||||
|
"uuid": "^9.0.0",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -992,6 +993,14 @@
|
|||||||
"node": ">= 0.4.0"
|
"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": {
|
"node_modules/vary": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
|
||||||
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
|
"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": {
|
"vary": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
"morgan": "^1.10.0",
|
"morgan": "^1.10.0",
|
||||||
"node-schedule": "^2.1.0",
|
"node-schedule": "^2.1.0",
|
||||||
"serve-favicon": "^2.5.0",
|
"serve-favicon": "^2.5.0",
|
||||||
|
"uuid": "^9.0.0",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user