mirror of
https://github.com/bitwarden/directory-connector
synced 2025-12-05 23:53:21 +00:00
add paging to group members api request
This commit is contained in:
@@ -306,16 +306,24 @@ export class AzureDirectoryService extends BaseDirectoryService implements Direc
|
||||
entry.name = group.displayName;
|
||||
|
||||
const memReq = this.client.api('/groups/' + group.id + '/members');
|
||||
const memRes = await memReq.get();
|
||||
const members: any = memRes.value;
|
||||
if (members != null) {
|
||||
for (const member of members) {
|
||||
if (member[ObjectType] === '#microsoft.graph.group') {
|
||||
entry.groupMemberReferenceIds.add((member as graphType.Group).id);
|
||||
} else if (member[ObjectType] === '#microsoft.graph.user') {
|
||||
entry.userMemberExternalIds.add((member as graphType.User).id);
|
||||
let memRes = await memReq.get();
|
||||
while (true) {
|
||||
const members: any = memRes.value;
|
||||
if (members != null) {
|
||||
for (const member of members) {
|
||||
if (member[ObjectType] === '#microsoft.graph.group') {
|
||||
entry.groupMemberReferenceIds.add((member as graphType.Group).id);
|
||||
} else if (member[ObjectType] === '#microsoft.graph.user') {
|
||||
entry.userMemberExternalIds.add((member as graphType.User).id);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (memRes[NextLink] == null) {
|
||||
break;
|
||||
} else {
|
||||
const nextMemReq = this.client.api(memRes[NextLink]);
|
||||
memRes = await nextMemReq.get();
|
||||
}
|
||||
}
|
||||
|
||||
return entry;
|
||||
|
||||
Reference in New Issue
Block a user