Commit graph

147 commits

Author SHA1 Message Date
Pat Hartl
de38e609a5 Add remote LANCommander server installs as viable server engine 2026-03-08 13:49:30 -05:00
Pat Hartl
93fc5e4c65 Remove old export endpoint 2026-01-25 17:33:56 -06:00
Pat Hartl
acf66a330a Remove old export endpoints 2026-01-25 17:33:24 -06:00
Pat Hartl
ab28a61cfd Port other controllers to endpoints 2025-11-21 01:28:37 -06:00
Pat Hartl
47d78f66d9 Add basic routes for issues, move to minimal API, resolve using user ID 2025-11-21 00:25:59 -06:00
Pat Hartl
cf16d7619f Move game endpoints to minimal API, fix archive upload compressed size calculation 2025-11-20 22:04:20 -06:00
Pat Hartl
772dd03537 Rename to ArchiveService 2025-11-17 22:09:03 -06:00
Pat Hartl
add770b227 Refactor Settings
Settings for the server are now combined with the settings from the SDK. This introduces a large breaking change and a migration should be created. This refactor utilizes .NET Configuration and the Options pattern. This will allow for the overriding of any setting using envionment variables. It also means that Settings.yml can be used to override any .NET configuration. A SettingsProvider implementation was created, and any updating of settings was changed from SettingsService.SaveSettings() to SettingsProvider.Update(s => { ... })
2025-11-16 12:31:25 -06:00
Pat Hartl
cf0ccc3b70 Load additional data for populating depot results 2025-11-07 19:24:04 -06:00
Pat Hartl
ac223c6959 Move auth routes to endpoints, change OIDC response mode to query, fix link w/o antiforgery 2025-10-21 02:41:00 -05:00
Pat Hartl
b1e5034ed9 Remove projection overloads 2025-10-05 19:41:24 -05:00
Pat Hartl
22df6677bc Remove settings interfaces 2025-09-26 00:33:59 -05:00
Pat Hartl
d875377f15 Rename SDK services -> clients, implement new configuration, use dependency injection for clients 2025-09-24 20:58:23 -05:00
Pat Hartl
9c2d449edd Fix mapping to DTO 2025-08-20 21:09:53 -05:00
Pat Hartl
7de164dc9e Skip filtering games by collection in depot if disabled 2025-08-20 21:01:23 -05:00
Bastien Vidé
b15ca55ebb Removed version Metadata Identifiers from Download launcher filepath in API 2025-08-12 19:26:14 +02:00
Bastien Vidé
5b7d24584f Corrected client-side autoupdater and server-side CheckForUpdate route 2025-08-12 19:04:19 +02:00
Bastien Vidé
2b581f4aa3 Added redistributables to Games API and Games manifest 2025-08-10 18:47:00 +02:00
Bastien Vidé
93b25f8fd7 Fixed an issue where game scripts were not in the manifest, nor in the game API 2025-08-08 13:27:09 +02:00
Pat Hartl
2a9b2ce5f3 Updated UI packages 2025-08-07 23:33:07 -05:00
Pat Hartl
f833c74be1 Fix manifest type 2025-08-06 19:39:20 -05:00
Pat Hartl
58b3db059d Allow more granular selection of records for import/export 2025-08-01 02:27:06 -05:00
Pat Hartl
305a6e1b7d Remove antiforgery, fix auth service registration 2025-07-30 20:42:15 -05:00
Pat Hartl
ace43fa09e Revert "Merge branch 'feature/server-process-resource-monitoring'"
This reverts commit 8be2341305, reversing
changes made to cf0fe7c1b6.
2025-07-30 19:29:18 -05:00
Pat Hartl
8be2341305 Merge branch 'feature/server-process-resource-monitoring' 2025-07-30 19:27:38 -05:00
Pat Hartl
cf0fe7c1b6 Ignore antiforgery tokens on API routes 2025-07-30 19:27:31 -05:00
Pat Hartl
6ec919d1be Separate import and export functionality
This refactor splits the import and export functionality out of the ImportContext and adds an ExportContext. This also introduced separate importer and exporter implementations.

