Switch relations argument to string[] and update references

Signed-off-by: Stephen Barry <sbarry@poppulo.com>
This commit is contained in:
Stephen Barry
2023-08-16 14:43:25 +01:00
parent 636728ae41
commit cb61a63af3
3 changed files with 17 additions and 15 deletions
@@ -437,7 +437,7 @@ describe('GitLabClient', () => {
});
const saasMembers = (
await client.getGroupMembers('group1', 'DIRECT, DESCENDANTS')
await client.getGroupMembers('group1', ['DIRECT, DESCENDANTS'])
).items;
const expectedSaasMember = [
{
@@ -473,7 +473,7 @@ describe('GitLabClient', () => {
});
const saasMembers = (
await client.getGroupMembers('group1', 'DIRECT, DESCENDANTS')
await client.getGroupMembers('group1', ['DIRECT, DESCENDANTS'])
).items;
expect(saasMembers).toEqual([]);
@@ -497,7 +497,7 @@ describe('GitLabClient', () => {
});
await expect(() =>
client.getGroupMembers('group1', 'DIRECT, DESCENDANTS'),
client.getGroupMembers('group1', ['DIRECT, DESCENDANTS']),
).rejects.toThrow(
'GraphQL errors: [{"message":"Unexpected end of document","locations":[]}]',
);
@@ -554,7 +554,7 @@ describe('GitLabClient', () => {
});
const saasMembers = (
await client.getGroupMembers('group1', 'DIRECT, DESCENDANTS')
await client.getGroupMembers('group1', ['DIRECT, DESCENDANTS'])
).items;
const expectedSaasMember1 = {
@@ -787,7 +787,7 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
const members = await client.getGroupMembers('group1', 'DIRECT');
const members = await client.getGroupMembers('group1', ['DIRECT']);
const user = {
id: 1,
@@ -819,7 +819,7 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
const members = await client.getGroupMembers('group1', 'DIRECT');
const members = await client.getGroupMembers('group1', ['DIRECT']);
expect(members.items).toEqual([]);
});
@@ -842,7 +842,7 @@ describe('GitLabClient', () => {
});
await expect(() =>
client.getGroupMembers('group1', 'DIRECT'),
client.getGroupMembers('group1', ['DIRECT']),
).rejects.toThrow(
'GraphQL errors: [{"message":"Unexpected end of document","locations":[]}]',
);
@@ -875,7 +875,7 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
const members = await client.getGroupMembers('group1', 'DIRECT');
const members = await client.getGroupMembers('group1', ['DIRECT']);
expect(members.items[0].id).toEqual(1);
expect(members.items[1].id).toEqual(2);
@@ -173,7 +173,7 @@ export class GitLabClient {
async getGroupMembers(
groupPath: string,
relations: string,
relations: string[],
): Promise<PagedResponse<GitLabUser>> {
const items: GitLabUser[] = [];
let hasNextPage: boolean = false;
@@ -189,9 +189,9 @@ export class GitLabClient {
},
body: JSON.stringify({
variables: { group: groupPath, relations: relations, endCursor },
query: `query getGroupMembers($group: ID!, $relations: GroupMemberRelation!, $endCursor: String) {
query: `query getGroupMembers($group: ID!, $relations: [GroupMemberRelation!], $endCursor: String) {
group(fullPath: $group) {
groupMembers(first: 100, relations: [$relations], after: $endCursor) {
groupMembers(first: 100, relations: $relations, after: $endCursor) {
nodes {
user {
id
@@ -191,7 +191,10 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider {
} else {
groups = (await client.listDescendantGroups(this.config.group)).items;
users = (
await client.getGroupMembers(this.config.group.split('/')[0], 'DIRECT')
await client.getGroupMembers(this.config.group.split('/')[0], [
'DIRECT',
'DESCENDANTS',
])
).items;
}
@@ -237,10 +240,9 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider {
groupRes.scanned++;
groupRes.matches.push(group);
const groupUsers = await client.getGroupMembers(
group.full_path,
const groupUsers = await client.getGroupMembers(group.full_path, [
'DIRECT',
);
]);
for (const groupUser of groupUsers.items) {
const user = idMappedUser[groupUser.id];