From 5b07b4ef04ca688b840500df228c8496289bd4e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Thu, 28 May 2026 15:37:20 +0200 Subject: [PATCH] Simplify ensureSelectContains to accept undefined, inline calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Accept undefined input (returns undefined, preserving default projection). Inline the calls at both use sites per review feedback. Co-Authored-By: Claude Opus 4.6 (1M context) Signed-off-by: Fredrik Adelöw --- .../src/microsoftGraph/read.ts | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts index efb1f737ad..dba8cd6f64 100644 --- a/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts +++ b/plugins/catalog-backend-module-msgraph/src/microsoftGraph/read.ts @@ -42,7 +42,13 @@ import { LoggerService } from '@backstage/backend-plugin-api'; const PAGE_SIZE = 999; -function ensureSelectContains(select: string[], field: string): string[] { +function ensureSelectContains( + select: string[] | undefined, + field: string, +): string[] | undefined { + if (!select) { + return undefined; + } if ( select.some( s => s.toLocaleLowerCase('en-US') === field.toLocaleLowerCase('en-US'), @@ -79,15 +85,12 @@ export async function readMicrosoftGraphUsers( ): Promise<{ users: UserEntity[]; // With all relations empty }> { - const select = options.userSelect - ? ensureSelectContains(options.userSelect, 'accountEnabled') - : undefined; const users = filterDisabledUsers( client.getUsers( { filter: options.userFilter, expand: options.userExpand, - select, + select: ensureSelectContains(options.userSelect, 'accountEnabled'), top: PAGE_SIZE, }, options.queryMode, @@ -146,15 +149,15 @@ export async function readMicrosoftGraphUsersInGroups( userGroupMemberPromises.push( limiter(async () => { let groupMemberCount = 0; - const memberSelect = options.userSelect - ? ensureSelectContains(options.userSelect, 'accountEnabled') - : undefined; for await (const user of filterDisabledUsers( client.getGroupUserMembers( group.id!, { expand: options.userExpand, - select: memberSelect, + select: ensureSelectContains( + options.userSelect, + 'accountEnabled', + ), top: PAGE_SIZE, }, options.queryMode,