feat: added initial Docker support (still testing) and refactored the database for case-sensitive hosts

This commit is contained in:
Michael Green
2023-07-02 01:12:26 +10:00
parent 6c2c093ec9
commit 1b14e697a2
20 changed files with 601 additions and 543 deletions

View File

@@ -32,10 +32,10 @@ namespace gaseous_server.Controllers
{
if (md5.Length > 0)
{
return _GetSignature("signatures_roms.md5 = @searchstring", md5);
return _GetSignature("Signatures_Roms.md5 = @searchstring", md5);
} else
{
return _GetSignature("signatures_roms.sha1 = @searchstring", sha1);
return _GetSignature("Signatures_Roms.sha1 = @searchstring", sha1);
}
}
@@ -45,7 +45,7 @@ namespace gaseous_server.Controllers
{
if (TosecName.Length > 0)
{
return _GetSignature("signatures_roms.name = @searchstring", TosecName);
return _GetSignature("Signatures_Roms.name = @searchstring", TosecName);
} else
{
return null;
@@ -55,7 +55,7 @@ namespace gaseous_server.Controllers
private List<Models.Signatures_Games> _GetSignature(string sqlWhere, string searchString)
{
Database db = new gaseous_tools.Database(Database.databaseType.MySql, Config.DatabaseConfiguration.ConnectionString);
string sql = "SELECT \n view_signatures_games.*,\n signatures_roms.id AS romid,\n signatures_roms.name AS romname,\n signatures_roms.size,\n signatures_roms.crc,\n signatures_roms.md5,\n signatures_roms.sha1,\n signatures_roms.developmentstatus,\n signatures_roms.flags,\n signatures_roms.romtype,\n signatures_roms.romtypemedia,\n signatures_roms.medialabel,\n signatures_roms.metadatasource\nFROM\n signatures_roms\n INNER JOIN\n view_signatures_games ON signatures_roms.gameid = view_signatures_games.id WHERE " + sqlWhere;
string sql = "SELECT view_Signatures_Games.*, Signatures_Roms.Id AS romid, Signatures_Roms.Name AS romname, Signatures_Roms.Size, Signatures_Roms.CRC, Signatures_Roms.MD5, Signatures_Roms.SHA1, Signatures_Roms.DevelopmentStatus, Signatures_Roms.Flags, Signatures_Roms.RomType, Signatures_Roms.RomTypeMedia, Signatures_Roms.MediaLabel, Signatures_Roms.MetadataSource FROM Signatures_Roms INNER JOIN view_Signatures_Games ON Signatures_Roms.GameId = view_Signatures_Games.Id WHERE " + sqlWhere;
Dictionary<string, object> dbDict = new Dictionary<string, object>();
dbDict.Add("searchString", searchString);
@@ -69,33 +69,33 @@ namespace gaseous_server.Controllers
{
Game = new Models.Signatures_Games.GameItem
{
Id = (Int32)sigDbRow["id"],
Name = (string)sigDbRow["name"],
Description = (string)sigDbRow["description"],
Year = (string)sigDbRow["year"],
Publisher = (string)sigDbRow["publisher"],
Demo = (Models.Signatures_Games.GameItem.DemoTypes)(int)sigDbRow["demo"],
System = (string)sigDbRow["platform"],
SystemVariant = (string)sigDbRow["systemvariant"],
Video = (string)sigDbRow["video"],
Country = (string)sigDbRow["country"],
Language = (string)sigDbRow["language"],
Copyright = (string)sigDbRow["copyright"]
Id = (Int32)sigDbRow["Id"],
Name = (string)sigDbRow["Name"],
Description = (string)sigDbRow["Description"],
Year = (string)sigDbRow["Year"],
Publisher = (string)sigDbRow["Publisher"],
Demo = (Models.Signatures_Games.GameItem.DemoTypes)(int)sigDbRow["Demo"],
System = (string)sigDbRow["Platform"],
SystemVariant = (string)sigDbRow["SystemVariant"],
Video = (string)sigDbRow["Video"],
Country = (string)sigDbRow["Country"],
Language = (string)sigDbRow["Language"],
Copyright = (string)sigDbRow["Copyright"]
},
Rom = new Models.Signatures_Games.RomItem
{
Id = (Int32)sigDbRow["romid"],
Name = (string)sigDbRow["romname"],
Size = (Int64)sigDbRow["size"],
Crc = (string)sigDbRow["crc"],
Md5 = (string)sigDbRow["md5"],
Sha1 = (string)sigDbRow["sha1"],
DevelopmentStatus = (string)sigDbRow["developmentstatus"],
flags = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>((string)sigDbRow["flags"]),
RomType = (Models.Signatures_Games.RomItem.RomTypes)(int)sigDbRow["romtype"],
RomTypeMedia = (string)sigDbRow["romtypemedia"],
MediaLabel = (string)sigDbRow["medialabel"],
SignatureSource = (Models.Signatures_Games.RomItem.SignatureSourceType)(Int32)sigDbRow["metadatasource"]
Size = (Int64)sigDbRow["Size"],
Crc = (string)sigDbRow["CRC"],
Md5 = (string)sigDbRow["MD5"],
Sha1 = (string)sigDbRow["SHA1"],
DevelopmentStatus = (string)sigDbRow["SevelopmentStatus"],
flags = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>((string)sigDbRow["Flags"]),
RomType = (Models.Signatures_Games.RomItem.RomTypes)(int)sigDbRow["RomType"],
RomTypeMedia = (string)sigDbRow["RomTypeMedia"],
MediaLabel = (string)sigDbRow["MediaLabel"],
SignatureSource = (Models.Signatures_Games.RomItem.SignatureSourceType)(Int32)sigDbRow["MetadataSource"]
}
};
GamesList.Add(gameItem);