Commit Graph
208 Commits
Author SHA1 Message Date
Dominion 96d3269836 Fix using without await 2023-04-29 16:18:41 -04:00
Dominion 4793012413 Test resistance to rate limit issues
- Unsealed ApiClient to allow tests to override with rate limit aware client that waits for rate limits to clear.
- Allowed injecting into ServerClientFactory's static ApiClientFactory.
- Use Octokit provided function for calculating retry delays.
- Fixed a rogue newline semicolon.
- Moved downgrade migrations test out of live tests.
- Admin tests now check for V5 releases.
- Fixed not disposing a StringContent in ApiClient.
- Bump client patch version.
- Added missing .ConfigureAwait(false) to async ApiClient call.
2023-04-29 15:14:22 -04:00
Dominion 48214902fb Minor API version fix 2023-04-25 21:21:25 -04:00
Dominion 99c4537aa9 Implement BYOND installation deletion
- Add ErrorCode for if a BYOND installation delete attempt is made for the active version.
- Added ByondVersionDeleteRequest new parent of ByondVersionRequest.
- Added ByondRights.DeleteInstall.
- Added BYOND install delete support to client
- Made ByondExecutableLock use the reference counting system.
- Moved TrustDmbPath to ByondManager internals. Removes ByondExecutableLock's dependency on IIOManager.
- Ensured ByondManager doesn't deal in Versions where .Build == 0.
- Fixed race condition where ByondController could attempt to install a version in the scope of a request.
- Fixed long running DMAPI test code specifying a minimum security level of Ultrasafe when it writes files.
- Added JobsRequiredTest.WaitForJobProgress.
- Added BYOND installation deletion integration tests.
- Fixed modifying the user BYOND configuration having a race condition across instances.
- Various code cleanups.
2023-04-24 20:15:10 -04:00
Dominion 1d6cc3bc74 Add missing Delete<TBody, TResult> overload to IApiClient 2023-04-24 14:03:16 -04:00
Dominion c1f68d9243 Added error code for swarm integrity check failures 2023-04-22 11:40:01 -04:00
Dominion a1b5dbe6ac Abstract HttpClient and FileDownloader
- Set all requests to use assemblyInformationProvider UserAgent by default.
- Removed DefaultIOManager's dependency on IAssemblyInformationProvider.
- Fixed bad Dispose scope for requests under construction in SwarmService.
2023-04-21 03:15:39 -04:00
Dominion 6aa40ef547 Fix documentation file paths 2023-04-21 02:10:41 -04:00
Dominion 9e72e47bbc Various cleanups and test parallelization
- Fix a bunch of linter messages
- Document whitebox testing
- Fix race condition in deployment test with BYOND install
2023-04-16 23:28:18 -04:00
Dominion a4e79abe1f Package documentation and cleanup 2023-04-10 13:33:41 -04:00
Dominion bae65d6913 Fix login refreshing not working
Updated package info
Uploaded to nuget manually
2023-02-15 17:16:32 -05:00
Dominion 8f5755310f Stringify chat channel Id in API.
This is to deal with JSON and u64 being shitty
2023-01-21 13:53:33 -05:00
Jordan Brown 875ed029f2 Add TGS3 -> TGS5 migrator 2022-09-27 01:48:59 -04:00
Jordan Brown 80e6eb2b10 Fix backwards compatibility issues 2022-09-27 00:41:24 -04:00
Jordan Brown dcb07d4438 Fix nullability 2022-09-26 23:53:11 -04:00
Jordan Brown f26c151224 Update Nuget copyrights 2022-09-20 12:10:24 -04:00
Jordan Brown 6960525688 Update to .net-6.0. Fix errors and warnings
- Address various IDE messages
- Additional logging
- Do not access DB in Watchdog's actual Dispose
- Fix issue with legacy behaviour in PGSQL
- Remove obsolete dotnet workaround
- Update to v3 actions checkout/upload-artifact/download-artifact
2022-09-13 18:41:18 -04:00
Jordan Brown ec5ec847d3 Fix client [TGSDeploy][NugetDeploy] 2021-10-07 18:49:55 -04:00
Jordan Brown cd71d77841 Added OAuth login methods to client[NugetDeploy][TGSDeploy] 2021-10-07 15:13:18 -04:00
Jordan Brown b9586c7fee The great stylecop update
Beware those that read into this commit. Here there be style conformance...

