Skip to content

Commit 1961af3

Browse files
committed
fix: attempt to keep available/masterfile more in sync
1 parent aa68467 commit 1961af3

File tree

2 files changed

+36
-33
lines changed

2 files changed

+36
-33
lines changed

server/src/routes/rootRouter.js

-3
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,6 @@ rootRouter.get('/api/settings', async (req, res, next) => {
225225
if (settings.user.perms.nests && api.queryOnSessionInit.nests) {
226226
Event.setAvailable('nests', 'Nest', Db, false)
227227
}
228-
if (Object.values(api.queryOnSessionInit).some(Boolean)) {
229-
Event.addAvailable()
230-
}
231228
}
232229

233230
res.status(200).json(settings)

server/src/services/EventManager.js

+36-30
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ class EventManager {
104104

105105
return 0
106106
})
107+
this.addAvailable(category)
107108
}
108109

109110
/**
@@ -342,46 +343,51 @@ class EventManager {
342343
try {
343344
const newMf = await generate(true, historical, dbRarity)
344345
this.masterfile = newMf ?? this.masterfile
345-
this.addAvailable()
346+
this.addAllAvailable()
346347
} catch (e) {
347348
log.warn(HELPERS.event, 'Failed to generate latest masterfile:\n', e)
348349
}
349350
}
350351

351-
addAvailable() {
352-
Object.entries(this.available).forEach(([c, entries]) => {
353-
const category = /** @type {keyof EventManager['available']} */ (c)
354-
entries.forEach((item) => {
355-
if (!Number.isNaN(parseInt(item.charAt(0)))) {
356-
const [id, form] = item.split('-')
357-
if (!this.masterfile.pokemon[id]) {
358-
this.masterfile.pokemon[id] = {
359-
name: '',
360-
pokedexId: +id,
361-
types: [],
362-
quickMoves: [],
363-
chargedMoves: [],
364-
defaultFormId: +form,
365-
forms: {},
366-
genId: 0,
367-
}
368-
log.warn(HELPERS.event, `Added ${id} to Pokemon, seems suspicious`)
369-
}
370-
if (!this.masterfile.pokemon[id].forms) {
371-
this.masterfile.pokemon[id].forms = {}
372-
}
373-
if (!this.masterfile.pokemon[id].forms[form]) {
374-
this.masterfile.pokemon[id].forms[form] = { name: '*', category }
375-
log.info(
376-
HELPERS.event,
377-
`Added ${this.masterfile.pokemon[id].name} Key: ${item} to masterfile. (${category})`,
378-
)
352+
/** @param {keyof EventManager['available']} category */
353+
addAvailable(category) {
354+
this.available[category].forEach((item) => {
355+
if (!Number.isNaN(parseInt(item.charAt(0)))) {
356+
const [id, form] = item.split('-')
357+
if (!this.masterfile.pokemon[id]) {
358+
this.masterfile.pokemon[id] = {
359+
name: '',
360+
pokedexId: +id,
361+
types: [],
362+
quickMoves: [],
363+
chargedMoves: [],
364+
defaultFormId: +form,
365+
forms: {},
366+
genId: 0,
379367
}
368+
log.warn(HELPERS.event, `Added ${id} to Pokemon, seems suspicious`)
380369
}
381-
})
370+
if (!this.masterfile.pokemon[id].forms) {
371+
this.masterfile.pokemon[id].forms = {}
372+
}
373+
if (!this.masterfile.pokemon[id].forms[form]) {
374+
this.masterfile.pokemon[id].forms[form] = { name: '*', category }
375+
log.info(
376+
HELPERS.event,
377+
`Added ${this.masterfile.pokemon[id].name} Key: ${item} to masterfile. (${category})`,
378+
)
379+
}
380+
}
382381
})
383382
}
384383

384+
addAllAvailable() {
385+
Object.keys(this.available).forEach(
386+
(/** @type {keyof EventManager['available']} */ category) =>
387+
this.addAvailable(category),
388+
)
389+
}
390+
385391
async getWebhooks() {
386392
const apis = await Promise.allSettled(
387393
config

0 commit comments

Comments
 (0)