build: initialize RetroHub with Laravel, Inertia, Vue, and Horizon

This commit is contained in:
2026-08-10 13:45:18 +02:00
commit 717db65139
218 changed files with 28356 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
declare namespace App {
namespace Features {
namespace Consoles {
namespace Data {
export type ConsoleData = {
id: number;
name: string;
slug: string;
iconPath: string | null;
romExtensions: Array<any>;
igdbPlatformId: number | null;
tgdbPlatformId: number | null;
gamesCount: number;
};
}
}
namespace Games {
namespace Data {
export type DashboardStatsData = {
totalGames: number;
totalConsoles: number;
totalRoms: number;
userSaves: number;
};
export type GameData = {
id: number;
consoleId: number;
title: string;
slug: string;
igdbId: number | null;
tgdbId: number | null;
description: string | null;
releaseYear: number | null;
developer: string | null;
publisher: string | null;
genre: string | null;
rating: number | null;
coverPath: string | null;
thumbnailPath: string | null;
console: unknown | null;
romFiles: Array<any> | null;
};
export type RomFileData = {
id: number;
gameId: number;
filePath: string;
fileName: string;
fileSize: number;
fileHash: string;
region: string | null;
language: string | null;
};
}
}
namespace Scraper {
namespace Data {
export type ScraperResultData = {
id: number;
title: string;
coverUrl: string | null;
year: string | null;
source: string;
};
}
}
namespace Settings {
namespace Data {
export type SaveFileData = {
id: number;
userId: number;
gameId: number;
filePath: string;
fileName: string;
fileSize: number;
lastSyncedAt: string | null;
};
}
}
namespace WebDav {
namespace Data {
export type WebDavAccountData = {
id: number;
userId: number;
username: string;
displayName: string;
enabled: boolean;
};
}
}
}
}