Additionally, adding archive, save, scripts, and server files to the final export archive has been implemented at the exporter implementation for each instead of handling it in the context. This should be a good pattern if other files need to be added down the road.
2025-07-27 17:51:50 -05:00
Pat Hartl
a5dab5c094 Merge branch 'main' into refactor/optional-import-export
# Conflicts:
#	LANCommander.Server.Services/GameService.cs
#	LANCommander.Server.Services/ImportService.cs
#	LANCommander.Server.Services/Importers/GameImporter.cs
#	LANCommander.Server.Services/UserService.cs
#	LANCommander.Server/UI/Components/AvatarUploader.razor
#	LANCommander.Server/UI/Components/ImportUploadDialog.razor
2025-07-25 18:42:39 -05:00
Pat Hartl
47d5b0b58a Working selective export (at least for manifest) 2025-07-25 17:57:33 -05:00
Pat Hartl
2e073e9332 Render export dialog, resolve circular DI issues
- Fixed circular DI issues with importers and importer context
- Added additional mappings for data <-> manifest models
- Avoid null reference exceptions when trying to export archives/media where files don't exist
- Consolidate import dialogs
- Render selectable flags in export dialog
- Fixed various media uploaders to use new MediaService.WriteToFile
2025-07-19 17:39:55 -05:00
Pat Hartl
400acd9287 Remove old export routes, build export archive from flags 2025-07-15 20:32:46 -05:00
RattleSN4K3
8d0864e01c Handle errors with specific exceptions, provide error response with message for clients 2025-06-22 01:33:03 +02:00
Pat Hartl
b3371fcd26 Fix obsolete usage of GetStatus, rework server control as siwtch 2025-05-25 21:11:33 -05:00
RattleSN4K3
73ff5f258a Remove-game-library dialog to remove base game + addons 2025-05-25 22:25:17 +02:00
RattleSN4K3
81511a9cd3 Clear Archives cache to update client manifest request when validating files 2025-05-17 23:04:54 +02:00
RattleSN4K3
a387202d00 Support old clients with legacy register workflow (with no password confirmation) 2025-04-24 01:39:08 +02:00
Pat Hartl
e86e5d8b44 Use server engines to start/stop servers 2025-03-24 00:19:33 -05:00
Pat Hartl
2e63b6e8e7 Tests for UpdateService methods that access GitHub 2025-03-16 19:37:23 -05:00
Pat Hartl
78da00a83d Change namespace of abstractions 2025-03-16 14:35:53 -05:00
Pat Hartl
71b3addadc Refactor GitHub calls to a new service 2025-03-16 14:01:33 -05:00
Pat Hartl
86c906f8db Add project for automated tests
Had to remove the responsibility of providing the current version of the application from UpdateService. A new IVersionProvider can be used to get the version. This also allows for this to be mocked in tests.
2025-03-15 21:00:00 -05:00
Pat Hartl
f52e0349a5 Fix depot list API, gracefully handle depot errors
- Depot endpoint was doing an improper operation to get a user by username
- Failure to get depot results will result in a graceful error handling
- Depot will now show a no results error if nothing is available
- Depot will now show a no results message if there are no results in the applied filter

Fixes #210
2025-03-14 02:19:11 -05:00
Pat Hartl
3c735c13e6 Added log for blank depot results 2025-03-12 01:09:14 -05:00
Pat Hartl
dafd0e31ff Try fallback URIs if server is unreachable, enhance ping
Fixes #208
2025-03-10 21:44:51 -05:00
Pat Hartl
f001b6167b Refactor application to use storage location path for saves 2025-03-09 00:15:47 -06:00
Pat Hartl
7efac9867a WIP fix for save uploading, move saves to endpoint
Ref #190

Ported the save API functionality to endpoints as part of ongoing efforts to use minimal API patterns.

Added some more security checks to make sure users can only alter or download their own saves.

Moved upload pathing to use the default save storage location. Settings pages will need to be updated to use this storage location. Other areas of the application will have to be checked to make sure they're not reading from `Settings.yml`.
2025-03-08 20:06:34 -06:00
Pat Hartl
01c7bbfa8b Fix archive download endpoint
Fixes #181
2025-02-25 21:22:19 -06:00
Pat Hartl
d38432f675 Add server scripts to execute on game start/stop, refactor how play sessions are recorded 2025-02-23 15:39:06 -06:00
Pat Hartl
b9746d64a4 Add ability to disable user libraries
Some checks failed
LANCommander Release / prep (push) Failing after 32s
LANCommander Release / build_server_linux_arm64 (push) Has been skipped
LANCommander Release / build_server_linux_x64 (push) Has been skipped
LANCommander Release / build_server_osx_arm64 (push) Has been skipped
LANCommander Release / build_server_osx_x64 (push) Has been skipped
LANCommander Release / build_server_win_arm64 (push) Has been skipped
LANCommander Release / build_server_win_x64 (push) Has been skipped
LANCommander Release / build_launcher_linux_arm64 (push) Has been skipped
LANCommander Release / build_launcher_linux_x64 (push) Has been skipped
LANCommander Release / build_launcher_osx_arm64 (push) Has been skipped
LANCommander Release / build_launcher_osx_x64 (push) Has been skipped
LANCommander Release / build_launcher_win_arm64 (push) Has been skipped
LANCommander Release / build_launcher_win_x64 (push) Has been skipped
LANCommander Release / build_release (push) Has been skipped
LANCommander SDK Release / prep (push) Failing after 13s
LANCommander SDK Release / publish (push) Has been skipped
2025-02-22 00:43:03 -06:00
Pat Hartl
4f62957c74 Sort actions properly 2025-02-21 17:41:19 -06:00