diff --git a/src/Tgstation.Server.Host/Authority/LoginAuthority.cs b/src/Tgstation.Server.Host/Authority/LoginAuthority.cs index 363744fbf1..b3025d24ed 100644 --- a/src/Tgstation.Server.Host/Authority/LoginAuthority.cs +++ b/src/Tgstation.Server.Host/Authority/LoginAuthority.cs @@ -208,7 +208,7 @@ namespace Tgstation.Server.Host.Authority using (systemIdentity) { // Get the user from the database - IQueryable query = DatabaseContext.Users.AsQueryable(); + IQueryable query = DatabaseContext.Users; if (oAuthLogin) { var oAuthProvider = headers.OAuthProvider!.Value; diff --git a/src/Tgstation.Server.Host/Authority/PermissionSetAuthority.cs b/src/Tgstation.Server.Host/Authority/PermissionSetAuthority.cs index bd50714aee..22fdea4114 100644 --- a/src/Tgstation.Server.Host/Authority/PermissionSetAuthority.cs +++ b/src/Tgstation.Server.Host/Authority/PermissionSetAuthority.cs @@ -118,13 +118,11 @@ namespace Tgstation.Server.Host.Authority var groupIdQuery = DatabaseContext .Users - .AsQueryable() .Where(user => user.Id == userId) .Select(user => user.GroupId); var permissionSetId = await DatabaseContext .PermissionSets - .AsQueryable() .Where(permissionSet => permissionSet.UserId == userId || groupIdQuery.Contains(permissionSet.GroupId)) .Select(permissionSet => permissionSet.Id!.Value) diff --git a/src/Tgstation.Server.Host/Authority/UserAuthority.cs b/src/Tgstation.Server.Host/Authority/UserAuthority.cs index 416df9ff7c..5e36e4c87b 100644 --- a/src/Tgstation.Server.Host/Authority/UserAuthority.cs +++ b/src/Tgstation.Server.Host/Authority/UserAuthority.cs @@ -107,7 +107,6 @@ namespace Tgstation.Server.Host.Authority return databaseContext .Users - .AsQueryable() .Where(x => ids.Contains(x.Id!.Value)) .ToDictionaryAsync(user => user.Id!.Value, cancellationToken); } @@ -130,7 +129,6 @@ namespace Tgstation.Server.Host.Authority var list = await databaseContext .OAuthConnections - .AsQueryable() .Where(x => userIds.Contains(x.User!.Id!.Value)) .ToListAsync(cancellationToken); @@ -161,7 +159,6 @@ namespace Tgstation.Server.Host.Authority var list = await databaseContext .OidcConnections - .AsQueryable() .Where(x => userIds.Contains(x.User!.Id!.Value)) .ToListAsync(cancellationToken); @@ -371,7 +368,6 @@ namespace Tgstation.Server.Host.Authority var totalUsers = await DatabaseContext .Users - .AsQueryable() .CountAsync(cancellationToken); if (totalUsers >= generalConfigurationOptions.Value.UserLimit) return Conflict(ErrorCode.UserLimitReached); @@ -473,7 +469,6 @@ namespace Tgstation.Server.Host.Authority var userQuery = DatabaseContext .Users - .AsQueryable() .Where(x => x.Id == model.Id) .Include(x => x.CreatedBy) .Include(x => x.OAuthConnections) @@ -574,7 +569,6 @@ namespace Tgstation.Server.Host.Authority originalUser.Group = await DatabaseContext .Groups - .AsQueryable() .Where(x => x.Id == model.Group.Id) .Include(x => x.PermissionSet) .FirstOrDefaultAsync(cancellationToken); @@ -759,9 +753,8 @@ namespace Tgstation.Server.Host.Authority IQueryable Queryable(bool includeJoins, bool allowSystemUser) { var tgsUserCanonicalName = User.CanonicalizeName(User.TgsSystemUserName); - var queryable = DatabaseContext - .Users - .AsQueryable(); + IQueryable queryable = DatabaseContext + .Users; if (!allowSystemUser) queryable = queryable @@ -792,7 +785,6 @@ namespace Tgstation.Server.Host.Authority if (model.Group != null) group = await DatabaseContext .Groups - .AsQueryable() .Where(x => x.Id == model.Group.Id) .Include(x => x.PermissionSet) .FirstOrDefaultAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Authority/UserGroupAuthority.cs b/src/Tgstation.Server.Host/Authority/UserGroupAuthority.cs index a429b1bab4..47ca690d5e 100644 --- a/src/Tgstation.Server.Host/Authority/UserGroupAuthority.cs +++ b/src/Tgstation.Server.Host/Authority/UserGroupAuthority.cs @@ -121,7 +121,6 @@ namespace Tgstation.Server.Host.Authority var userId = claimsPrincipalAccessor.User.GetTgsUserId(); var group = await DatabaseContext .Users - .AsQueryable() .Where(user => user.Id == userId) .Select(user => user.Group) .FirstOrDefaultAsync(cancellationToken); @@ -148,7 +147,6 @@ namespace Tgstation.Server.Host.Authority { var totalGroups = await DatabaseContext .Groups - .AsQueryable() .CountAsync(cancellationToken); if (totalGroups >= generalConfigurationOptions.Value.UserGroupLimit) return Conflict(ErrorCode.UserGroupLimitReached); @@ -183,7 +181,6 @@ namespace Tgstation.Server.Host.Authority { var currentGroup = await DatabaseContext .Groups - .AsQueryable() .Where(x => x.Id == id) .Include(x => x.PermissionSet) .FirstOrDefaultAsync(cancellationToken); @@ -212,7 +209,6 @@ namespace Tgstation.Server.Host.Authority { var numDeleted = await DatabaseContext .Groups - .AsQueryable() .Where(x => x.Id == id && x.Users!.Count == 0) .ExecuteDeleteAsync(cancellationToken); @@ -222,7 +218,6 @@ namespace Tgstation.Server.Host.Authority // find out how we failed var groupExists = await DatabaseContext .Groups - .AsQueryable() .Where(x => x.Id == id) .AnyAsync(cancellationToken); @@ -242,9 +237,8 @@ namespace Tgstation.Server.Host.Authority /// An of s. IQueryable QueryableImpl(bool includeJoins) { - var queryable = DatabaseContext - .Groups - .AsQueryable(); + IQueryable queryable = DatabaseContext + .Groups; if (includeJoins) queryable = queryable diff --git a/src/Tgstation.Server.Host/Components/Chat/Commands/PullRequestsCommand.cs b/src/Tgstation.Server.Host/Components/Chat/Commands/PullRequestsCommand.cs index 5cc52d2b83..573473c2f6 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Commands/PullRequestsCommand.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Commands/PullRequestsCommand.cs @@ -116,7 +116,6 @@ namespace Tgstation.Server.Host.Components.Chat.Commands await databaseContextFactory.UseContext( async db => results = await db .RevisionInformations - .AsQueryable() .Where(x => x.Instance!.Id == instance.Id && x.CommitSha == head) .SelectMany(x => x.ActiveTestMerges!) .Select(x => x.TestMerge) diff --git a/src/Tgstation.Server.Host/Components/Deployment/DmbFactory.cs b/src/Tgstation.Server.Host/Components/Deployment/DmbFactory.cs index c6ff9808a3..8c920d0cbb 100644 --- a/src/Tgstation.Server.Host/Components/Deployment/DmbFactory.cs +++ b/src/Tgstation.Server.Host/Components/Deployment/DmbFactory.cs @@ -207,7 +207,6 @@ namespace Tgstation.Server.Host.Components.Deployment async (db) => cj = await db .CompileJobs - .AsQueryable() .Where(x => x.Job.Instance!.Id == metadata.Id) .OrderByDescending(x => x.Job.StoppedAt) .FirstOrDefaultAsync(cancellationToken)); @@ -277,7 +276,6 @@ namespace Tgstation.Server.Host.Components.Deployment { jobUidsToNotErase = (await db .CompileJobs - .AsQueryable() .Where( x => x.Job.Instance!.Id == metadata.Id && jobIdsToSkip.Contains(x.Id!.Value)) @@ -364,7 +362,6 @@ namespace Tgstation.Server.Host.Components.Deployment await databaseContextFactory.UseContext( async db => compileJob = await db .CompileJobs - .AsQueryable() .Where(x => x!.Id == compileJobId) .Include(x => x.Job!) .ThenInclude(x => x.StartedBy) diff --git a/src/Tgstation.Server.Host/Components/Deployment/DreamMaker.cs b/src/Tgstation.Server.Host/Components/Deployment/DreamMaker.cs index 6f8b05c9d2..d2fa5724f2 100644 --- a/src/Tgstation.Server.Host/Components/Deployment/DreamMaker.cs +++ b/src/Tgstation.Server.Host/Components/Deployment/DreamMaker.cs @@ -253,7 +253,6 @@ namespace Tgstation.Server.Host.Components.Deployment ddSettings = await databaseContext .DreamDaemonSettings - .AsQueryable() .Where(x => x.InstanceId == metadata.Id) .Select(x => new Models.DreamDaemonSettings { @@ -266,7 +265,6 @@ namespace Tgstation.Server.Host.Components.Deployment dreamMakerSettings = await databaseContext .DreamMakerSettings - .AsQueryable() .Where(x => x.InstanceId == metadata.Id) .FirstAsync(cancellationToken); if (dreamMakerSettings == default) @@ -274,7 +272,6 @@ namespace Tgstation.Server.Host.Components.Deployment repositorySettings = await databaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == metadata.Id) .Select(x => new Models.RepositorySettings { @@ -302,7 +299,6 @@ namespace Tgstation.Server.Host.Components.Deployment repoName = repo.RemoteRepositoryName; revInfo = await databaseContext .RevisionInformations - .AsQueryable() .Where(x => x.CommitSha == repoSha && x.InstanceId == metadata.Id) .Include(x => x.ActiveTestMerges!) .ThenInclude(x => x.TestMerge!) @@ -456,7 +452,6 @@ namespace Tgstation.Server.Host.Components.Deployment { var previousCompileJobs = await databaseContext .CompileJobs - .AsQueryable() .Where(x => x.Job.Instance!.Id == metadata.Id) .OrderByDescending(x => x.Job.StoppedAt) .Take(10) diff --git a/src/Tgstation.Server.Host/Components/Deployment/Remote/GitHubRemoteDeploymentManager.cs b/src/Tgstation.Server.Host/Components/Deployment/Remote/GitHubRemoteDeploymentManager.cs index 790b9ea1d3..a023910f6f 100644 --- a/src/Tgstation.Server.Host/Components/Deployment/Remote/GitHubRemoteDeploymentManager.cs +++ b/src/Tgstation.Server.Host/Components/Deployment/Remote/GitHubRemoteDeploymentManager.cs @@ -70,7 +70,6 @@ namespace Tgstation.Server.Host.Components.Deployment.Remote async databaseContext => repositorySettings = await databaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Metadata.Id) .FirstAsync(cancellationToken)); @@ -376,7 +375,6 @@ namespace Tgstation.Server.Host.Components.Deployment.Remote async databaseContext => gitHubAccessToken = await databaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Metadata.Id) .Select(x => x.AccessToken) .FirstAsync(cancellationToken)); diff --git a/src/Tgstation.Server.Host/Components/Instance.cs b/src/Tgstation.Server.Host/Components/Instance.cs index 37454b7dbc..164d2c2e7d 100644 --- a/src/Tgstation.Server.Host/Components/Instance.cs +++ b/src/Tgstation.Server.Host/Components/Instance.cs @@ -389,7 +389,6 @@ namespace Tgstation.Server.Host.Components // assume 5 steps with synchronize var repositorySettingsTask = databaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == metadata.Id) .FirstAsync(cancellationToken); @@ -433,7 +432,6 @@ namespace Tgstation.Server.Host.Components logger.LogTrace("Loading revision info for commit {sha}...", startSha[..7]); currentRevInfo = await databaseContext .RevisionInformations - .AsQueryable() .Where(x => x.CommitSha == startSha && x.InstanceId == metadata.Id) .Include(x => x.ActiveTestMerges!) .ThenInclude(x => x.TestMerge) @@ -550,8 +548,8 @@ namespace Tgstation.Server.Host.Components var currentHead = repo.Head; - currentRevInfo = await databaseContext.RevisionInformations - .AsQueryable() + currentRevInfo = await databaseContext + .RevisionInformations .Where(x => x.CommitSha == currentHead && x.InstanceId == metadata.Id) .FirstOrDefaultAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Components/InstanceManager.cs b/src/Tgstation.Server.Host/Components/InstanceManager.cs index 3344d61ad8..c47122c8e7 100644 --- a/src/Tgstation.Server.Host/Components/InstanceManager.cs +++ b/src/Tgstation.Server.Host/Components/InstanceManager.cs @@ -387,7 +387,6 @@ namespace Tgstation.Server.Host.Components { var jobs = await db .Jobs - .AsQueryable() .Where(x => x.Instance!.Id == metadata.Id && !x.StoppedAt.HasValue) .Select(x => new Job(x.Id!.Value)) .ToListAsync(cancellationToken); @@ -638,7 +637,6 @@ namespace Tgstation.Server.Host.Components async ValueTask EnumerateInstances(IDatabaseContext databaseContext) => dbInstances = await databaseContext .Instances - .AsQueryable() .Where(x => x.Online!.Value && x.SwarmIdentifer == swarmConfiguration.Identifier) .Include(x => x.RepositorySettings) .Include(x => x.ChatSettings) diff --git a/src/Tgstation.Server.Host/Components/Repository/RepositoryUpdateService.cs b/src/Tgstation.Server.Host/Components/Repository/RepositoryUpdateService.cs index cb15e878f1..de3feb5d08 100644 --- a/src/Tgstation.Server.Host/Components/Repository/RepositoryUpdateService.cs +++ b/src/Tgstation.Server.Host/Components/Repository/RepositoryUpdateService.cs @@ -90,7 +90,10 @@ namespace Tgstation.Server.Host.Components.Repository .ThenInclude(x => x.TestMerge) .ThenInclude(x => x.MergedBy); - var revisionInfo = await ApplyQuery(databaseContext.RevisionInformations).FirstOrDefaultAsync(cancellationToken); + var revisionInfo = await ApplyQuery( + databaseContext + .RevisionInformations) + .FirstOrDefaultAsync(cancellationToken); // If the DB doesn't have it, check the local set if (revisionInfo == default) @@ -400,8 +403,8 @@ namespace Tgstation.Server.Host.Components.Repository await databaseContextFactory.UseContext( async databaseContext => - dbPull = await databaseContext.RevisionInformations - .AsQueryable() + dbPull = await databaseContext + .RevisionInformations .Where(x => x.InstanceId == instanceId && x.OriginCommitSha == lastRevisionInfo.OriginCommitSha && x.ActiveTestMerges!.Count <= newTestMergeModels.Count diff --git a/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs b/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs index edfc6a5145..d82d4937b1 100644 --- a/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs +++ b/src/Tgstation.Server.Host/Components/Session/SessionPersistor.cs @@ -158,7 +158,6 @@ namespace Tgstation.Server.Host.Components.Session { var dbReattachInfos = await db .ReattachInformations - .AsQueryable() .Where(x => x.CompileJob!.Job.Instance!.Id == metadata.Id) .Include(x => x.CompileJob) .Include(x => x.InitialCompileJob) @@ -169,7 +168,6 @@ namespace Tgstation.Server.Host.Components.Session var timeoutMilliseconds = await db .Instances - .AsQueryable() .Where(x => x.Id == metadata.Id) .Select(x => x.DreamDaemonSettings!.TopicRequestTimeout) .FirstOrDefaultAsync(cancellationToken); @@ -217,7 +215,6 @@ namespace Tgstation.Server.Host.Components.Session logger.LogTrace("Deleting ReattachInformation {id}...", result.Id); await db .ReattachInformations - .AsQueryable() .Where(x => x.Id == result.Id) .ExecuteDeleteAsync(cancellationToken); }); @@ -264,7 +261,6 @@ namespace Tgstation.Server.Host.Components.Session { var baseQuery = databaseContext .ReattachInformations - .AsQueryable() .Where(x => x.CompileJob!.Job.Instance!.Id == metadata.Id); if (instant) diff --git a/src/Tgstation.Server.Host/Controllers/ChatController.cs b/src/Tgstation.Server.Host/Controllers/ChatController.cs index 1c52faf09f..def3c14f1e 100644 --- a/src/Tgstation.Server.Host/Controllers/ChatController.cs +++ b/src/Tgstation.Server.Host/Controllers/ChatController.cs @@ -160,7 +160,6 @@ namespace Tgstation.Server.Host.Controllers instance.Chat.DeleteConnection(id, cancellationToken), DatabaseContext .ChatBots - .AsQueryable() .Where(x => x.Id == id) .ExecuteDeleteAsync(cancellationToken)); return null; @@ -187,7 +186,6 @@ namespace Tgstation.Server.Host.Controllers new PaginatableResult( DatabaseContext .ChatBots - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .Include(x => x.Channels) .OrderBy(x => x.Id))), @@ -217,8 +215,8 @@ namespace Tgstation.Server.Host.Controllers [ProducesResponseType(typeof(ErrorMessageResponse), 410)] public async ValueTask GetId(long id, CancellationToken cancellationToken) { - var query = DatabaseContext.ChatBots - .AsQueryable() + var query = DatabaseContext + .ChatBots .Where(x => x.Id == id && x.InstanceId == Instance.Id) .Include(x => x.Channels); @@ -260,7 +258,6 @@ namespace Tgstation.Server.Host.Controllers var query = DatabaseContext .ChatBots - .AsQueryable() .Where(x => x.InstanceId == Instance.Id && x.Id == model.Id) .Include(x => x.Channels); diff --git a/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs b/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs index cf4811bc78..4bf09a03ff 100644 --- a/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs +++ b/src/Tgstation.Server.Host/Controllers/DreamDaemonController.cs @@ -165,7 +165,6 @@ namespace Tgstation.Server.Host.Controllers // alias for changing DD settings var current = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == Instance.Id) .Select(x => x.DreamDaemonSettings) .FirstOrDefaultAsync(cancellationToken); @@ -330,7 +329,6 @@ namespace Tgstation.Server.Host.Controllers { settings = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == Instance.Id) .Select(x => x.DreamDaemonSettings!) .FirstOrDefaultAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Controllers/DreamMakerController.cs b/src/Tgstation.Server.Host/Controllers/DreamMakerController.cs index 59e44772f8..4ab9d54f9d 100644 --- a/src/Tgstation.Server.Host/Controllers/DreamMakerController.cs +++ b/src/Tgstation.Server.Host/Controllers/DreamMakerController.cs @@ -81,7 +81,6 @@ namespace Tgstation.Server.Host.Controllers { var dreamMakerSettings = await DatabaseContext .DreamMakerSettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); @@ -186,7 +185,6 @@ namespace Tgstation.Server.Host.Controllers var hostModel = await DatabaseContext .DreamMakerSettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); if (hostModel == null) @@ -295,7 +293,6 @@ namespace Tgstation.Server.Host.Controllers /// An of with all the inclusions. IQueryable BaseCompileJobsQuery() => DatabaseContext .CompileJobs - .AsQueryable() .Include(x => x.Job!) .ThenInclude(x => x.StartedBy) .Include(x => x.Job!) diff --git a/src/Tgstation.Server.Host/Controllers/InstanceController.cs b/src/Tgstation.Server.Host/Controllers/InstanceController.cs index 633b0d2ecb..aa2ee6a454 100644 --- a/src/Tgstation.Server.Host/Controllers/InstanceController.cs +++ b/src/Tgstation.Server.Host/Controllers/InstanceController.cs @@ -161,7 +161,6 @@ namespace Tgstation.Server.Host.Controllers // Validate it's not a child of any other instance var instancePaths = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.SwarmIdentifer == swarmConfiguration.Identifier) .Select(x => new Models.Instance { @@ -278,7 +277,6 @@ namespace Tgstation.Server.Host.Controllers { var originalModel = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == id && x.SwarmIdentifer == swarmConfiguration.Identifier) .FirstOrDefaultAsync(cancellationToken); if (originalModel == default) @@ -306,17 +304,14 @@ namespace Tgstation.Server.Host.Controllers // there's a bug where removing the root instance doesn't work sometimes await DatabaseContext .CompileJobs - .AsQueryable() .Where(x => x.Job!.Instance!.Id == id) .ExecuteDeleteAsync(cancellationToken); await DatabaseContext .RevInfoTestMerges - .AsQueryable() .Where(x => x.RevisionInformation.InstanceId == id) .ExecuteDeleteAsync(cancellationToken); await DatabaseContext .RevisionInformations - .AsQueryable() .Where(x => x.InstanceId == id) .ExecuteDeleteAsync(cancellationToken); @@ -361,7 +356,6 @@ namespace Tgstation.Server.Host.Controllers IQueryable InstanceQuery() => DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == model.Id && x.SwarmIdentifer == swarmConfiguration.Identifier); var moveJob = await InstanceQuery() @@ -460,7 +454,6 @@ namespace Tgstation.Server.Host.Controllers { var countOfExistingChatBots = await DatabaseContext .ChatBots - .AsQueryable() .Where(x => x.InstanceId == originalModel.Id) .CountAsync(cancellationToken); @@ -585,7 +578,6 @@ namespace Tgstation.Server.Host.Controllers { var query = DatabaseContext .Instances - .AsQueryable() .Where(x => x.SwarmIdentifer == swarmConfiguration.Identifier); if (!AuthenticationContext.PermissionSet.InstanceManagerRights!.Value.HasFlag(InstanceManagerRights.List)) query = query @@ -651,7 +643,6 @@ namespace Tgstation.Server.Host.Controllers { var query = DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == id && x.SwarmIdentifer == swarmConfiguration.Identifier); if (cantList) @@ -706,7 +697,6 @@ namespace Tgstation.Server.Host.Controllers { IQueryable BaseQuery() => DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == id && x.SwarmIdentifer == swarmConfiguration.Identifier); // ensure the current user has write privilege on the instance @@ -871,7 +861,6 @@ namespace Tgstation.Server.Host.Controllers { instanceResponse.Accessible = await DatabaseContext .InstancePermissionSets - .AsQueryable() .Where(x => x.InstanceId == instanceResponse.Id && x.PermissionSetId == AuthenticationContext.PermissionSet.Id) .AnyAsync(cancellationToken); } diff --git a/src/Tgstation.Server.Host/Controllers/InstancePermissionSetController.cs b/src/Tgstation.Server.Host/Controllers/InstancePermissionSetController.cs index 01f51bdc0c..6d6b99339c 100644 --- a/src/Tgstation.Server.Host/Controllers/InstancePermissionSetController.cs +++ b/src/Tgstation.Server.Host/Controllers/InstancePermissionSetController.cs @@ -78,7 +78,6 @@ namespace Tgstation.Server.Host.Controllers var existingPermissionSet = await DatabaseContext .PermissionSets - .AsQueryable() .Where(x => x.Id == model.PermissionSetId) .Select(x => new Models.PermissionSet { @@ -94,7 +93,6 @@ namespace Tgstation.Server.Host.Controllers { var userCanonicalName = await DatabaseContext .Users - .AsQueryable() .Where(x => x.Id == existingPermissionSet.UserId.Value) .Select(x => x.CanonicalName) .FirstAsync(cancellationToken); @@ -146,7 +144,6 @@ namespace Tgstation.Server.Host.Controllers var originalPermissionSet = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == Instance.Id) .SelectMany(x => x.InstancePermissionSets) .Where(x => x.PermissionSetId == model.PermissionSetId) @@ -201,7 +198,6 @@ namespace Tgstation.Server.Host.Controllers new PaginatableResult( DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == Instance.Id) .SelectMany(x => x.InstancePermissionSets) .OrderBy(x => x.PermissionSetId))), @@ -227,7 +223,6 @@ namespace Tgstation.Server.Host.Controllers // this functions as userId var permissionSet = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == Instance.Id) .SelectMany(x => x.InstancePermissionSets) .Where(x => x.PermissionSetId == id) @@ -253,7 +248,6 @@ namespace Tgstation.Server.Host.Controllers { var numDeleted = await DatabaseContext .Instances - .AsQueryable() .Where(x => x.Id == Instance.Id) .SelectMany(x => x.InstancePermissionSets) .Where(x => x.PermissionSetId == id) diff --git a/src/Tgstation.Server.Host/Controllers/JobController.cs b/src/Tgstation.Server.Host/Controllers/JobController.cs index 2cfb962891..5ba72b71c6 100644 --- a/src/Tgstation.Server.Host/Controllers/JobController.cs +++ b/src/Tgstation.Server.Host/Controllers/JobController.cs @@ -75,7 +75,6 @@ namespace Tgstation.Server.Host.Controllers new PaginatableResult( DatabaseContext .Jobs - .AsQueryable() .Include(x => x.StartedBy) .Include(x => x.CancelledBy) .Include(x => x.Instance) @@ -103,7 +102,6 @@ namespace Tgstation.Server.Host.Controllers new PaginatableResult( DatabaseContext .Jobs - .AsQueryable() .Include(x => x.StartedBy) .Include(x => x.CancelledBy) .Include(x => x.Instance) @@ -132,7 +130,6 @@ namespace Tgstation.Server.Host.Controllers // don't care if an instance post or not at this point var job = await DatabaseContext .Jobs - .AsQueryable() .Include(x => x.StartedBy) .Include(x => x.Instance) .Where(x => x.Id == id && x.Instance!.Id == Instance.Id) @@ -166,7 +163,6 @@ namespace Tgstation.Server.Host.Controllers { var job = await DatabaseContext .Jobs - .AsQueryable() .Where(x => x.Id == id && x.Instance!.Id == Instance.Id) .Include(x => x.StartedBy) .Include(x => x.CancelledBy) diff --git a/src/Tgstation.Server.Host/Controllers/RepositoryController.cs b/src/Tgstation.Server.Host/Controllers/RepositoryController.cs index e99a801607..f64440c919 100644 --- a/src/Tgstation.Server.Host/Controllers/RepositoryController.cs +++ b/src/Tgstation.Server.Host/Controllers/RepositoryController.cs @@ -122,7 +122,6 @@ namespace Tgstation.Server.Host.Controllers var currentModel = await DatabaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); @@ -225,7 +224,6 @@ namespace Tgstation.Server.Host.Controllers { var currentModel = await DatabaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); @@ -264,7 +262,6 @@ namespace Tgstation.Server.Host.Controllers { var currentModel = await DatabaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); @@ -302,7 +299,6 @@ namespace Tgstation.Server.Host.Controllers { var currentModel = await DatabaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); @@ -388,7 +384,6 @@ namespace Tgstation.Server.Host.Controllers var currentModel = await DatabaseContext .RepositorySettings - .AsQueryable() .Where(x => x.InstanceId == Instance.Id) .FirstOrDefaultAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Database/DatabaseCollection.cs b/src/Tgstation.Server.Host/Database/DatabaseCollection.cs index b2dafa719d..94d5ef90e8 100644 --- a/src/Tgstation.Server.Host/Database/DatabaseCollection.cs +++ b/src/Tgstation.Server.Host/Database/DatabaseCollection.cs @@ -3,7 +3,6 @@ using System.Collections; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; -using System.Threading; using Microsoft.EntityFrameworkCore; @@ -48,9 +47,6 @@ namespace Tgstation.Server.Host.Database /// public void Attach(TModel model) => dbSet.Attach(model); - /// - public IAsyncEnumerator GetAsyncEnumerator(CancellationToken cancellationToken = default) => dbSet.AsAsyncEnumerable().GetAsyncEnumerator(cancellationToken); - /// public IEnumerator GetEnumerator() => dbSet.AsQueryable().GetEnumerator(); diff --git a/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs b/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs index 4eaf4e21b9..03d89a64eb 100644 --- a/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs +++ b/src/Tgstation.Server.Host/Database/DatabaseSeeder.cs @@ -216,7 +216,6 @@ namespace Tgstation.Server.Host.Database { var tgsUser = await databaseContext .Users - .AsQueryable() .Where(x => x.CanonicalName == User.CanonicalizeName(User.TgsSystemUserName)) .FirstOrDefaultAsync(cancellationToken); @@ -232,7 +231,6 @@ namespace Tgstation.Server.Host.Database // normalize backslashes to forward slashes var allInstances = await databaseContext .Instances - .AsQueryable() .Where(instance => instance.SwarmIdentifer == swarmConfiguration.Identifier) .ToListAsync(cancellationToken); foreach (var instance in allInstances) @@ -242,7 +240,6 @@ namespace Tgstation.Server.Host.Database { var ids = await databaseContext .DreamDaemonSettings - .AsQueryable() .Where(x => x.TopicRequestTimeout == 0) .Select(x => x.Id) .ToListAsync(cancellationToken); @@ -311,7 +308,6 @@ namespace Tgstation.Server.Host.Database { var admin = await databaseContext .Users - .AsQueryable() .Where(x => x.CanonicalName == User.CanonicalizeName(DefaultCredentials.AdminUserName)) .Include(x => x.CreatedBy) .Include(x => x.PermissionSet) diff --git a/src/Tgstation.Server.Host/Database/IDatabaseCollection.cs b/src/Tgstation.Server.Host/Database/IDatabaseCollection.cs index a9e1fe0e03..52ca1796af 100644 --- a/src/Tgstation.Server.Host/Database/IDatabaseCollection.cs +++ b/src/Tgstation.Server.Host/Database/IDatabaseCollection.cs @@ -7,7 +7,7 @@ namespace Tgstation.Server.Host.Database /// Represents a database table. /// /// The type of model. - public interface IDatabaseCollection : IQueryable, IAsyncEnumerable + public interface IDatabaseCollection : IQueryable { /// /// An of s prioritizing in the working set. diff --git a/src/Tgstation.Server.Host/Extensions/DatabaseCollectionExtensions.cs b/src/Tgstation.Server.Host/Extensions/DatabaseCollectionExtensions.cs index ea50a7af17..856b74a9f0 100644 --- a/src/Tgstation.Server.Host/Extensions/DatabaseCollectionExtensions.cs +++ b/src/Tgstation.Server.Host/Extensions/DatabaseCollectionExtensions.cs @@ -33,7 +33,6 @@ namespace Tgstation.Server.Host.Extensions ArgumentNullException.ThrowIfNull(selector); return databaseCollection - .AsQueryable() .Where(x => x.CanonicalName == User.CanonicalizeName(User.TgsSystemUserName)) .Select(selector) .FirstAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Jobs/JobService.cs b/src/Tgstation.Server.Host/Jobs/JobService.cs index c36b5ca825..4c1f5e2c90 100644 --- a/src/Tgstation.Server.Host/Jobs/JobService.cs +++ b/src/Tgstation.Server.Host/Jobs/JobService.cs @@ -213,7 +213,6 @@ namespace Tgstation.Server.Host.Jobs // mark all jobs as cancelled var badJobIds = await databaseContext .Jobs - .AsQueryable() .Where(y => !y.StoppedAt.HasValue) .Select(y => y.Id!.Value) .ToListAsync(cancellationToken); @@ -535,7 +534,6 @@ namespace Tgstation.Server.Host.Jobs // DCT: Cancellation token is for job, operation should always run var finalJob = await databaseContext .Jobs - .AsQueryable() .Include(x => x.Instance) .Include(x => x.StartedBy) .Include(x => x.CancelledBy) diff --git a/src/Tgstation.Server.Host/Jobs/JobsHubGroupMapper.cs b/src/Tgstation.Server.Host/Jobs/JobsHubGroupMapper.cs index a961fbaef9..02fb87e77d 100644 --- a/src/Tgstation.Server.Host/Jobs/JobsHubGroupMapper.cs +++ b/src/Tgstation.Server.Host/Jobs/JobsHubGroupMapper.cs @@ -128,7 +128,6 @@ namespace Tgstation.Server.Host.Jobs async databaseContext => permedInstanceIds = await databaseContext .InstancePermissionSets - .AsQueryable() .Where(ips => ips.PermissionSetId == pid) .Select(ips => ips.InstanceId) .ToListAsync(cancellationToken)); @@ -162,7 +161,6 @@ namespace Tgstation.Server.Host.Jobs .ToListAsync(cancellationToken); var permissionSetAccessibleInstanceIds = await databaseContext .InstancePermissionSets - .AsQueryable() .Where(ips => ips.PermissionSetId == permissionSetId) .Select(ips => ips.InstanceId) .ToListAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Security/AuthenticationContextFactory.cs b/src/Tgstation.Server.Host/Security/AuthenticationContextFactory.cs index ed9651f2a7..9569476269 100644 --- a/src/Tgstation.Server.Host/Security/AuthenticationContextFactory.cs +++ b/src/Tgstation.Server.Host/Security/AuthenticationContextFactory.cs @@ -129,7 +129,6 @@ namespace Tgstation.Server.Host.Security var user = await databaseContext .Users - .AsQueryable() .Where(x => x.Id == userId) .Include(x => x.CreatedBy) .Include(x => x.PermissionSet) @@ -164,8 +163,8 @@ namespace Tgstation.Server.Host.Security var instanceId = apiHeaders?.InstanceId; if (instanceId.HasValue) { - instancePermissionSet = await databaseContext.InstancePermissionSets - .AsQueryable() + instancePermissionSet = await databaseContext + .InstancePermissionSets .Where(x => x.PermissionSetId == userPermissionSet!.Id && x.InstanceId == instanceId && x.Instance!.SwarmIdentifer == swarmConfiguration.Identifier) .Include(x => x.Instance) .FirstOrDefaultAsync(cancellationToken); @@ -208,7 +207,6 @@ namespace Tgstation.Server.Host.Security var deprefixedScheme = scheme.Substring(OpenIDConnectAuthenticationSchemePrefix.Length); var connection = await databaseContext .OidcConnections - .AsQueryable() .Where(oidcConnection => oidcConnection.ExternalUserId == userId && oidcConnection.SchemeKey == deprefixedScheme) .Include(oidcConnection => oidcConnection.User) .ThenInclude(user => user!.Group) @@ -243,7 +241,6 @@ namespace Tgstation.Server.Host.Security UserGroup? group = groupId.HasValue ? await databaseContext .Groups - .AsQueryable() .Where(group => group.Id == groupId.Value) .Include(group => group.PermissionSet) .FirstOrDefaultAsync(cancellationToken) diff --git a/src/Tgstation.Server.Host/Security/AuthorizationHandler.cs b/src/Tgstation.Server.Host/Security/AuthorizationHandler.cs index ed76938c29..95774ee803 100644 --- a/src/Tgstation.Server.Host/Security/AuthorizationHandler.cs +++ b/src/Tgstation.Server.Host/Security/AuthorizationHandler.cs @@ -106,7 +106,6 @@ namespace Tgstation.Server.Host.Security { var sessionData = await databaseContext .Users - .AsQueryable() .Where(user => user.Id == userId) .Select(user => new { @@ -151,8 +150,7 @@ namespace Tgstation.Server.Host.Security return databaseContextFactory.UseContext(async databaseContext => { var queryableUsers = databaseContext - .Users - .AsQueryable(); + .Users; var matchingUniquePermissionSetIds = queryableUsers .Where(user => user.Id == userId && user.PermissionSet != null) @@ -170,7 +168,6 @@ namespace Tgstation.Server.Host.Security permissionSet = await databaseContext .InstancePermissionSets - .AsQueryable() .Where(ips => ips.InstanceId == instanceId && (matchingUniquePermissionSetIds.Contains(ips.PermissionSetId) || matchingGroupPermissionSetIds.Contains(ips.PermissionSetId))) .TagWith("rights_authorization_handler_instance_permission_set") @@ -179,7 +176,6 @@ namespace Tgstation.Server.Host.Security else permissionSet = await databaseContext .PermissionSets - .AsQueryable() .Where(permissionSet => matchingUniquePermissionSetIds.Contains(permissionSet.Id) || matchingGroupPermissionSetIds.Contains(permissionSet.Id)) .TagWith("rights_authorization_handler_permission_set") .FirstOrDefaultAsync(cancellationToken); diff --git a/src/Tgstation.Server.Host/Utils/PortAllocator.cs b/src/Tgstation.Server.Host/Utils/PortAllocator.cs index ecaf79eeda..235889d281 100644 --- a/src/Tgstation.Server.Host/Utils/PortAllocator.cs +++ b/src/Tgstation.Server.Host/Utils/PortAllocator.cs @@ -99,7 +99,6 @@ namespace Tgstation.Server.Host.Utils logger.LogTrace("Port allocation >= {basePort} requested...", basePort); var ddPorts = await databaseContext .DreamDaemonSettings - .AsQueryable() .Where(x => x.Instance!.SwarmIdentifer == swarmConfiguration.Identifier) .Select(x => new { @@ -110,7 +109,6 @@ namespace Tgstation.Server.Host.Utils var dmPorts = await databaseContext .DreamMakerSettings - .AsQueryable() .Where(x => x.Instance!.SwarmIdentifer == swarmConfiguration.Identifier) .Select(x => new {