Add subcategories and last revision date to launcher manifest

This commit is contained in:
2026-01-27 09:32:00 -07:00
parent 3bdc2e2360
commit 9acc71fa13
3 changed files with 21 additions and 8 deletions

View File

@@ -44,7 +44,8 @@ export const games = mysqlTable('games', {
name: text('name').notNull(),
official: boolean('official').default(false).notNull(),
verified: boolean('verified').default(false).notNull(),
developer: varchar('developer', { length: 32 })
developer: varchar('developer', { length: 32 }),
subcategoryNames: text('subcategoryNames').default('{}').notNull()
})
export const launcherVersionManifest = mysqlTable('launcherversionmanifest', {
@@ -62,7 +63,9 @@ export const launcherVersionManifest = mysqlTable('launcherversionmanifest', {
place: bigint('place', { mode: 'number' }).default(0).notNull(),
sha512sums: text('sha512sums').default('[]').notNull(),
sizes: text('sizes').default('[]').notNull(),
changelog: text('changelog')
changelog: text('changelog'),
subcategory: int('subcategory').notNull().default(-1),
lastRevision: bigint('lastRevision', { mode: 'number' }).notNull().default(0)
})
export const verifyCodes = mysqlTable('verifycodes', {

View File

@@ -82,7 +82,9 @@ export async function handler (context: Context) {
sha512sums: launcherVersionManifest.sha512sums,
sizes: launcherVersionManifest.sizes,
place: launcherVersionManifest.place,
changelog: launcherVersionManifest.changelog
changelog: launcherVersionManifest.changelog,
subcategory: launcherVersionManifest.subcategory,
lastRevision: launcherVersionManifest.lastRevision
})
.from(launcherVersionManifest)
.where(eq(launcherVersionManifest.hidden, false))
@@ -147,9 +149,14 @@ export async function handler (context: Context) {
return false
})
const gameList = await db.select().from(games).execute()
const gamesListRaw = await db.select().from(games).execute()
const gamesList = gamesListRaw.map(v => ({
...v,
subcategoryNames: JSON.parse(v.subcategoryNames)
}))
connection.end()
return jsonResponse({ versions, games: gameList })
return jsonResponse({ versions, games: gamesList })
}