diff --git a/LANCommander.SDK/LANCommander.SDK.csproj b/LANCommander.SDK/LANCommander.SDK.csproj
index a937ca14..6ccd8cc1 100644
--- a/LANCommander.SDK/LANCommander.SDK.csproj
+++ b/LANCommander.SDK/LANCommander.SDK.csproj
@@ -21,12 +21,12 @@
-
-
+
+
-
+
diff --git a/LANCommander.Server.Data.SQLite/LANCommander.Server.Data.SQLite.csproj b/LANCommander.Server.Data.SQLite/LANCommander.Server.Data.SQLite.csproj
new file mode 100644
index 00000000..6af5e627
--- /dev/null
+++ b/LANCommander.Server.Data.SQLite/LANCommander.Server.Data.SQLite.csproj
@@ -0,0 +1,19 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LANCommander.Server/Migrations/20220905222402_InitialSeed.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20220905222402_InitialSeed.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20220905222402_InitialSeed.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20220905222402_InitialSeed.Designer.cs
diff --git a/LANCommander.Server/Migrations/20220905222402_InitialSeed.cs b/LANCommander.Server.Data.SQLite/Migrations/20220905222402_InitialSeed.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20220905222402_InitialSeed.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20220905222402_InitialSeed.cs
diff --git a/LANCommander.Server/Migrations/20220907043213_AddCompanies.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20220907043213_AddCompanies.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20220907043213_AddCompanies.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20220907043213_AddCompanies.Designer.cs
diff --git a/LANCommander.Server/Migrations/20220907043213_AddCompanies.cs b/LANCommander.Server.Data.SQLite/Migrations/20220907043213_AddCompanies.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20220907043213_AddCompanies.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20220907043213_AddCompanies.cs
diff --git a/LANCommander.Server/Migrations/20221229082813_AlterGameRequiredFields.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20221229082813_AlterGameRequiredFields.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20221229082813_AlterGameRequiredFields.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20221229082813_AlterGameRequiredFields.Designer.cs
diff --git a/LANCommander.Server/Migrations/20221229082813_AlterGameRequiredFields.cs b/LANCommander.Server.Data.SQLite/Migrations/20221229082813_AlterGameRequiredFields.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20221229082813_AlterGameRequiredFields.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20221229082813_AlterGameRequiredFields.cs
diff --git a/LANCommander.Server/Migrations/20221230033714_AddGameArchives.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20221230033714_AddGameArchives.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20221230033714_AddGameArchives.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20221230033714_AddGameArchives.Designer.cs
diff --git a/LANCommander.Server/Migrations/20221230033714_AddGameArchives.cs b/LANCommander.Server.Data.SQLite/Migrations/20221230033714_AddGameArchives.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20221230033714_AddGameArchives.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20221230033714_AddGameArchives.cs
diff --git a/LANCommander.Server/Migrations/20230103064847_RekeyUsers.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230103064847_RekeyUsers.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230103064847_RekeyUsers.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230103064847_RekeyUsers.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230103064847_RekeyUsers.cs b/LANCommander.Server.Data.SQLite/Migrations/20230103064847_RekeyUsers.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230103064847_RekeyUsers.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230103064847_RekeyUsers.cs
diff --git a/LANCommander.Server/Migrations/20230103070011_SimplifyUserNavigation.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230103070011_SimplifyUserNavigation.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230103070011_SimplifyUserNavigation.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230103070011_SimplifyUserNavigation.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230103070011_SimplifyUserNavigation.cs b/LANCommander.Server.Data.SQLite/Migrations/20230103070011_SimplifyUserNavigation.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230103070011_SimplifyUserNavigation.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230103070011_SimplifyUserNavigation.cs
diff --git a/LANCommander.Server/Migrations/20230105053952_AddUserRefreshToken.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230105053952_AddUserRefreshToken.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230105053952_AddUserRefreshToken.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230105053952_AddUserRefreshToken.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230105053952_AddUserRefreshToken.cs b/LANCommander.Server.Data.SQLite/Migrations/20230105053952_AddUserRefreshToken.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230105053952_AddUserRefreshToken.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230105053952_AddUserRefreshToken.cs
diff --git a/LANCommander.Server/Migrations/20230106065219_AddArchiveFileSizes.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230106065219_AddArchiveFileSizes.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230106065219_AddArchiveFileSizes.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230106065219_AddArchiveFileSizes.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230106065219_AddArchiveFileSizes.cs b/LANCommander.Server.Data.SQLite/Migrations/20230106065219_AddArchiveFileSizes.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230106065219_AddArchiveFileSizes.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230106065219_AddArchiveFileSizes.cs
diff --git a/LANCommander.Server/Migrations/20230108011351_AddKeyModel.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230108011351_AddKeyModel.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230108011351_AddKeyModel.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230108011351_AddKeyModel.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230108011351_AddKeyModel.cs b/LANCommander.Server.Data.SQLite/Migrations/20230108011351_AddKeyModel.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230108011351_AddKeyModel.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230108011351_AddKeyModel.cs
diff --git a/LANCommander.Server/Migrations/20230108014549_AdjustKeyColumnLengths.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230108014549_AdjustKeyColumnLengths.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230108014549_AdjustKeyColumnLengths.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230108014549_AdjustKeyColumnLengths.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230108014549_AdjustKeyColumnLengths.cs b/LANCommander.Server.Data.SQLite/Migrations/20230108014549_AdjustKeyColumnLengths.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230108014549_AdjustKeyColumnLengths.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230108014549_AdjustKeyColumnLengths.cs
diff --git a/LANCommander.Server/Migrations/20230109032336_ManifestMigration.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230109032336_ManifestMigration.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230109032336_ManifestMigration.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230109032336_ManifestMigration.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230109032336_ManifestMigration.cs b/LANCommander.Server.Data.SQLite/Migrations/20230109032336_ManifestMigration.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230109032336_ManifestMigration.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230109032336_ManifestMigration.cs
diff --git a/LANCommander.Server/Migrations/20230109073520_CascadeGameArchiveDeletion.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230109073520_CascadeGameArchiveDeletion.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230109073520_CascadeGameArchiveDeletion.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230109073520_CascadeGameArchiveDeletion.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230109073520_CascadeGameArchiveDeletion.cs b/LANCommander.Server.Data.SQLite/Migrations/20230109073520_CascadeGameArchiveDeletion.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230109073520_CascadeGameArchiveDeletion.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230109073520_CascadeGameArchiveDeletion.cs
diff --git a/LANCommander.Server/Migrations/20230109230618_CascadeGameKeyDeletion.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230109230618_CascadeGameKeyDeletion.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230109230618_CascadeGameKeyDeletion.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230109230618_CascadeGameKeyDeletion.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230109230618_CascadeGameKeyDeletion.cs b/LANCommander.Server.Data.SQLite/Migrations/20230109230618_CascadeGameKeyDeletion.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230109230618_CascadeGameKeyDeletion.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230109230618_CascadeGameKeyDeletion.cs
diff --git a/LANCommander.Server/Migrations/20230110023006_AddGameIGDBId.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230110023006_AddGameIGDBId.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230110023006_AddGameIGDBId.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230110023006_AddGameIGDBId.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230110023006_AddGameIGDBId.cs b/LANCommander.Server.Data.SQLite/Migrations/20230110023006_AddGameIGDBId.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230110023006_AddGameIGDBId.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230110023006_AddGameIGDBId.cs
diff --git a/LANCommander.Server/Migrations/20230110023249_ChangeGameRequiredFields.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230110023249_ChangeGameRequiredFields.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230110023249_ChangeGameRequiredFields.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230110023249_ChangeGameRequiredFields.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230110023249_ChangeGameRequiredFields.cs b/LANCommander.Server.Data.SQLite/Migrations/20230110023249_ChangeGameRequiredFields.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230110023249_ChangeGameRequiredFields.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230110023249_ChangeGameRequiredFields.cs
diff --git a/LANCommander.Server/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.cs b/LANCommander.Server.Data.SQLite/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230113234542_UpdateActionAndMultiplayerModelRequired.cs
diff --git a/LANCommander.Server/Migrations/20230115073716_AddScripts.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230115073716_AddScripts.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230115073716_AddScripts.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230115073716_AddScripts.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230115073716_AddScripts.cs b/LANCommander.Server.Data.SQLite/Migrations/20230115073716_AddScripts.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230115073716_AddScripts.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230115073716_AddScripts.cs
diff --git a/LANCommander.Server/Migrations/20230115085220_AddScriptRequiresAdminOption.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230115085220_AddScriptRequiresAdminOption.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230115085220_AddScriptRequiresAdminOption.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230115085220_AddScriptRequiresAdminOption.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230115085220_AddScriptRequiresAdminOption.cs b/LANCommander.Server.Data.SQLite/Migrations/20230115085220_AddScriptRequiresAdminOption.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230115085220_AddScriptRequiresAdminOption.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230115085220_AddScriptRequiresAdminOption.cs
diff --git a/LANCommander.Server/Migrations/20230116051528_AddIconField.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230116051528_AddIconField.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230116051528_AddIconField.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230116051528_AddIconField.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230116051528_AddIconField.cs b/LANCommander.Server.Data.SQLite/Migrations/20230116051528_AddIconField.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230116051528_AddIconField.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230116051528_AddIconField.cs
diff --git a/LANCommander.Server/Migrations/20230117002451_AddActionSortOrder.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230117002451_AddActionSortOrder.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230117002451_AddActionSortOrder.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230117002451_AddActionSortOrder.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230117002451_AddActionSortOrder.cs b/LANCommander.Server.Data.SQLite/Migrations/20230117002451_AddActionSortOrder.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230117002451_AddActionSortOrder.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230117002451_AddActionSortOrder.cs
diff --git a/LANCommander.Server/Migrations/20230118013618_AddGameSaves.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230118013618_AddGameSaves.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230118013618_AddGameSaves.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230118013618_AddGameSaves.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230118013618_AddGameSaves.cs b/LANCommander.Server.Data.SQLite/Migrations/20230118013618_AddGameSaves.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230118013618_AddGameSaves.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230118013618_AddGameSaves.cs
diff --git a/LANCommander.Server/Migrations/20230121023958_Add64BitFlagForScripts.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230121023958_Add64BitFlagForScripts.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230121023958_Add64BitFlagForScripts.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230121023958_Add64BitFlagForScripts.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230121023958_Add64BitFlagForScripts.cs b/LANCommander.Server.Data.SQLite/Migrations/20230121023958_Add64BitFlagForScripts.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230121023958_Add64BitFlagForScripts.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230121023958_Add64BitFlagForScripts.cs
diff --git a/LANCommander.Server/Migrations/20230123044346_Remove64BitScriptFlag.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230123044346_Remove64BitScriptFlag.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230123044346_Remove64BitScriptFlag.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230123044346_Remove64BitScriptFlag.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230123044346_Remove64BitScriptFlag.cs b/LANCommander.Server.Data.SQLite/Migrations/20230123044346_Remove64BitScriptFlag.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230123044346_Remove64BitScriptFlag.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230123044346_Remove64BitScriptFlag.cs
diff --git a/LANCommander.Server/Migrations/20230317234303_AddBasicServerModel.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230317234303_AddBasicServerModel.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230317234303_AddBasicServerModel.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230317234303_AddBasicServerModel.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230317234303_AddBasicServerModel.cs b/LANCommander.Server.Data.SQLite/Migrations/20230317234303_AddBasicServerModel.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230317234303_AddBasicServerModel.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230317234303_AddBasicServerModel.cs
diff --git a/LANCommander.Server/Migrations/20230326223408_AddSavePaths.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230326223408_AddSavePaths.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230326223408_AddSavePaths.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230326223408_AddSavePaths.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230326223408_AddSavePaths.cs b/LANCommander.Server.Data.SQLite/Migrations/20230326223408_AddSavePaths.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230326223408_AddSavePaths.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230326223408_AddSavePaths.cs
diff --git a/LANCommander.Server/Migrations/20230402013359_AddUserApproval.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230402013359_AddUserApproval.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230402013359_AddUserApproval.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230402013359_AddUserApproval.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230402013359_AddUserApproval.cs b/LANCommander.Server.Data.SQLite/Migrations/20230402013359_AddUserApproval.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230402013359_AddUserApproval.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230402013359_AddUserApproval.cs
diff --git a/LANCommander.Server/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.cs b/LANCommander.Server.Data.SQLite/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230811190752_AddServerUseShellExecuteAndAutostartDelay.cs
diff --git a/LANCommander.Server/Migrations/20230815021613_LinkGameServers.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230815021613_LinkGameServers.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230815021613_LinkGameServers.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230815021613_LinkGameServers.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230815021613_LinkGameServers.cs b/LANCommander.Server.Data.SQLite/Migrations/20230815021613_LinkGameServers.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230815021613_LinkGameServers.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230815021613_LinkGameServers.cs
diff --git a/LANCommander.Server/Migrations/20230815054532_AddServerLogModel.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230815054532_AddServerLogModel.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230815054532_AddServerLogModel.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230815054532_AddServerLogModel.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230815054532_AddServerLogModel.cs b/LANCommander.Server.Data.SQLite/Migrations/20230815054532_AddServerLogModel.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230815054532_AddServerLogModel.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230815054532_AddServerLogModel.cs
diff --git a/LANCommander.Server/Migrations/20230818003437_AddRCON.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230818003437_AddRCON.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230818003437_AddRCON.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230818003437_AddRCON.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230818003437_AddRCON.cs b/LANCommander.Server.Data.SQLite/Migrations/20230818003437_AddRCON.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230818003437_AddRCON.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230818003437_AddRCON.cs
diff --git a/LANCommander.Server/Migrations/20230818054703_NullRconPort.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230818054703_NullRconPort.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230818054703_NullRconPort.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230818054703_NullRconPort.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230818054703_NullRconPort.cs b/LANCommander.Server.Data.SQLite/Migrations/20230818054703_NullRconPort.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230818054703_NullRconPort.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230818054703_NullRconPort.cs
diff --git a/LANCommander.Server/Migrations/20230827172826_AddGameNotes.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230827172826_AddGameNotes.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230827172826_AddGameNotes.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230827172826_AddGameNotes.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230827172826_AddGameNotes.cs b/LANCommander.Server.Data.SQLite/Migrations/20230827172826_AddGameNotes.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230827172826_AddGameNotes.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230827172826_AddGameNotes.cs
diff --git a/LANCommander.Server/Migrations/20230914005736_AddServerHTTPSupport.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20230914005736_AddServerHTTPSupport.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230914005736_AddServerHTTPSupport.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230914005736_AddServerHTTPSupport.Designer.cs
diff --git a/LANCommander.Server/Migrations/20230914005736_AddServerHTTPSupport.cs b/LANCommander.Server.Data.SQLite/Migrations/20230914005736_AddServerHTTPSupport.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20230914005736_AddServerHTTPSupport.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20230914005736_AddServerHTTPSupport.cs
diff --git a/LANCommander.Server/Migrations/20231017011454_AddPlayerAlias.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231017011454_AddPlayerAlias.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231017011454_AddPlayerAlias.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231017011454_AddPlayerAlias.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231017011454_AddPlayerAlias.cs b/LANCommander.Server.Data.SQLite/Migrations/20231017011454_AddPlayerAlias.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231017011454_AddPlayerAlias.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231017011454_AddPlayerAlias.cs
diff --git a/LANCommander.Server/Migrations/20231018060152_AddRedistributables.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231018060152_AddRedistributables.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231018060152_AddRedistributables.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231018060152_AddRedistributables.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231018060152_AddRedistributables.cs b/LANCommander.Server.Data.SQLite/Migrations/20231018060152_AddRedistributables.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231018060152_AddRedistributables.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231018060152_AddRedistributables.cs
diff --git a/LANCommander.Server/Migrations/20231019005133_AddGameRedistributableRelationship.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231019005133_AddGameRedistributableRelationship.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231019005133_AddGameRedistributableRelationship.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231019005133_AddGameRedistributableRelationship.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231019005133_AddGameRedistributableRelationship.cs b/LANCommander.Server.Data.SQLite/Migrations/20231019005133_AddGameRedistributableRelationship.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231019005133_AddGameRedistributableRelationship.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231019005133_AddGameRedistributableRelationship.cs
diff --git a/LANCommander.Server/Migrations/20231102020229_AddMediaEntity.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231102020229_AddMediaEntity.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231102020229_AddMediaEntity.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231102020229_AddMediaEntity.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231102020229_AddMediaEntity.cs b/LANCommander.Server.Data.SQLite/Migrations/20231102020229_AddMediaEntity.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231102020229_AddMediaEntity.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231102020229_AddMediaEntity.cs
diff --git a/LANCommander.Server/Migrations/20231103010139_AddMediaMimeType.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231103010139_AddMediaMimeType.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231103010139_AddMediaMimeType.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231103010139_AddMediaMimeType.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231103010139_AddMediaMimeType.cs b/LANCommander.Server.Data.SQLite/Migrations/20231103010139_AddMediaMimeType.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231103010139_AddMediaMimeType.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231103010139_AddMediaMimeType.cs
diff --git a/LANCommander.Server/Migrations/20231103052501_RemoveGameIconProperty.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231103052501_RemoveGameIconProperty.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231103052501_RemoveGameIconProperty.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231103052501_RemoveGameIconProperty.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231103052501_RemoveGameIconProperty.cs b/LANCommander.Server.Data.SQLite/Migrations/20231103052501_RemoveGameIconProperty.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231103052501_RemoveGameIconProperty.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231103052501_RemoveGameIconProperty.cs
diff --git a/LANCommander.Server/Migrations/20231104224712_AddServerHttpPaths.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231104224712_AddServerHttpPaths.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231104224712_AddServerHttpPaths.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231104224712_AddServerHttpPaths.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231104224712_AddServerHttpPaths.cs b/LANCommander.Server.Data.SQLite/Migrations/20231104224712_AddServerHttpPaths.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231104224712_AddServerHttpPaths.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231104224712_AddServerHttpPaths.cs
diff --git a/LANCommander.Server/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.cs b/LANCommander.Server.Data.SQLite/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231105210731_RemoveDeprecatedServerHttpOptions.cs
diff --git a/LANCommander.Server/Migrations/20231117064657_DeleteDeprecatedSnippets.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231117064657_DeleteDeprecatedSnippets.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231117064657_DeleteDeprecatedSnippets.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231117064657_DeleteDeprecatedSnippets.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231117064657_DeleteDeprecatedSnippets.cs b/LANCommander.Server.Data.SQLite/Migrations/20231117064657_DeleteDeprecatedSnippets.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231117064657_DeleteDeprecatedSnippets.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231117064657_DeleteDeprecatedSnippets.cs
diff --git a/LANCommander.Server/Migrations/20231117081347_AddPlaySessions.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231117081347_AddPlaySessions.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231117081347_AddPlaySessions.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231117081347_AddPlaySessions.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231117081347_AddPlaySessions.cs b/LANCommander.Server.Data.SQLite/Migrations/20231117081347_AddPlaySessions.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231117081347_AddPlaySessions.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231117081347_AddPlaySessions.cs
diff --git a/LANCommander.Server/Migrations/20231128214406_FixDeletionBehaviors.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231128214406_FixDeletionBehaviors.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231128214406_FixDeletionBehaviors.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231128214406_FixDeletionBehaviors.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231128214406_FixDeletionBehaviors.cs b/LANCommander.Server.Data.SQLite/Migrations/20231128214406_FixDeletionBehaviors.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231128214406_FixDeletionBehaviors.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231128214406_FixDeletionBehaviors.cs
diff --git a/LANCommander.Server/Migrations/20231202235325_AddSavePathRegexFlag.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231202235325_AddSavePathRegexFlag.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231202235325_AddSavePathRegexFlag.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231202235325_AddSavePathRegexFlag.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231202235325_AddSavePathRegexFlag.cs b/LANCommander.Server.Data.SQLite/Migrations/20231202235325_AddSavePathRegexFlag.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231202235325_AddSavePathRegexFlag.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231202235325_AddSavePathRegexFlag.cs
diff --git a/LANCommander.Server/Migrations/20231203202813_FixScriptDisplayBounds.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231203202813_FixScriptDisplayBounds.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231203202813_FixScriptDisplayBounds.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231203202813_FixScriptDisplayBounds.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231203202813_FixScriptDisplayBounds.cs b/LANCommander.Server.Data.SQLite/Migrations/20231203202813_FixScriptDisplayBounds.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231203202813_FixScriptDisplayBounds.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231203202813_FixScriptDisplayBounds.cs
diff --git a/LANCommander.Server/Migrations/20231204044928_AddCollections.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231204044928_AddCollections.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231204044928_AddCollections.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231204044928_AddCollections.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231204044928_AddCollections.cs b/LANCommander.Server.Data.SQLite/Migrations/20231204044928_AddCollections.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231204044928_AddCollections.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231204044928_AddCollections.cs
diff --git a/LANCommander.Server/Migrations/20231211230822_AddAutostartMethod.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231211230822_AddAutostartMethod.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231211230822_AddAutostartMethod.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231211230822_AddAutostartMethod.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231211230822_AddAutostartMethod.cs b/LANCommander.Server.Data.SQLite/Migrations/20231211230822_AddAutostartMethod.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231211230822_AddAutostartMethod.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231211230822_AddAutostartMethod.cs
diff --git a/LANCommander.Server/Migrations/20231220234026_AddServerScripts.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231220234026_AddServerScripts.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231220234026_AddServerScripts.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231220234026_AddServerScripts.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231220234026_AddServerScripts.cs b/LANCommander.Server.Data.SQLite/Migrations/20231220234026_AddServerScripts.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231220234026_AddServerScripts.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231220234026_AddServerScripts.cs
diff --git a/LANCommander.Server/Migrations/20231222184839_AddSavePathWorkingDirectory.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20231222184839_AddSavePathWorkingDirectory.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231222184839_AddSavePathWorkingDirectory.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231222184839_AddSavePathWorkingDirectory.Designer.cs
diff --git a/LANCommander.Server/Migrations/20231222184839_AddSavePathWorkingDirectory.cs b/LANCommander.Server.Data.SQLite/Migrations/20231222184839_AddSavePathWorkingDirectory.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20231222184839_AddSavePathWorkingDirectory.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20231222184839_AddSavePathWorkingDirectory.cs
diff --git a/LANCommander.Server/Migrations/20240108083241_AddGameTypes.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240108083241_AddGameTypes.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240108083241_AddGameTypes.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240108083241_AddGameTypes.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240108083241_AddGameTypes.cs b/LANCommander.Server.Data.SQLite/Migrations/20240108083241_AddGameTypes.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240108083241_AddGameTypes.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240108083241_AddGameTypes.cs
diff --git a/LANCommander.Server/Migrations/20240115061429_AddUserMedia.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240115061429_AddUserMedia.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240115061429_AddUserMedia.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240115061429_AddUserMedia.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240115061429_AddUserMedia.cs b/LANCommander.Server.Data.SQLite/Migrations/20240115061429_AddUserMedia.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240115061429_AddUserMedia.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240115061429_AddUserMedia.cs
diff --git a/LANCommander.Server/Migrations/20240118070708_AddServerActions.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240118070708_AddServerActions.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240118070708_AddServerActions.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240118070708_AddServerActions.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240118070708_AddServerActions.cs b/LANCommander.Server.Data.SQLite/Migrations/20240118070708_AddServerActions.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240118070708_AddServerActions.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240118070708_AddServerActions.cs
diff --git a/LANCommander.Server/Migrations/20240119012444_AddServerConnectionDetails.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240119012444_AddServerConnectionDetails.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240119012444_AddServerConnectionDetails.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240119012444_AddServerConnectionDetails.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240119012444_AddServerConnectionDetails.cs b/LANCommander.Server.Data.SQLite/Migrations/20240119012444_AddServerConnectionDetails.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240119012444_AddServerConnectionDetails.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240119012444_AddServerConnectionDetails.cs
diff --git a/LANCommander.Server/Migrations/20240220064604_AddMediaChecksum.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240220064604_AddMediaChecksum.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240220064604_AddMediaChecksum.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240220064604_AddMediaChecksum.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240220064604_AddMediaChecksum.cs b/LANCommander.Server.Data.SQLite/Migrations/20240220064604_AddMediaChecksum.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240220064604_AddMediaChecksum.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240220064604_AddMediaChecksum.cs
diff --git a/LANCommander.Server/Migrations/20240220154307_CalculateMediaChecksum.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240220154307_CalculateMediaChecksum.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240220154307_CalculateMediaChecksum.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240220154307_CalculateMediaChecksum.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240220154307_CalculateMediaChecksum.cs b/LANCommander.Server.Data.SQLite/Migrations/20240220154307_CalculateMediaChecksum.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240220154307_CalculateMediaChecksum.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240220154307_CalculateMediaChecksum.cs
diff --git a/LANCommander.Server/Migrations/20240223230404_RelaxNullableStrings.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240223230404_RelaxNullableStrings.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240223230404_RelaxNullableStrings.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240223230404_RelaxNullableStrings.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240223230404_RelaxNullableStrings.cs b/LANCommander.Server.Data.SQLite/Migrations/20240223230404_RelaxNullableStrings.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240223230404_RelaxNullableStrings.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240223230404_RelaxNullableStrings.cs
diff --git a/LANCommander.Server/Migrations/20240329204518_AddEngineMetadata.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240329204518_AddEngineMetadata.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240329204518_AddEngineMetadata.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240329204518_AddEngineMetadata.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240329204518_AddEngineMetadata.cs b/LANCommander.Server.Data.SQLite/Migrations/20240329204518_AddEngineMetadata.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240329204518_AddEngineMetadata.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240329204518_AddEngineMetadata.cs
diff --git a/LANCommander.Server/Migrations/20240619231737_AddServerProcessTerminationMethod.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240619231737_AddServerProcessTerminationMethod.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240619231737_AddServerProcessTerminationMethod.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240619231737_AddServerProcessTerminationMethod.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240619231737_AddServerProcessTerminationMethod.cs b/LANCommander.Server.Data.SQLite/Migrations/20240619231737_AddServerProcessTerminationMethod.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240619231737_AddServerProcessTerminationMethod.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240619231737_AddServerProcessTerminationMethod.cs
diff --git a/LANCommander.Server/Migrations/20240620022723_AddMediaThumbnail.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240620022723_AddMediaThumbnail.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240620022723_AddMediaThumbnail.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240620022723_AddMediaThumbnail.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240620022723_AddMediaThumbnail.cs b/LANCommander.Server.Data.SQLite/Migrations/20240620022723_AddMediaThumbnail.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240620022723_AddMediaThumbnail.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240620022723_AddMediaThumbnail.cs
diff --git a/LANCommander.Server/Migrations/20240620023405_AddMediaName.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240620023405_AddMediaName.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240620023405_AddMediaName.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240620023405_AddMediaName.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240620023405_AddMediaName.cs b/LANCommander.Server.Data.SQLite/Migrations/20240620023405_AddMediaName.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240620023405_AddMediaName.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240620023405_AddMediaName.cs
diff --git a/LANCommander.Server/Migrations/20240701040116_AddPlatforms.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240701040116_AddPlatforms.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240701040116_AddPlatforms.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240701040116_AddPlatforms.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240701040116_AddPlatforms.cs b/LANCommander.Server.Data.SQLite/Migrations/20240701040116_AddPlatforms.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240701040116_AddPlatforms.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240701040116_AddPlatforms.cs
diff --git a/LANCommander.Server/Migrations/20240811183216_AddIssues.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240811183216_AddIssues.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240811183216_AddIssues.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240811183216_AddIssues.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240811183216_AddIssues.cs b/LANCommander.Server.Data.SQLite/Migrations/20240811183216_AddIssues.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240811183216_AddIssues.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240811183216_AddIssues.cs
diff --git a/LANCommander.Server/Migrations/20240817070904_AddPages.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240817070904_AddPages.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240817070904_AddPages.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240817070904_AddPages.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240817070904_AddPages.cs b/LANCommander.Server.Data.SQLite/Migrations/20240817070904_AddPages.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240817070904_AddPages.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240817070904_AddPages.cs
diff --git a/LANCommander.Server/Migrations/20240819003946_AddPageHierarchy.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240819003946_AddPageHierarchy.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240819003946_AddPageHierarchy.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240819003946_AddPageHierarchy.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240819003946_AddPageHierarchy.cs b/LANCommander.Server.Data.SQLite/Migrations/20240819003946_AddPageHierarchy.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240819003946_AddPageHierarchy.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240819003946_AddPageHierarchy.cs
diff --git a/LANCommander.Server/Migrations/20240820022611_AddUserCustomFields.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240820022611_AddUserCustomFields.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240820022611_AddUserCustomFields.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240820022611_AddUserCustomFields.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240820022611_AddUserCustomFields.cs b/LANCommander.Server.Data.SQLite/Migrations/20240820022611_AddUserCustomFields.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240820022611_AddUserCustomFields.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240820022611_AddUserCustomFields.cs
diff --git a/LANCommander.Server/Migrations/20240822013436_AddPageSortOrder.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240822013436_AddPageSortOrder.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240822013436_AddPageSortOrder.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240822013436_AddPageSortOrder.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240822013436_AddPageSortOrder.cs b/LANCommander.Server.Data.SQLite/Migrations/20240822013436_AddPageSortOrder.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240822013436_AddPageSortOrder.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240822013436_AddPageSortOrder.cs
diff --git a/LANCommander.Server/Migrations/20240828021125_AddPageSlug.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240828021125_AddPageSlug.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240828021125_AddPageSlug.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240828021125_AddPageSlug.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240828021125_AddPageSlug.cs b/LANCommander.Server.Data.SQLite/Migrations/20240828021125_AddPageSlug.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240828021125_AddPageSlug.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240828021125_AddPageSlug.cs
diff --git a/LANCommander.Server/Migrations/20240904002809_AddGameKeyAllocationMethod.Designer.cs b/LANCommander.Server.Data.SQLite/Migrations/20240904002809_AddGameKeyAllocationMethod.Designer.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240904002809_AddGameKeyAllocationMethod.Designer.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240904002809_AddGameKeyAllocationMethod.Designer.cs
diff --git a/LANCommander.Server/Migrations/20240904002809_AddGameKeyAllocationMethod.cs b/LANCommander.Server.Data.SQLite/Migrations/20240904002809_AddGameKeyAllocationMethod.cs
similarity index 100%
rename from LANCommander.Server/Migrations/20240904002809_AddGameKeyAllocationMethod.cs
rename to LANCommander.Server.Data.SQLite/Migrations/20240904002809_AddGameKeyAllocationMethod.cs
diff --git a/LANCommander.Server/Migrations/DatabaseContextModelSnapshot.cs b/LANCommander.Server.Data.SQLite/Migrations/DatabaseContextModelSnapshot.cs
similarity index 100%
rename from LANCommander.Server/Migrations/DatabaseContextModelSnapshot.cs
rename to LANCommander.Server.Data.SQLite/Migrations/DatabaseContextModelSnapshot.cs
diff --git a/LANCommander.Server/Data/DatabaseContext.cs b/LANCommander.Server.Data/DatabaseContext.cs
similarity index 100%
rename from LANCommander.Server/Data/DatabaseContext.cs
rename to LANCommander.Server.Data/DatabaseContext.cs
diff --git a/LANCommander.Server.Data/LANCommander.Server.Data.csproj b/LANCommander.Server.Data/LANCommander.Server.Data.csproj
new file mode 100644
index 00000000..6e1e422c
--- /dev/null
+++ b/LANCommander.Server.Data/LANCommander.Server.Data.csproj
@@ -0,0 +1,19 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LANCommander.Server/Data/ModelBuilderExtensions.cs b/LANCommander.Server.Data/ModelBuilderExtensions.cs
similarity index 100%
rename from LANCommander.Server/Data/ModelBuilderExtensions.cs
rename to LANCommander.Server.Data/ModelBuilderExtensions.cs
diff --git a/LANCommander.Server/Data/Models/Action.cs b/LANCommander.Server.Data/Models/Action.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Action.cs
rename to LANCommander.Server.Data/Models/Action.cs
diff --git a/LANCommander.Server/Data/Models/Archive.cs b/LANCommander.Server.Data/Models/Archive.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Archive.cs
rename to LANCommander.Server.Data/Models/Archive.cs
diff --git a/LANCommander.Server/Data/Models/BaseModel.cs b/LANCommander.Server.Data/Models/BaseModel.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/BaseModel.cs
rename to LANCommander.Server.Data/Models/BaseModel.cs
diff --git a/LANCommander.Server/Data/Models/BaseTaxonomyModel.cs b/LANCommander.Server.Data/Models/BaseTaxonomyModel.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/BaseTaxonomyModel.cs
rename to LANCommander.Server.Data/Models/BaseTaxonomyModel.cs
diff --git a/LANCommander.Server/Data/Models/Category.cs b/LANCommander.Server.Data/Models/Category.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Category.cs
rename to LANCommander.Server.Data/Models/Category.cs
diff --git a/LANCommander.Server/Data/Models/Collection.cs b/LANCommander.Server.Data/Models/Collection.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Collection.cs
rename to LANCommander.Server.Data/Models/Collection.cs
diff --git a/LANCommander.Server/Data/Models/Company.cs b/LANCommander.Server.Data/Models/Company.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Company.cs
rename to LANCommander.Server.Data/Models/Company.cs
diff --git a/LANCommander.Server/Data/Models/Engine.cs b/LANCommander.Server.Data/Models/Engine.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Engine.cs
rename to LANCommander.Server.Data/Models/Engine.cs
diff --git a/LANCommander.Server/Data/Models/Game.cs b/LANCommander.Server.Data/Models/Game.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Game.cs
rename to LANCommander.Server.Data/Models/Game.cs
diff --git a/LANCommander.Server/Data/Models/GameSave.cs b/LANCommander.Server.Data/Models/GameSave.cs
similarity index 61%
rename from LANCommander.Server/Data/Models/GameSave.cs
rename to LANCommander.Server.Data/Models/GameSave.cs
index 34e38bbc..dd32897e 100644
--- a/LANCommander.Server/Data/Models/GameSave.cs
+++ b/LANCommander.Server.Data/Models/GameSave.cs
@@ -1,5 +1,4 @@
-using LANCommander.Server.Services;
-using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace LANCommander.Server.Data.Models
@@ -17,12 +16,5 @@ namespace LANCommander.Server.Data.Models
[ForeignKey(nameof(UserId))]
[InverseProperty("GameSaves")]
public virtual User? User { get; set; }
-
- public string GetUploadPath()
- {
- var settings = SettingService.GetSettings();
-
- return Path.Combine(settings.UserSaves.StoragePath, UserId.ToString(), GameId.ToString(), Id.ToString());
- }
}
}
diff --git a/LANCommander.Server/Data/Models/Genre.cs b/LANCommander.Server.Data/Models/Genre.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Genre.cs
rename to LANCommander.Server.Data/Models/Genre.cs
diff --git a/LANCommander.Server/Data/Models/Issue.cs b/LANCommander.Server.Data/Models/Issue.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Issue.cs
rename to LANCommander.Server.Data/Models/Issue.cs
diff --git a/LANCommander.Server/Data/Models/Key.cs b/LANCommander.Server.Data/Models/Key.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Key.cs
rename to LANCommander.Server.Data/Models/Key.cs
diff --git a/LANCommander.Server/Data/Models/Media.cs b/LANCommander.Server.Data/Models/Media.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Media.cs
rename to LANCommander.Server.Data/Models/Media.cs
diff --git a/LANCommander.Server/Data/Models/MultiplayerMode.cs b/LANCommander.Server.Data/Models/MultiplayerMode.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/MultiplayerMode.cs
rename to LANCommander.Server.Data/Models/MultiplayerMode.cs
diff --git a/LANCommander.Server/Data/Models/Page.cs b/LANCommander.Server.Data/Models/Page.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Page.cs
rename to LANCommander.Server.Data/Models/Page.cs
diff --git a/LANCommander.Server/Data/Models/Platform.cs b/LANCommander.Server.Data/Models/Platform.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Platform.cs
rename to LANCommander.Server.Data/Models/Platform.cs
diff --git a/LANCommander.Server/Data/Models/PlaySession.cs b/LANCommander.Server.Data/Models/PlaySession.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/PlaySession.cs
rename to LANCommander.Server.Data/Models/PlaySession.cs
diff --git a/LANCommander.Server/Data/Models/Redistributable.cs b/LANCommander.Server.Data/Models/Redistributable.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Redistributable.cs
rename to LANCommander.Server.Data/Models/Redistributable.cs
diff --git a/LANCommander.Server/Data/Models/Role.cs b/LANCommander.Server.Data/Models/Role.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Role.cs
rename to LANCommander.Server.Data/Models/Role.cs
diff --git a/LANCommander.Server/Data/Models/SavePath.cs b/LANCommander.Server.Data/Models/SavePath.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/SavePath.cs
rename to LANCommander.Server.Data/Models/SavePath.cs
diff --git a/LANCommander.Server/Data/Models/Script.cs b/LANCommander.Server.Data/Models/Script.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Script.cs
rename to LANCommander.Server.Data/Models/Script.cs
diff --git a/LANCommander.Server/Data/Models/Server.cs b/LANCommander.Server.Data/Models/Server.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Server.cs
rename to LANCommander.Server.Data/Models/Server.cs
diff --git a/LANCommander.Server/Data/Models/ServerConsole.cs b/LANCommander.Server.Data/Models/ServerConsole.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/ServerConsole.cs
rename to LANCommander.Server.Data/Models/ServerConsole.cs
diff --git a/LANCommander.Server/Data/Models/ServerHttpPath.cs b/LANCommander.Server.Data/Models/ServerHttpPath.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/ServerHttpPath.cs
rename to LANCommander.Server.Data/Models/ServerHttpPath.cs
diff --git a/LANCommander.Server/Data/Models/Tag.cs b/LANCommander.Server.Data/Models/Tag.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/Tag.cs
rename to LANCommander.Server.Data/Models/Tag.cs
diff --git a/LANCommander.Server/Data/Models/User.cs b/LANCommander.Server.Data/Models/User.cs
similarity index 88%
rename from LANCommander.Server/Data/Models/User.cs
rename to LANCommander.Server.Data/Models/User.cs
index fed5ed72..f94ba35c 100644
--- a/LANCommander.Server/Data/Models/User.cs
+++ b/LANCommander.Server.Data/Models/User.cs
@@ -1,5 +1,4 @@
-using LANCommander.Server.Services;
-using Microsoft.AspNetCore.Identity;
+using Microsoft.AspNetCore.Identity;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
@@ -61,12 +60,5 @@ namespace LANCommander.Server.Data.Models
public DateTime? ApprovedOn { get; set; }
public string? Alias { get; set; }
-
- public string GetGameSaveUploadPath()
- {
- var settings = SettingService.GetSettings();
-
- return Path.Combine(settings.UserSaves.StoragePath, Id.ToString());
- }
}
}
diff --git a/LANCommander.Server/Data/Models/UserCustomField.cs b/LANCommander.Server.Data/Models/UserCustomField.cs
similarity index 100%
rename from LANCommander.Server/Data/Models/UserCustomField.cs
rename to LANCommander.Server.Data/Models/UserCustomField.cs
diff --git a/LANCommander.Server/Data/Repository.cs b/LANCommander.Server.Data/Repository.cs
similarity index 87%
rename from LANCommander.Server/Data/Repository.cs
rename to LANCommander.Server.Data/Repository.cs
index a93ad2e5..893f07fd 100644
--- a/LANCommander.Server/Data/Repository.cs
+++ b/LANCommander.Server.Data/Repository.cs
@@ -1,4 +1,5 @@
using LANCommander.Server.Data.Models;
+using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using System.Linq.Expressions;
@@ -7,12 +8,10 @@ namespace LANCommander.Server.Data
public class Repository : IDisposable where T : BaseModel
{
private DbContext Context;
- private HttpContext HttpContext;
- public Repository(DatabaseContext context, HttpContext httpContext)
+ public Repository(DatabaseContext context)
{
Context = context;
- HttpContext = httpContext;
}
private DbSet DbSet
@@ -79,7 +78,7 @@ namespace LANCommander.Server.Data
private User GetCurrentUser()
{
- if (HttpContext != null && HttpContext.User != null && HttpContext.User.Identity != null && HttpContext.User.Identity.IsAuthenticated)
+ /*if (HttpContext != null && HttpContext.User != null && HttpContext.User.Identity != null && HttpContext.User.Identity.IsAuthenticated)
{
var user = GetUser(HttpContext.User.Identity.Name);
@@ -88,7 +87,7 @@ namespace LANCommander.Server.Data
else
return user;
}
- else
+ else*/
return null;
}
diff --git a/LANCommander.Server/Services/ArchiveService.cs b/LANCommander.Server.Services/ArchiveService.cs
similarity index 97%
rename from LANCommander.Server/Services/ArchiveService.cs
rename to LANCommander.Server.Services/ArchiveService.cs
index 8486e0e5..23a3f81b 100644
--- a/LANCommander.Server/Services/ArchiveService.cs
+++ b/LANCommander.Server.Services/ArchiveService.cs
@@ -1,6 +1,5 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Extensions;
using LANCommander.Helpers;
using LANCommander.Server.Models;
using LANCommander.SDK;
@@ -9,6 +8,8 @@ using System.Linq.Expressions;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
using ZiggyCreatures.Caching.Fusion;
+using LANCommander.Server.Services.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -19,8 +20,7 @@ namespace LANCommander.Server.Services
public ArchiveService(
ILogger logger,
DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor,
- IFusionCache cache) : base(logger, dbContext, httpContextAccessor)
+ IFusionCache cache) : base(logger, dbContext)
{
Cache = cache;
}
diff --git a/LANCommander.Server/Services/BeaconService.cs b/LANCommander.Server.Services/BeaconService.cs
similarity index 93%
rename from LANCommander.Server/Services/BeaconService.cs
rename to LANCommander.Server.Services/BeaconService.cs
index 575c5dd3..30dbc781 100644
--- a/LANCommander.Server/Services/BeaconService.cs
+++ b/LANCommander.Server.Services/BeaconService.cs
@@ -1,5 +1,7 @@
using BeaconLib;
using LANCommander.Server.Models;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
diff --git a/LANCommander.Server/Services/CategoryService.cs b/LANCommander.Server.Services/CategoryService.cs
similarity index 65%
rename from LANCommander.Server/Services/CategoryService.cs
rename to LANCommander.Server.Services/CategoryService.cs
index c5945915..3b2a9798 100644
--- a/LANCommander.Server/Services/CategoryService.cs
+++ b/LANCommander.Server.Services/CategoryService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public CategoryService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server/Services/CollectionService.cs b/LANCommander.Server.Services/CollectionService.cs
similarity index 65%
rename from LANCommander.Server/Services/CollectionService.cs
rename to LANCommander.Server.Services/CollectionService.cs
index e99245d9..e9cfe32b 100644
--- a/LANCommander.Server/Services/CollectionService.cs
+++ b/LANCommander.Server.Services/CollectionService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public CollectionService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server/Services/CompanyService.cs b/LANCommander.Server.Services/CompanyService.cs
similarity index 65%
rename from LANCommander.Server/Services/CompanyService.cs
rename to LANCommander.Server.Services/CompanyService.cs
index 18f81d16..7fc74955 100644
--- a/LANCommander.Server/Services/CompanyService.cs
+++ b/LANCommander.Server.Services/CompanyService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public CompanyService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server/Services/EngineService.cs b/LANCommander.Server.Services/EngineService.cs
similarity index 64%
rename from LANCommander.Server/Services/EngineService.cs
rename to LANCommander.Server.Services/EngineService.cs
index e889cd94..f3b234a5 100644
--- a/LANCommander.Server/Services/EngineService.cs
+++ b/LANCommander.Server.Services/EngineService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public EngineService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server.Services/Extensions/StringExtensions.cs b/LANCommander.Server.Services/Extensions/StringExtensions.cs
new file mode 100644
index 00000000..0cf930d3
--- /dev/null
+++ b/LANCommander.Server.Services/Extensions/StringExtensions.cs
@@ -0,0 +1,53 @@
+using System.Globalization;
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace LANCommander.Server.Services.Extensions
+{
+ public static class StringExtensions
+ {
+ static readonly Regex WordDelimiters = new Regex(@"[\s—–_]", RegexOptions.Compiled);
+ static readonly Regex InvalidChars = new Regex(@"[^a-z0-9\-]", RegexOptions.Compiled);
+ static readonly Regex MultipleHyphens = new Regex(@"-{2,}", RegexOptions.Compiled);
+
+ public static string ToUrlSlug(this string value)
+ {
+ value = value.ToLowerInvariant();
+
+ value = RemoveDiacritics(value);
+ value = WordDelimiters.Replace(value, "-");
+ value = InvalidChars.Replace(value, "");
+ value = MultipleHyphens.Replace(value, "-");
+
+ return value.Trim('-');
+ }
+
+ private static string RemoveDiacritics(string stIn)
+ {
+ string stFormD = stIn.Normalize(NormalizationForm.FormD);
+ StringBuilder sb = new StringBuilder();
+
+ for (int ich = 0; ich < stFormD.Length; ich++)
+ {
+ UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(stFormD[ich]);
+
+ if (uc != UnicodeCategory.NonSpacingMark)
+ sb.Append(stFormD[ich]);
+ }
+
+ return (sb.ToString().Normalize(NormalizationForm.FormC));
+ }
+
+ public static string SanitizeFilename(this string filename, string replacement = "")
+ {
+ var removeInvalidChars = new Regex($"[{Regex.Escape(new string(Path.GetInvalidFileNameChars()))}]", RegexOptions.Singleline | RegexOptions.Compiled | RegexOptions.CultureInvariant);
+
+ return removeInvalidChars.Replace(filename, replacement);
+ }
+
+ public static string ToPath(this string path)
+ {
+ return Path.Combine(path.Split("/"));
+ }
+ }
+}
diff --git a/LANCommander.Server/Extensions/ZipArchiveExtensions.cs b/LANCommander.Server.Services/Extensions/ZipArchiveExtensions.cs
similarity index 86%
rename from LANCommander.Server/Extensions/ZipArchiveExtensions.cs
rename to LANCommander.Server.Services/Extensions/ZipArchiveExtensions.cs
index 8cc7465e..514f7ef3 100644
--- a/LANCommander.Server/Extensions/ZipArchiveExtensions.cs
+++ b/LANCommander.Server.Services/Extensions/ZipArchiveExtensions.cs
@@ -1,8 +1,6 @@
-using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore.Metadata.Conventions;
-using System.IO.Compression;
+using System.IO.Compression;
-namespace LANCommander.Server.Extensions
+namespace LANCommander.Server.Services.Extensions
{
public static class ZipArchiveExtensions
{
diff --git a/LANCommander.Server/Services/GameSaveService.cs b/LANCommander.Server.Services/GameSaveService.cs
similarity index 89%
rename from LANCommander.Server/Services/GameSaveService.cs
rename to LANCommander.Server.Services/GameSaveService.cs
index 056cfd3b..b8099a88 100644
--- a/LANCommander.Server/Services/GameSaveService.cs
+++ b/LANCommander.Server.Services/GameSaveService.cs
@@ -2,6 +2,7 @@
using LANCommander.Server.Data.Models;
using LANCommander.Helpers;
using LANCommander.Server.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -9,8 +10,7 @@ namespace LANCommander.Server.Services
{
public GameSaveService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
public override Task Delete(GameSave entity)
{
diff --git a/LANCommander.Server/Services/GameService.cs b/LANCommander.Server.Services/GameService.cs
similarity index 96%
rename from LANCommander.Server/Services/GameService.cs
rename to LANCommander.Server.Services/GameService.cs
index 4c0a7e0a..da306a1c 100644
--- a/LANCommander.Server/Services/GameService.cs
+++ b/LANCommander.Server.Services/GameService.cs
@@ -1,16 +1,18 @@
using AutoMapper;
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Extensions;
+using LANCommander.Server.Services.Extensions;
using LANCommander.Server.Models;
using LANCommander.SDK;
using LANCommander.SDK.Enums;
using LANCommander.SDK.Helpers;
-using NuGet.Packaging;
using System.IO;
using System.IO.Compression;
using System.Linq.Expressions;
using ZiggyCreatures.Caching.Fusion;
+using LANCommander.Server.Services.Models;
+using Microsoft.Extensions.Logging;
+using System.Data.SqlClient;
namespace LANCommander.Server.Services
{
@@ -28,7 +30,6 @@ namespace LANCommander.Server.Services
public GameService(
ILogger logger,
DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor,
IMapper mapper,
ArchiveService archiveService,
MediaService mediaService,
@@ -36,7 +37,7 @@ namespace LANCommander.Server.Services
TagService tagService,
CompanyService companyService,
GenreService genreService,
- IFusionCache cache) : base(logger, dbContext, httpContextAccessor)
+ IFusionCache cache) : base(logger, dbContext)
{
Mapper = mapper;
ArchiveService = archiveService;
@@ -295,15 +296,18 @@ namespace LANCommander.Server.Services
game.Actions = new List();
if (manifest.Actions != null && manifest.Actions.Count() > 0)
- game.Actions.AddRange(manifest.Actions.Select(a => new Data.Models.Action()
+ foreach (var action in manifest.Actions)
{
- Name = a.Name,
- Arguments = a.Arguments,
- Path = a.Path,
- WorkingDirectory = a.WorkingDirectory,
- PrimaryAction = a.IsPrimaryAction,
- SortOrder = a.SortOrder,
- }));
+ game.Actions.Add(new Data.Models.Action()
+ {
+ Name = action.Name,
+ Arguments = action.Arguments,
+ Path = action.Path,
+ WorkingDirectory = action.WorkingDirectory,
+ PrimaryAction = action.IsPrimaryAction,
+ SortOrder = action.SortOrder,
+ });
+ }
#endregion
#region Engine
diff --git a/LANCommander.Server/Services/GenreService.cs b/LANCommander.Server.Services/GenreService.cs
similarity index 64%
rename from LANCommander.Server/Services/GenreService.cs
rename to LANCommander.Server.Services/GenreService.cs
index ab4027b4..0cac5a14 100644
--- a/LANCommander.Server/Services/GenreService.cs
+++ b/LANCommander.Server.Services/GenreService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public GenreService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server.Services/Helpers/DirectoryHelpers.cs b/LANCommander.Server.Services/Helpers/DirectoryHelpers.cs
new file mode 100644
index 00000000..d087892d
--- /dev/null
+++ b/LANCommander.Server.Services/Helpers/DirectoryHelpers.cs
@@ -0,0 +1,17 @@
+namespace LANCommander.Helpers
+{
+ public static class DirectoryHelpers
+ {
+ public static void DeleteIfExists(string path, bool recursive = true)
+ {
+ if (Directory.Exists(path))
+ Directory.Delete(path, recursive);
+ }
+
+ public static void CreateIfMissing(string path)
+ {
+ if (!Directory.Exists(path))
+ Directory.CreateDirectory(path);
+ }
+ }
+}
diff --git a/LANCommander.Server.Services/Helpers/FileHelpers.cs b/LANCommander.Server.Services/Helpers/FileHelpers.cs
new file mode 100644
index 00000000..367c259e
--- /dev/null
+++ b/LANCommander.Server.Services/Helpers/FileHelpers.cs
@@ -0,0 +1,11 @@
+namespace LANCommander.Helpers
+{
+ public static class FileHelpers
+ {
+ public static void DeleteIfExists(string path)
+ {
+ if (File.Exists(path))
+ File.Delete(path);
+ }
+ }
+}
diff --git a/LANCommander.Server/Services/IGDBService.cs b/LANCommander.Server.Services/IGDBService.cs
similarity index 98%
rename from LANCommander.Server/Services/IGDBService.cs
rename to LANCommander.Server.Services/IGDBService.cs
index b3e6249e..319294cb 100644
--- a/LANCommander.Server/Services/IGDBService.cs
+++ b/LANCommander.Server.Services/IGDBService.cs
@@ -1,5 +1,6 @@
using IGDB;
using IGDB.Models;
+using Microsoft.Extensions.Logging;
using System.Text;
namespace LANCommander.Server.Services
diff --git a/LANCommander.Server/Services/IMediaGrabberService.cs b/LANCommander.Server.Services/IMediaGrabberService.cs
similarity index 71%
rename from LANCommander.Server/Services/IMediaGrabberService.cs
rename to LANCommander.Server.Services/IMediaGrabberService.cs
index fcea703c..d5ed0115 100644
--- a/LANCommander.Server/Services/IMediaGrabberService.cs
+++ b/LANCommander.Server.Services/IMediaGrabberService.cs
@@ -1,5 +1,5 @@
-using LANCommander.Server.Models;
-using LANCommander.SDK.Enums;
+using LANCommander.SDK.Enums;
+using LANCommander.Server.Services.Models;
namespace LANCommander.Server.Services
{
diff --git a/LANCommander.Server/Services/IPXRelayService.cs b/LANCommander.Server.Services/IPXRelayService.cs
similarity index 95%
rename from LANCommander.Server/Services/IPXRelayService.cs
rename to LANCommander.Server.Services/IPXRelayService.cs
index b2b26aa3..02d12e22 100644
--- a/LANCommander.Server/Services/IPXRelayService.cs
+++ b/LANCommander.Server.Services/IPXRelayService.cs
@@ -1,4 +1,5 @@
using IPXRelayDotNet;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
diff --git a/LANCommander.Server/Services/IssueService.cs b/LANCommander.Server.Services/IssueService.cs
similarity index 53%
rename from LANCommander.Server/Services/IssueService.cs
rename to LANCommander.Server.Services/IssueService.cs
index 4df55031..821c478a 100644
--- a/LANCommander.Server/Services/IssueService.cs
+++ b/LANCommander.Server.Services/IssueService.cs
@@ -1,27 +1,24 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Extensions;
using LANCommander.SDK.Helpers;
using System.IO.Compression;
using System.Security.Cryptography.X509Certificates;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
using Microsoft.AspNetCore.Identity;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
public class IssueService : BaseDatabaseService
{
- private readonly HttpContext HttpContext;
private readonly UserManager UserManager;
public IssueService(
ILogger logger,
DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor,
- UserManager userManager) : base(logger, dbContext, httpContextAccessor)
+ UserManager userManager) : base(logger, dbContext)
{
- HttpContext = httpContextAccessor.HttpContext;
UserManager = userManager;
}
@@ -30,24 +27,9 @@ namespace LANCommander.Server.Services
var issue = await Get(issueId);
issue.ResolvedOn = DateTime.Now;
- issue.ResolvedBy = await GetCurrentUserAsync();
+ // issue.ResolvedBy = await GetCurrentUserAsync();
await Update(issue);
}
-
- private async Task GetCurrentUserAsync()
- {
- if (HttpContext != null && HttpContext.User != null && HttpContext.User.Identity != null && HttpContext.User.Identity.IsAuthenticated)
- {
- var user = await UserManager.FindByNameAsync(HttpContext.User.Identity.Name);
-
- if (user == null)
- return null;
- else
- return user;
- }
- else
- return null;
- }
}
}
diff --git a/LANCommander.Server/Services/KeyService.cs b/LANCommander.Server.Services/KeyService.cs
similarity index 89%
rename from LANCommander.Server/Services/KeyService.cs
rename to LANCommander.Server.Services/KeyService.cs
index 1bc8f685..35edce31 100644
--- a/LANCommander.Server/Services/KeyService.cs
+++ b/LANCommander.Server.Services/KeyService.cs
@@ -1,15 +1,15 @@
using LANCommander.SDK.Enums;
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
public class KeyService : BaseDatabaseService
{
public KeyService(
- ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ ILogger logger,
+ DatabaseContext dbContext) : base(logger, dbContext) { }
public async Task Allocate(Key key, User user)
{
diff --git a/LANCommander.Server.Services/LANCommander.Server.Services.csproj b/LANCommander.Server.Services/LANCommander.Server.Services.csproj
new file mode 100644
index 00000000..ffb225d1
--- /dev/null
+++ b/LANCommander.Server.Services/LANCommander.Server.Services.csproj
@@ -0,0 +1,32 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LANCommander.Server/Services/MediaGrabbers/SteamGridDBMediaGrabber.cs b/LANCommander.Server.Services/MediaGrabbers/SteamGridDBMediaGrabber.cs
similarity index 99%
rename from LANCommander.Server/Services/MediaGrabbers/SteamGridDBMediaGrabber.cs
rename to LANCommander.Server.Services/MediaGrabbers/SteamGridDBMediaGrabber.cs
index 8c877959..b8c54ff2 100644
--- a/LANCommander.Server/Services/MediaGrabbers/SteamGridDBMediaGrabber.cs
+++ b/LANCommander.Server.Services/MediaGrabbers/SteamGridDBMediaGrabber.cs
@@ -3,6 +3,7 @@ using LANCommander.Server.Models;
using LANCommander.SDK.Enums;
using LANCommander.Steam;
using System.Net.Mime;
+using LANCommander.Server.Services.Models;
namespace LANCommander.Server.Services.MediaGrabbers
{
diff --git a/LANCommander.Server/Services/MediaService.cs b/LANCommander.Server.Services/MediaService.cs
similarity index 91%
rename from LANCommander.Server/Services/MediaService.cs
rename to LANCommander.Server.Services/MediaService.cs
index 5332a438..677a0430 100644
--- a/LANCommander.Server/Services/MediaService.cs
+++ b/LANCommander.Server.Services/MediaService.cs
@@ -2,10 +2,9 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
using LANCommander.Helpers;
-using LANCommander.Server.Models;
-using Microsoft.AspNetCore.Components.Forms;
using Syncfusion.PdfToImageConverter;
using System.Net.Mime;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -13,8 +12,7 @@ namespace LANCommander.Server.Services
{
public MediaService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
public override Task Delete(Media entity)
{
@@ -51,10 +49,11 @@ namespace LANCommander.Server.Services
return Path.Combine(settings.Media.StoragePath, entity.FileId.ToString());
}
- public async Task UploadMediaAsync(IBrowserFile file, Media media)
+ /*public async Task UploadMediaAsync(Stream stream, Media media)
{
- return await UploadMediaAsync(file.OpenReadStream(maxAllowedSize: Settings.Media.MaxSize * 1024 * 1024), media);
- }
+ return await UploadMediaAsync(stream, media);
+ // return await UploadMediaAsync(file.OpenReadStream(maxAllowedSize: Settings.Media.MaxSize * 1024 * 1024), media);
+ }*/
public async Task UploadMediaAsync(Stream stream, Media media)
{
diff --git a/LANCommander.Server/Models/ExistingEntityResult.cs b/LANCommander.Server.Services/Models/ExistingEntityResult.cs
similarity index 81%
rename from LANCommander.Server/Models/ExistingEntityResult.cs
rename to LANCommander.Server.Services/Models/ExistingEntityResult.cs
index 6e654d6f..40f0a075 100644
--- a/LANCommander.Server/Models/ExistingEntityResult.cs
+++ b/LANCommander.Server.Services/Models/ExistingEntityResult.cs
@@ -1,6 +1,6 @@
using LANCommander.Server.Data.Models;
-namespace LANCommander.Server.Models
+namespace LANCommander.Server.Services.Models
{
public class ExistingEntityResult where T : BaseModel
{
diff --git a/LANCommander.Server/Models/GameLookupResult.cs b/LANCommander.Server.Services/Models/GameLookupResult.cs
similarity index 83%
rename from LANCommander.Server/Models/GameLookupResult.cs
rename to LANCommander.Server.Services/Models/GameLookupResult.cs
index d6c2ffbc..fee36ee9 100644
--- a/LANCommander.Server/Models/GameLookupResult.cs
+++ b/LANCommander.Server.Services/Models/GameLookupResult.cs
@@ -1,6 +1,6 @@
using LANCommander.Server.Data.Models;
-namespace LANCommander.Server.Models
+namespace LANCommander.Server.Services.Models
{
public class GameLookupResult
{
diff --git a/LANCommander.Server/Models/MediaGrabberOptions.cs b/LANCommander.Server.Services/Models/MediaGrabberOptions.cs
similarity index 79%
rename from LANCommander.Server/Models/MediaGrabberOptions.cs
rename to LANCommander.Server.Services/Models/MediaGrabberOptions.cs
index 6cbff507..07f60acc 100644
--- a/LANCommander.Server/Models/MediaGrabberOptions.cs
+++ b/LANCommander.Server.Services/Models/MediaGrabberOptions.cs
@@ -1,6 +1,6 @@
using LANCommander.SDK.Enums;
-namespace LANCommander.Server.Models
+namespace LANCommander.Server.Services.Models
{
public class MediaGrabberOptions
{
diff --git a/LANCommander.Server/Models/MediaGrabberResult.cs b/LANCommander.Server.Services/Models/MediaGrabberResult.cs
similarity index 88%
rename from LANCommander.Server/Models/MediaGrabberResult.cs
rename to LANCommander.Server.Services/Models/MediaGrabberResult.cs
index 41ceb294..9d89fd3f 100644
--- a/LANCommander.Server/Models/MediaGrabberResult.cs
+++ b/LANCommander.Server.Services/Models/MediaGrabberResult.cs
@@ -1,6 +1,6 @@
using LANCommander.SDK.Enums;
-namespace LANCommander.Server.Models
+namespace LANCommander.Server.Services.Models
{
public class MediaGrabberResult
{
diff --git a/LANCommander.Server/Models/Settings.cs b/LANCommander.Server.Services/Models/Settings.cs
similarity index 94%
rename from LANCommander.Server/Models/Settings.cs
rename to LANCommander.Server.Services/Models/Settings.cs
index a0ff80f3..3d781a7c 100644
--- a/LANCommander.Server/Models/Settings.cs
+++ b/LANCommander.Server.Services/Models/Settings.cs
@@ -1,6 +1,4 @@
-using Serilog;
-
-namespace LANCommander.Server.Models
+namespace LANCommander.Server.Models
{
public enum LANCommanderTheme
{
@@ -8,6 +6,16 @@ namespace LANCommander.Server.Models
Dark
}
+ public enum LogInterval
+ {
+ Infinite,
+ Year,
+ Month,
+ Day,
+ Hour,
+ Minute
+ }
+
public class LANCommanderSettings
{
public int Port { get; set; } = 1337;
@@ -112,7 +120,7 @@ namespace LANCommander.Server.Models
public class LANCommanderLogSettings
{
public string StoragePath { get; set; } = "Logs";
- public RollingInterval ArchiveEvery { get; set; } = RollingInterval.Day;
+ public LogInterval ArchiveEvery { get; set; } = LogInterval.Day;
public int MaxArchiveFiles { get; set; } = 10;
}
}
diff --git a/LANCommander.Server/Models/Snippet.cs b/LANCommander.Server.Services/Models/Snippet.cs
similarity index 100%
rename from LANCommander.Server/Models/Snippet.cs
rename to LANCommander.Server.Services/Models/Snippet.cs
diff --git a/LANCommander.Server/Services/PageService.cs b/LANCommander.Server.Services/PageService.cs
similarity index 95%
rename from LANCommander.Server/Services/PageService.cs
rename to LANCommander.Server.Services/PageService.cs
index 4d03c027..4c8f17b3 100644
--- a/LANCommander.Server/Services/PageService.cs
+++ b/LANCommander.Server.Services/PageService.cs
@@ -1,8 +1,9 @@
using JetBrains.Annotations;
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Extensions;
+using LANCommander.Server.Services.Extensions;
using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.Logging;
using System.Text;
using YamlDotNet.Core.Tokens;
using ZiggyCreatures.Caching.Fusion;
@@ -16,8 +17,7 @@ namespace LANCommander.Server.Services
public PageService(
ILogger logger,
DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor,
- IFusionCache cache) : base(logger, dbContext, httpContextAccessor)
+ IFusionCache cache) : base(logger, dbContext)
{
Cache = cache;
}
diff --git a/LANCommander.Server/Services/PlatformService.cs b/LANCommander.Server.Services/PlatformService.cs
similarity index 65%
rename from LANCommander.Server/Services/PlatformService.cs
rename to LANCommander.Server.Services/PlatformService.cs
index 25213341..32f03165 100644
--- a/LANCommander.Server/Services/PlatformService.cs
+++ b/LANCommander.Server.Services/PlatformService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public PlatformService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server/Services/PlaySessionService.cs b/LANCommander.Server.Services/PlaySessionService.cs
similarity index 96%
rename from LANCommander.Server/Services/PlaySessionService.cs
rename to LANCommander.Server.Services/PlaySessionService.cs
index 0c2f57d7..78107047 100644
--- a/LANCommander.Server/Services/PlaySessionService.cs
+++ b/LANCommander.Server.Services/PlaySessionService.cs
@@ -4,6 +4,7 @@ using LANCommander.Helpers;
using LANCommander.Server.Models;
using Microsoft.EntityFrameworkCore;
using LANCommander.SDK.Enums;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -15,9 +16,8 @@ namespace LANCommander.Server.Services
public PlaySessionService(
ILogger logger,
DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor,
ServerService serverService,
- ServerProcessService serverProcessService) : base(logger, dbContext, httpContextAccessor)
+ ServerProcessService serverProcessService) : base(logger, dbContext)
{
ServerService = serverService;
ServerProcessService = serverProcessService;
diff --git a/LANCommander.Server/Services/RedistributableService.cs b/LANCommander.Server.Services/RedistributableService.cs
similarity index 96%
rename from LANCommander.Server/Services/RedistributableService.cs
rename to LANCommander.Server.Services/RedistributableService.cs
index 6d8c3918..790edca5 100644
--- a/LANCommander.Server/Services/RedistributableService.cs
+++ b/LANCommander.Server.Services/RedistributableService.cs
@@ -1,12 +1,13 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Extensions;
+using LANCommander.Server.Services.Extensions;
using LANCommander.SDK.Helpers;
using System.IO.Compression;
using System.Security.Cryptography.X509Certificates;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
using LANCommander.SDK.Enums;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -14,8 +15,7 @@ namespace LANCommander.Server.Services
{
public RedistributableService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
public async Task Import(Guid objectKey)
{
diff --git a/LANCommander.Server/Services/SavePathService.cs b/LANCommander.Server.Services/SavePathService.cs
similarity index 60%
rename from LANCommander.Server/Services/SavePathService.cs
rename to LANCommander.Server.Services/SavePathService.cs
index 10e1573e..1111b9de 100644
--- a/LANCommander.Server/Services/SavePathService.cs
+++ b/LANCommander.Server.Services/SavePathService.cs
@@ -1,6 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -8,7 +8,6 @@ namespace LANCommander.Server.Services
{
public SavePathService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server/Services/ScriptService.cs b/LANCommander.Server.Services/ScriptService.cs
similarity index 86%
rename from LANCommander.Server/Services/ScriptService.cs
rename to LANCommander.Server.Services/ScriptService.cs
index b9acf2e4..f2cc4d7d 100644
--- a/LANCommander.Server/Services/ScriptService.cs
+++ b/LANCommander.Server.Services/ScriptService.cs
@@ -1,6 +1,7 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
using LANCommander.Server.Models;
+using Microsoft.Extensions.Logging;
using System.Security.Cryptography.X509Certificates;
namespace LANCommander.Server.Services
@@ -9,8 +10,7 @@ namespace LANCommander.Server.Services
{
public ScriptService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
public static IEnumerable GetSnippets()
{
diff --git a/LANCommander.Server/Services/ServerLogService.cs b/LANCommander.Server.Services/ServerLogService.cs
similarity index 83%
rename from LANCommander.Server/Services/ServerLogService.cs
rename to LANCommander.Server.Services/ServerLogService.cs
index c5d91556..73430fc6 100644
--- a/LANCommander.Server/Services/ServerLogService.cs
+++ b/LANCommander.Server.Services/ServerLogService.cs
@@ -2,6 +2,7 @@
using LANCommander.SDK.Enums;
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
using System.Diagnostics;
using System.Net;
@@ -11,8 +12,7 @@ namespace LANCommander.Server.Services
{
public ServerConsoleService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
public async Task ReadLog(Guid logId)
{
diff --git a/LANCommander.Server/Services/ServerProcessService.cs b/LANCommander.Server.Services/ServerProcessService.cs
similarity index 96%
rename from LANCommander.Server/Services/ServerProcessService.cs
rename to LANCommander.Server.Services/ServerProcessService.cs
index 252240dd..708d5b61 100644
--- a/LANCommander.Server/Services/ServerProcessService.cs
+++ b/LANCommander.Server.Services/ServerProcessService.cs
@@ -1,14 +1,14 @@
using AutoMapper;
using CoreRCON;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Hubs;
using LANCommander.SDK.Enums;
using LANCommander.SDK.PowerShell;
-using Microsoft.AspNetCore.SignalR;
using Microsoft.EntityFrameworkCore;
using System.Diagnostics;
using System.Net;
using LANCommander.SDK;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.DependencyInjection;
namespace LANCommander.Server.Services
{
@@ -58,7 +58,7 @@ namespace LANCommander.Server.Services
private FileStream FileStream;
private FileSystemWatcher FileSystemWatcher;
- public LogFileMonitor(Data.Models.Server server, ServerConsole serverConsole, IHubContext hubContext)
+ public LogFileMonitor(Data.Models.Server server, ServerConsole serverConsole)
{
var logPath = Path.Combine(server.WorkingDirectory, serverConsole.Path);
@@ -95,7 +95,7 @@ namespace LANCommander.Server.Services
while ((line = sr.ReadLine()) != null)
{
- hubContext.Clients.All.SendAsync("Log", serverConsole.ServerId, line);
+ // hubContext.Clients.All.SendAsync("Log", serverConsole.ServerId, line);
//OnLog?.Invoke(this, new ServerLogEventArgs(line, log));
}
@@ -145,19 +145,16 @@ namespace LANCommander.Server.Services
public event OnStatusUpdateHandler OnStatusUpdate;
private readonly IMapper Mapper;
- private readonly IHubContext HubContext;
private readonly IServiceProvider ServiceProvider;
private readonly SDK.Client Client;
public ServerProcessService(
ILogger logger,
IMapper mapper,
- IHubContext hubContext,
IServiceProvider serviceProvider,
SDK.Client client) : base(logger)
{
Mapper = mapper;
- HubContext = hubContext;
ServiceProvider = serviceProvider;
Client = client;
}
@@ -220,13 +217,11 @@ namespace LANCommander.Server.Services
process.OutputDataReceived += new DataReceivedEventHandler((sender, e) =>
{
- HubContext.Clients.All.SendAsync("Log", e.Data);
Logger?.LogInformation("Game Server {ServerName} ({ServerId}) Info: {Message}", server.Name, server.Id, e.Data);
});
process.ErrorDataReceived += new DataReceivedEventHandler((sender, e) =>
{
- HubContext.Clients.All.SendAsync("Log", e.Data);
Logger?.LogError("Game Server {ServerName} ({ServerId}) Error: {Message}", server.Name, server.Id, e.Data);
});
}
@@ -356,7 +351,7 @@ namespace LANCommander.Server.Services
{
if (!LogFileMonitors.ContainsKey(server.Id))
{
- LogFileMonitors[server.Id] = new LogFileMonitor(server, log, HubContext);
+ LogFileMonitors[server.Id] = new LogFileMonitor(server, log);
}
}
diff --git a/LANCommander.Server/Services/ServerService.cs b/LANCommander.Server.Services/ServerService.cs
similarity index 98%
rename from LANCommander.Server/Services/ServerService.cs
rename to LANCommander.Server.Services/ServerService.cs
index f21411be..9b097147 100644
--- a/LANCommander.Server/Services/ServerService.cs
+++ b/LANCommander.Server.Services/ServerService.cs
@@ -1,10 +1,11 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
-using LANCommander.Server.Extensions;
using LANCommander.SDK.Helpers;
using System.Diagnostics;
using System.IO.Compression;
using LANCommander.SDK.Enums;
+using Microsoft.Extensions.Logging;
+using LANCommander.Server.Services.Extensions;
namespace LANCommander.Server.Services
{
@@ -15,8 +16,7 @@ namespace LANCommander.Server.Services
public ServerService(
ILogger logger,
DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor,
- GameService gameService) : base(logger, dbContext, httpContextAccessor)
+ GameService gameService) : base(logger, dbContext)
{
GameService = gameService;
}
diff --git a/LANCommander.Server/Services/SettingService.cs b/LANCommander.Server.Services/SettingService.cs
similarity index 100%
rename from LANCommander.Server/Services/SettingService.cs
rename to LANCommander.Server.Services/SettingService.cs
diff --git a/LANCommander.Server/Services/TagService.cs b/LANCommander.Server.Services/TagService.cs
similarity index 63%
rename from LANCommander.Server/Services/TagService.cs
rename to LANCommander.Server.Services/TagService.cs
index 9a214589..f62d422b 100644
--- a/LANCommander.Server/Services/TagService.cs
+++ b/LANCommander.Server.Services/TagService.cs
@@ -1,5 +1,6 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -7,7 +8,6 @@ namespace LANCommander.Server.Services
{
public TagService(
ILogger logger,
- DatabaseContext dbContext,
- IHttpContextAccessor httpContextAccessor) : base(logger, dbContext, httpContextAccessor) { }
+ DatabaseContext dbContext) : base(logger, dbContext) { }
}
}
diff --git a/LANCommander.Server/Services/UpdateService.cs b/LANCommander.Server.Services/UpdateService.cs
similarity index 98%
rename from LANCommander.Server/Services/UpdateService.cs
rename to LANCommander.Server.Services/UpdateService.cs
index 52fdfcf8..4025c033 100644
--- a/LANCommander.Server/Services/UpdateService.cs
+++ b/LANCommander.Server.Services/UpdateService.cs
@@ -1,4 +1,6 @@
using LANCommander.Server.Models;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
using Octokit;
using Semver;
using System;
diff --git a/LANCommander.Server/Services/UserService.cs b/LANCommander.Server.Services/UserService.cs
similarity index 91%
rename from LANCommander.Server/Services/UserService.cs
rename to LANCommander.Server.Services/UserService.cs
index 16873b02..04e754bc 100644
--- a/LANCommander.Server/Services/UserService.cs
+++ b/LANCommander.Server.Services/UserService.cs
@@ -1,6 +1,7 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
using Microsoft.AspNetCore.Identity;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
@@ -8,17 +9,14 @@ namespace LANCommander.Server.Services
{
private readonly DatabaseContext DatabaseContext;
private readonly UserManager UserManager;
- private readonly HttpContext HttpContext;
public UserService(
ILogger logger,
DatabaseContext databaseContext,
- IHttpContextAccessor httpContextAccessor,
UserManager userManager) : base(logger)
{
DatabaseContext = databaseContext;
UserManager = userManager;
- HttpContext = httpContextAccessor.HttpContext;
}
public async Task Get(Guid id)
@@ -33,7 +31,7 @@ namespace LANCommander.Server.Services
public async Task GetCustomField(Guid userId, string name)
{
- using (var repo = new Repository(DatabaseContext, HttpContext))
+ using (var repo = new Repository(DatabaseContext))
{
return repo.FirstOrDefault(cf => cf.UserId == userId && cf.Name == name);
}
@@ -47,7 +45,7 @@ namespace LANCommander.Server.Services
if (value.Length > 1024)
throw new ArgumentException("Field value must be 1024 characters or less");
- using (var repo = new Repository(DatabaseContext, HttpContext))
+ using (var repo = new Repository(DatabaseContext))
{
var existing = repo.FirstOrDefault(cf => cf.UserId == userId && cf.Name == name);
@@ -81,7 +79,7 @@ namespace LANCommander.Server.Services
public async Task DeleteCustomField(Guid userId, string name)
{
- using (var repo = new Repository(DatabaseContext, HttpContext))
+ using (var repo = new Repository(DatabaseContext))
{
var existing = repo.FirstOrDefault(cf => cf.UserId == userId && cf.Name == name);
@@ -92,7 +90,7 @@ namespace LANCommander.Server.Services
public async Task DeleteCustomField(Guid userId, Guid id)
{
- using (var repo = new Repository(DatabaseContext, HttpContext))
+ using (var repo = new Repository(DatabaseContext))
{
var existing = repo.FirstOrDefault(cf => cf.UserId == userId && cf.Id == id);
diff --git a/LANCommander.Server/Services/_BaseDatabaseService.cs b/LANCommander.Server.Services/_BaseDatabaseService.cs
similarity index 82%
rename from LANCommander.Server/Services/_BaseDatabaseService.cs
rename to LANCommander.Server.Services/_BaseDatabaseService.cs
index 2bab67eb..e7620b88 100644
--- a/LANCommander.Server/Services/_BaseDatabaseService.cs
+++ b/LANCommander.Server.Services/_BaseDatabaseService.cs
@@ -1,7 +1,9 @@
using LANCommander.Server.Data;
using LANCommander.Server.Data.Models;
using LANCommander.Server.Models;
+using LANCommander.Server.Services.Models;
using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.Logging;
using System.Linq.Expressions;
namespace LANCommander.Server.Services
@@ -9,12 +11,10 @@ namespace LANCommander.Server.Services
public abstract class BaseDatabaseService : BaseService where T : BaseModel
{
public DatabaseContext Context { get; set; }
- public HttpContext HttpContext { get; set; }
- public BaseDatabaseService(ILogger logger, DatabaseContext dbContext, IHttpContextAccessor httpContextAccessor) : base(logger)
+ public BaseDatabaseService(ILogger logger, DatabaseContext dbContext) : base(logger)
{
Context = dbContext;
- HttpContext = httpContextAccessor.HttpContext;
}
public virtual async Task> Get()
@@ -24,7 +24,7 @@ namespace LANCommander.Server.Services
public virtual async Task Get(Guid id)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
return await repo.Find(id);
}
@@ -32,7 +32,7 @@ namespace LANCommander.Server.Services
public virtual IQueryable Get(Expression> predicate)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
return repo.Get(predicate);
}
@@ -45,7 +45,7 @@ namespace LANCommander.Server.Services
public virtual async Task Add(T entity)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
entity = await repo.Add(entity);
await repo.SaveChanges();
@@ -62,7 +62,7 @@ namespace LANCommander.Server.Services
/// Newly created or existing entity
public virtual async Task> AddMissing(Expression> predicate, T entity)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
var existing = repo.Get(predicate).FirstOrDefault();
@@ -91,7 +91,7 @@ namespace LANCommander.Server.Services
public virtual async Task Update(T entity)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
var existing = await repo.Find(entity.Id);
@@ -106,7 +106,7 @@ namespace LANCommander.Server.Services
public virtual async Task Delete(T entity)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
repo.Delete(entity);
await repo.SaveChanges();
diff --git a/LANCommander.Server/Services/_BaseService.cs b/LANCommander.Server.Services/_BaseService.cs
similarity index 91%
rename from LANCommander.Server/Services/_BaseService.cs
rename to LANCommander.Server.Services/_BaseService.cs
index 3ee8dcde..b2652dcc 100644
--- a/LANCommander.Server/Services/_BaseService.cs
+++ b/LANCommander.Server.Services/_BaseService.cs
@@ -1,4 +1,5 @@
using LANCommander.Server.Models;
+using Microsoft.Extensions.Logging;
namespace LANCommander.Server.Services
{
diff --git a/LANCommander.Server/Controllers/Api/ArchivesController.cs b/LANCommander.Server/Controllers/Api/ArchivesController.cs
index 78a36ca5..0e2a9234 100644
--- a/LANCommander.Server/Controllers/Api/ArchivesController.cs
+++ b/LANCommander.Server/Controllers/Api/ArchivesController.cs
@@ -26,7 +26,7 @@ namespace LANCommander.Server.Controllers.Api
[HttpGet]
public async Task>> Get()
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
return Ok(await repo.Get(a => true).ToListAsync());
}
@@ -35,7 +35,7 @@ namespace LANCommander.Server.Controllers.Api
[HttpGet("{id}")]
public async Task> Get(Guid id)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
var archive = await repo.Find(id);
@@ -49,7 +49,7 @@ namespace LANCommander.Server.Controllers.Api
[HttpGet("Download/{id}")]
public async Task Download(Guid id)
{
- using (var repo = new Repository(Context, HttpContext))
+ using (var repo = new Repository(Context))
{
var archive = await repo.Find(id);
diff --git a/LANCommander.Server/Extensions/GameSaveExtensions.cs b/LANCommander.Server/Extensions/GameSaveExtensions.cs
new file mode 100644
index 00000000..9a8977c6
--- /dev/null
+++ b/LANCommander.Server/Extensions/GameSaveExtensions.cs
@@ -0,0 +1,22 @@
+using LANCommander.Server.Services;
+using Steamworks.Data;
+
+namespace LANCommander.Server.Extensions
+{
+ public static class GameSaveExtensions
+ {
+ public static string GetUploadPath(this Data.Models.GameSave gameSave)
+ {
+ var settings = SettingService.GetSettings();
+
+ return Path.Combine(settings.UserSaves.StoragePath, gameSave.UserId.ToString(), gameSave.GameId.ToString(), gameSave.Id.ToString());
+ }
+
+ public static string GetGameSaveUploadPath(this Data.Models.User user)
+ {
+ var settings = SettingService.GetSettings();
+
+ return Path.Combine(settings.UserSaves.StoragePath, user.Id.ToString());
+ }
+ }
+}
diff --git a/LANCommander.Server/Extensions/HttpContextExtensions.cs b/LANCommander.Server/Extensions/HttpContextExtensions.cs
new file mode 100644
index 00000000..0d63e8b8
--- /dev/null
+++ b/LANCommander.Server/Extensions/HttpContextExtensions.cs
@@ -0,0 +1,27 @@
+using Microsoft.AspNetCore.Authentication;
+
+namespace LANCommander.Server.Extensions
+{
+ public static class HttpContextExtensions
+ {
+ public static async Task GetExternalProvidersAsync(this HttpContext context)
+ {
+ ArgumentNullException.ThrowIfNull(context);
+
+ var schemes = context.RequestServices.GetRequiredService();
+
+ return (from scheme in await schemes.GetAllSchemesAsync()
+ where !string.IsNullOrEmpty(scheme.DisplayName)
+ select scheme).ToArray();
+ }
+
+ public static async Task IsProviderSupportedAsync(this HttpContext context, string provider)
+ {
+ ArgumentNullException.ThrowIfNull(context);
+
+ return (from scheme in await context.GetExternalProvidersAsync()
+ where string.Equals(scheme.Name, provider, StringComparison.OrdinalIgnoreCase)
+ select scheme).Any();
+ }
+ }
+}
diff --git a/LANCommander.Server/Extensions/StringExtensions.cs b/LANCommander.Server/Extensions/StringExtensions.cs
index 726d2397..9f73d680 100644
--- a/LANCommander.Server/Extensions/StringExtensions.cs
+++ b/LANCommander.Server/Extensions/StringExtensions.cs
@@ -10,18 +10,6 @@ namespace LANCommander.Server.Extensions
static readonly Regex InvalidChars = new Regex(@"[^a-z0-9\-]", RegexOptions.Compiled);
static readonly Regex MultipleHyphens = new Regex(@"-{2,}", RegexOptions.Compiled);
- public static string ToUrlSlug(this string value)
- {
- value = value.ToLowerInvariant();
-
- value = RemoveDiacritics(value);
- value = WordDelimiters.Replace(value, "-");
- value = InvalidChars.Replace(value, "");
- value = MultipleHyphens.Replace(value, "-");
-
- return value.Trim('-');
- }
-
private static string RemoveDiacritics(string stIn)
{
string stFormD = stIn.Normalize(NormalizationForm.FormD);
diff --git a/LANCommander.Server/LANCommander.Server.csproj b/LANCommander.Server/LANCommander.Server.csproj
index 6d6ca973..c30b773d 100644
--- a/LANCommander.Server/LANCommander.Server.csproj
+++ b/LANCommander.Server/LANCommander.Server.csproj
@@ -69,7 +69,6 @@
-
@@ -111,12 +110,15 @@
-
-
+
+
+
+
+
diff --git a/LANCommander.Server/Program.cs b/LANCommander.Server/Program.cs
index 70ee8161..5cb6ba22 100644
--- a/LANCommander.Server/Program.cs
+++ b/LANCommander.Server/Program.cs
@@ -46,7 +46,7 @@ namespace LANCommander.Server
builder.Services.AddSerilogHub();
builder.Services.AddSerilog((serviceProvider, config) => config
.WriteTo.Console()
- .WriteTo.File(Path.Combine(settings.Logs.StoragePath, "log-.txt"), rollingInterval: settings.Logs.ArchiveEvery)
+ .WriteTo.File(Path.Combine(settings.Logs.StoragePath, "log-.txt"), rollingInterval: (RollingInterval)(int)settings.Logs.ArchiveEvery)
.WriteTo.SignalR(
serviceProvider,
(context, message, logEvent) => LoggingHub.Log(context, message, logEvent)
diff --git a/LANCommander.Server/UI/Components/AvatarUploader.razor b/LANCommander.Server/UI/Components/AvatarUploader.razor
index 7edd055f..cbe444d0 100644
--- a/LANCommander.Server/UI/Components/AvatarUploader.razor
+++ b/LANCommander.Server/UI/Components/AvatarUploader.razor
@@ -1,4 +1,5 @@
-@inject UserService UserService
+@using LANCommander.Server.Models
+@inject UserService UserService
@inject MediaService MediaService
@inject IMessageService MessageService
@@ -26,6 +27,8 @@
[Parameter] public Guid UserId { get; set; }
[Parameter] public string Width { get; set; } = "104px";
+ LANCommanderSettings Settings = SettingService.GetSettings();
+
string AvatarUrl;
User User = new User();
@@ -81,14 +84,14 @@
if (media.Id == Guid.Empty)
{
- media = await MediaService.UploadMediaAsync(e.File, media);
+ media = await MediaService.UploadMediaAsync(e.File.OpenReadStream(maxAllowedSize: Settings.Media.MaxSize * 1024 * 1024), media);
await MediaService.Add(media);
}
else
{
MediaService.DeleteLocalMediaFile(media.FileId);
- media = await MediaService.UploadMediaAsync(e.File, media);
+ media = await MediaService.UploadMediaAsync(e.File.OpenReadStream(maxAllowedSize: Settings.Media.MaxSize * 1024 * 1024), media);
await MediaService.Update(media);
}
diff --git a/LANCommander.Server/UI/Components/MediaGrabberDialog.razor b/LANCommander.Server/UI/Components/MediaGrabberDialog.razor
index becc2594..1ecfa4fd 100644
--- a/LANCommander.Server/UI/Components/MediaGrabberDialog.razor
+++ b/LANCommander.Server/UI/Components/MediaGrabberDialog.razor
@@ -1,6 +1,7 @@
@inherits FeedbackComponent
@using LANCommander.Server.Models;
@using LANCommander.SDK.Enums
+@using LANCommander.Server.Services.Models
@inject IMediaGrabberService MediaGrabberService
@inject IMessageService MessageService
@inject ILogger Logger
diff --git a/LANCommander.Server/UI/Pages/Games/Components/GameMetadataLookup.razor b/LANCommander.Server/UI/Pages/Games/Components/GameMetadataLookup.razor
index f5d983be..208d21a9 100644
--- a/LANCommander.Server/UI/Pages/Games/Components/GameMetadataLookup.razor
+++ b/LANCommander.Server/UI/Pages/Games/Components/GameMetadataLookup.razor
@@ -2,6 +2,7 @@
@using LANCommander.Server.Models
@using LANCommander.PCGamingWiki
@using LANCommander.SDK.Enums
+@using LANCommander.Server.Services.Models
@inject IGDBService IGDBService
@inject CompanyService CompanyService
@inject GenreService GenreService
diff --git a/LANCommander.Server/UI/Pages/Games/Components/MediaEditor.razor b/LANCommander.Server/UI/Pages/Games/Components/MediaEditor.razor
index 08631b58..a13eb940 100644
--- a/LANCommander.Server/UI/Pages/Games/Components/MediaEditor.razor
+++ b/LANCommander.Server/UI/Pages/Games/Components/MediaEditor.razor
@@ -1,6 +1,7 @@
@using LANCommander.Server.Models;
@using LANCommander.SDK.Enums
@using System.Net.Mime
+@using LANCommander.Server.Services.Models
@inject MediaService MediaService
@inject ModalService ModalService
@inject IMessageService MessageService
@@ -215,14 +216,14 @@
if (media.Id == Guid.Empty)
{
- media = await MediaService.UploadMediaAsync(e.File, media);
+ media = await MediaService.UploadMediaAsync(e.File.OpenReadStream(maxAllowedSize: Settings.Media.MaxSize * 1024 * 1024), media);
await MediaService.Add(media);
}
else
{
MediaService.DeleteLocalMediaFile(media.FileId);
- media = await MediaService.UploadMediaAsync(e.File, media);
+ media = await MediaService.UploadMediaAsync(e.File.OpenReadStream(maxAllowedSize: Settings.Media.MaxSize * 1024 * 1024), media);
await MediaService.Update(media);
}
diff --git a/LANCommander.Server/UI/Pages/Games/Edit.razor b/LANCommander.Server/UI/Pages/Games/Edit.razor
index 8b5176d7..135dd824 100644
--- a/LANCommander.Server/UI/Pages/Games/Edit.razor
+++ b/LANCommander.Server/UI/Pages/Games/Edit.razor
@@ -3,6 +3,7 @@
@page "/Games/Add"
@using LANCommander.SDK.Enums
@using LANCommander.Server.Extensions
+@using LANCommander.Server.Services.Models
@using LANCommander.Server.UI.Pages.Games.Components;
@using LANCommander.Server.Models;
@using System.IO.Compression;
diff --git a/LANCommander.Server/UI/Pages/Pages/Components/SlugEditorInput.razor b/LANCommander.Server/UI/Pages/Pages/Components/SlugEditorInput.razor
index 4d4cad7d..ceb80a2f 100644
--- a/LANCommander.Server/UI/Pages/Pages/Components/SlugEditorInput.razor
+++ b/LANCommander.Server/UI/Pages/Pages/Components/SlugEditorInput.razor
@@ -1,4 +1,4 @@
-@using LANCommander.Server.Extensions
+@using LANCommander.Server.Services.Extensions
@inject PageService PageService
diff --git a/LANCommander.Server/UI/Pages/Pages/Edit.razor b/LANCommander.Server/UI/Pages/Pages/Edit.razor
index 75d8da59..da12bdc3 100644
--- a/LANCommander.Server/UI/Pages/Pages/Edit.razor
+++ b/LANCommander.Server/UI/Pages/Pages/Edit.razor
@@ -1,6 +1,7 @@
@page "/Pages/Edit"
@page "/Pages/Edit/{id:guid}"
@using LANCommander.Server.UI.Pages.Pages.Components
+@using LANCommander.Server.Services.Extensions
@using Microsoft.EntityFrameworkCore
@using PSC.Blazor.Components.MarkdownEditor
@using System.Text.RegularExpressions
diff --git a/LANCommander.Server/UI/Pages/Settings/Logs/Index.razor b/LANCommander.Server/UI/Pages/Settings/Logs/Index.razor
index 16ba5d74..78c3f6aa 100644
--- a/LANCommander.Server/UI/Pages/Settings/Logs/Index.razor
+++ b/LANCommander.Server/UI/Pages/Settings/Logs/Index.razor
@@ -16,7 +16,7 @@
-