From 8fc03de445dd19dd8d529c00540b6d2850441b7c Mon Sep 17 00:00:00 2001 From: Rex Lorenzo Date: Wed, 13 May 2026 00:19:00 -0700 Subject: [PATCH] chore: additional CodeQL style fixes (ternary, complex-block, implicit-conversion) --- .../__tests__/course-import-dialog.test.ts | 6 ++++-- .../Controllers/RotationsController.cs | 13 +++---------- .../Effort/Services/EffortAuditService.cs | 19 ++++++------------- .../Effort/Services/MeritMultiYearService.cs | 18 ++++++++---------- web/Areas/RAPS/Services/UinformService.cs | 14 +++----------- .../Students/Services/GradYearClassLevel.cs | 15 +++++---------- 6 files changed, 29 insertions(+), 56 deletions(-) diff --git a/VueApp/src/Effort/__tests__/course-import-dialog.test.ts b/VueApp/src/Effort/__tests__/course-import-dialog.test.ts index 01f216446..21ee23818 100644 --- a/VueApp/src/Effort/__tests__/course-import-dialog.test.ts +++ b/VueApp/src/Effort/__tests__/course-import-dialog.test.ts @@ -69,7 +69,8 @@ describe("CourseImportDialog - Error Handling", () => { // Simulate handling a non-Error value (e.g., from external code) const nonErrorValue: unknown = "string error" - importError.value = nonErrorValue instanceof Error ? nonErrorValue.message : "Failed to import course" + const isError = typeof nonErrorValue === "object" && nonErrorValue instanceof Error + importError.value = isError ? (nonErrorValue as Error).message : "Failed to import course" expect(importError.value).toBe("Failed to import course") }) @@ -93,7 +94,8 @@ describe("CourseImportDialog - Error Handling", () => { // Simulate handling a non-Error value (e.g., from external code) const nonErrorValue: unknown = "unknown error" - searchError.value = nonErrorValue instanceof Error ? nonErrorValue.message : "Error searching for courses" + const isError = typeof nonErrorValue === "object" && nonErrorValue instanceof Error + searchError.value = isError ? (nonErrorValue as Error).message : "Error searching for courses" expect(searchError.value).toBe("Error searching for courses") }) diff --git a/web/Areas/ClinicalScheduler/Controllers/RotationsController.cs b/web/Areas/ClinicalScheduler/Controllers/RotationsController.cs index fac532700..37155c06c 100644 --- a/web/Areas/ClinicalScheduler/Controllers/RotationsController.cs +++ b/web/Areas/ClinicalScheduler/Controllers/RotationsController.cs @@ -58,16 +58,9 @@ public async Task>> GetRotations(int? serv _logger.LogInformation("Getting rotations. ServiceId: {ServiceId}", serviceId); // Get rotations through service layer - List rotations; - - if (serviceId.HasValue) - { - rotations = await _rotationService.GetRotationsByServiceAsync(serviceId.Value, HttpContext.RequestAborted); - } - else - { - rotations = await _rotationService.GetRotationsAsync(HttpContext.RequestAborted); - } + List rotations = serviceId.HasValue + ? await _rotationService.GetRotationsByServiceAsync(serviceId.Value, HttpContext.RequestAborted) + : await _rotationService.GetRotationsAsync(HttpContext.RequestAborted); // Filter rotations based on user permissions var allowedServiceIds = await GetAllowedServiceIdsAsync(HttpContext.RequestAborted); diff --git a/web/Areas/Effort/Services/EffortAuditService.cs b/web/Areas/Effort/Services/EffortAuditService.cs index b04e786b7..7984440fe 100644 --- a/web/Areas/Effort/Services/EffortAuditService.cs +++ b/web/Areas/Effort/Services/EffortAuditService.cs @@ -600,26 +600,19 @@ private IQueryable BuildAuditCourseQuery(int? termCode, bool exclu var auditRecordIds = auditQuery.Select(a => a.RecordId); - IQueryable courseIds; - - if (termCode.HasValue) - { - // When filtering by term, start from Records (very selective on TermCode) - // and use a semi-join for audit existence instead of a full Audits→Records join - courseIds = _context.Records + // When filtering by term, start from Records (very selective on TermCode) + // and use a semi-join for audit existence instead of a full Audits→Records join + IQueryable courseIds = termCode.HasValue + ? _context.Records .AsNoTracking() .Where(r => r.TermCode == termCode.Value) .Where(r => auditRecordIds.Contains(r.Id)) .Select(r => r.CourseId) - .Distinct(); - } - else - { - courseIds = auditQuery + .Distinct() + : auditQuery .Join(_context.Records, a => a.RecordId, r => r.Id, (a, r) => r) .Select(r => r.CourseId) .Distinct(); - } return _context.Courses .AsNoTracking() diff --git a/web/Areas/Effort/Services/MeritMultiYearService.cs b/web/Areas/Effort/Services/MeritMultiYearService.cs index d436c28d5..a9c574313 100644 --- a/web/Areas/Effort/Services/MeritMultiYearService.cs +++ b/web/Areas/Effort/Services/MeritMultiYearService.cs @@ -865,16 +865,14 @@ private static List FilterTermsInRange(List terms, int startTerm /// private static decimal? CalculateMedian(int n1, int n2, int n3, int n4, int n5) { - var total = n1 + n2 + n3 + n4 + n5; - if (total == 0) return null; - - // Build sorted response list - var responses = new List(); - for (var i = 0; i < n1; i++) responses.Add(1); - for (var i = 0; i < n2; i++) responses.Add(2); - for (var i = 0; i < n3; i++) responses.Add(3); - for (var i = 0; i < n4; i++) responses.Add(4); - for (var i = 0; i < n5; i++) responses.Add(5); + if (n1 + n2 + n3 + n4 + n5 == 0) return null; + + var responses = Enumerable.Repeat(1m, n1) + .Concat(Enumerable.Repeat(2m, n2)) + .Concat(Enumerable.Repeat(3m, n3)) + .Concat(Enumerable.Repeat(4m, n4)) + .Concat(Enumerable.Repeat(5m, n5)) + .ToList(); return CalculateListMedian(responses); } diff --git a/web/Areas/RAPS/Services/UinformService.cs b/web/Areas/RAPS/Services/UinformService.cs index 359e1b785..445e40570 100644 --- a/web/Areas/RAPS/Services/UinformService.cs +++ b/web/Areas/RAPS/Services/UinformService.cs @@ -241,16 +241,11 @@ public async Task GetUser(string? guid = null, string? userPrincipalName request.Content = content; } - UinformResponse? uInformResponse; using HttpResponseMessage response = await _httpClient.SendAsync(request); string responseBody = await response.Content.ReadAsStringAsync(); - if (response.IsSuccessStatusCode) - { - uInformResponse = JsonSerializer.Deserialize>(responseBody, _jsonOptions); - } - else - { - uInformResponse = new UinformResponse() + return response.IsSuccessStatusCode + ? JsonSerializer.Deserialize>(responseBody, _jsonOptions) + : new UinformResponse() { Success = false, Error = new() @@ -258,9 +253,6 @@ public async Task GetUser(string? guid = null, string? userPrincipalName Message = response.StatusCode.ToString() } }; - } - - return uInformResponse; } private static string GetAuthSignature(HttpMethod method, string publicKey, int epochTime) diff --git a/web/Areas/Students/Services/GradYearClassLevel.cs b/web/Areas/Students/Services/GradYearClassLevel.cs index 5a1e35e41..2965e703b 100644 --- a/web/Areas/Students/Services/GradYearClassLevel.cs +++ b/web/Areas/Students/Services/GradYearClassLevel.cs @@ -54,20 +54,15 @@ static public Tuple GetTermCodeAndClassLevelForGradYear(int gradYea switch (termPart) { case 2: - termAndClassLevel = Tuple.Create(currentTerm, "V" + (4 - (gradYear - termYear)).ToString()); + termAndClassLevel = Tuple.Create(currentTerm, "V" + (4 - (gradYear - termYear))); break; case 9: - termAndClassLevel = Tuple.Create(currentTerm, "V" + (5 - (gradYear - termYear)).ToString()); + termAndClassLevel = Tuple.Create(currentTerm, "V" + (5 - (gradYear - termYear))); break; case 4: - if (gradYear - termYear == 1) - { - termAndClassLevel = Tuple.Create(currentTerm, "V4"); - } - else - { - termAndClassLevel = Tuple.Create((termYear * 100) + 9, "V" + (5 - (gradYear - termYear)).ToString()); - } + termAndClassLevel = gradYear - termYear == 1 + ? Tuple.Create(currentTerm, "V4") + : Tuple.Create((termYear * 100) + 9, "V" + (5 - (gradYear - termYear))); break; }