Closes #1252
2021-05-09 19:27:09 -04:00
Jordan Brown 6c09d4f9e7 Dependency updates 2021-03-25 12:23:40 -04:00
Jordan Brown 7e325bdadb Fix tests 2021-02-10 23:17:26 -05:00
Jordan Brown ac4a1c7f9b Add the Request/Response namespaces to Api.Models 2021-02-10 22:10:22 -05:00
Jordan Brown 6c69d6bca3 Definition looks good now 2021-02-10 17:29:39 -05:00
Jordan Brown 47ea890040 WIP: Redoing request/response models 2021-02-10 11:07:08 -05:00
Jordan Brown 3effd5c215 Fix ListCompileJobs only returning EntityIds 2021-01-11 14:44:38 -05:00
Jordan Brown 39ad7ca177 Unfuck User/Usergroup shenannigans
- Make Internal.User abstract
- Move User Id and Name to new UserBase class
- ShallowUsers are now only UserBase
- Moved PermissionSet to Internal.UserGroup
- Old Internal.UserGroup properties moved to new Internal.UserGroupBase
- Fixed WriteUsers being able to read users with POST /User
- Fixed full users returned from POST /User not including group permission sets
2020-12-30 14:11:30 -05:00
Cyberboss f5fcf331d3 Switch all DateTimeOffset.Now references to UtcNow 2020-12-27 20:21:30 -05:00
Cyberboss dd18c5253f Rename Version to ServerInformation in client 2020-12-26 21:45:01 -05:00
Jordan Brown 7c13785969 Properly page UserGroups 2020-12-18 01:14:54 -05:00
Jordan Brown cba2904292 Merge branch 'dev' into 1078-UserGroups 2020-12-18 00:32:45 -05:00
Jordan Brown eb709d136b Adds pagination
- Add generic Paginated<TModel> for pagination responses.
- Added pagination helper to ApiController.
- Implemented pagination for all previously IEnumerable<T> response endpoints.
- Added IApiTransformable<TApiModel> for host models finally.
- Added PaginationSettings to client List endpoints.
- Use two deprecated ErrorCodes for page parameter validation.
- Re-enabled to OpenAPI root array response lint.
- Add some integration tests with users.
2020-12-17 23:49:06 -05:00
Jordan Brown 68e426bb81 Fix unsetting attemptLoginRefresh
- It previously did nothing
2020-12-16 18:47:42 -05:00
Jordan Brown 01d4a05c0d Mass Package Upgrade
- Bump all packages as high as possible
  - ASP .NET Core packages to 3.1.10
- Add a warning about the annoying LoggerFactory issue in host watchdog project
- Add missing exception constructors to client
- Switch to using the correct .NET analyzers
2020-12-16 18:46:40 -05:00
Jordan Brown 3e62191257 Adds UserGroups
- Added MinimumLength to several existing and new
StringLengthAttributes.
- Refactored permissions off User model to new PermissionSet model.
- Added UserGroups, which contain their own PermissionSet. A user can
have either a UserGroup or dedicated PermissionSet.
- Added UserGroupController and client for handling groups.
- Renamed InstanceUser to InstancePermissionSet and associated it with
PermissionSets instead of Users.
- Inject active permission sets into AuthenticationContext.
- Sanitize away top level child properties of client request bodies
(hopefully).
- Added groups integration tests. Main test now runs in a group context.
- Added migrations with hand-written transition SQL.
- Resetting the admin user disassociates them from any groups.

Fuck this huge commit
2020-12-14 17:07:59 -05:00
Jordan Brown 36044c826c Use string enums for OAuthProviders in the API 2020-12-07 13:14:29 -05:00
Jordan Brown bb0f2bc068 Additional testing 2020-12-03 00:02:33 -05:00
Jordan Brown 7f5de5118b Fixes and tests for new transfer service 2020-12-02 22:07:26 -05:00
Jordan Brown a8f910692d Casually replaces base64 file transfers
- Now uses a proper streaming service
2020-11-25 23:25:53 -05:00
Jordan Brown 3b24af9b51 Fix tests 2020-07-28 17:30:31 -04:00
Jordan Brown 8ac6714155 Remove instance client caching
This was so broken, wtf
2020-07-12 13:37:13 -04:00
Jordan Brown e473446315 Create a system user for jobs created by TGS
- API Version bump to 7.0.2
- Deprecate error code 46
- Instance user IDs can never be null
- Make a IUsersClient.GetId more covariant (Right word?)
2020-07-11 12:13:56 -04:00
Jordan Brown ef7c1f3a47 Document 406 response
- Remove ApiHeaders.ApplicationJson
2020-07-04 14:28:31 -04:00
Jordan Brown 34adf330de Adds log downloading endpoint 2020-06-25 16:54:23 -04:00
Jordan BrownandGitHub cb44370310 Merge branch 'dev' into 1009-FixInstanceRestore 2020-06-15 14:46:37 -04:00
Jordan Brown 1383bdd1e8 Remove unused member variable 2020-06-15 11:41:51 -04:00
Jordan Brown 4db03eab75 Add a dedicated action and permission for granting instance user permissions on an instance 2020-06-13 23:16:39 -04:00
Jordan Brown 6c187a0590 Fixes 2020-06-13 14:05:28 -04:00
Jordan Brown 979d8c928f Add client function for creating dumps 2020-06-13 13:22:50 -04:00
Jordan Brown 0ddd47ce71 Fix build errors 2020-06-08 14:02:22 -04:00