1
0
mirror of https://github.com/bitwarden/directory-connector synced 2025-12-05 23:53:21 +00:00

formatting

This commit is contained in:
Kyle Spearrin
2018-10-26 07:34:16 -04:00
parent 447b674469
commit 70c1eb0623
2 changed files with 36 additions and 35 deletions

2
jslib

Submodule jslib updated: 2f6426deb4...b0eea9d7ce

View File

@@ -21,6 +21,13 @@ const NextLink = '@odata.nextLink';
const DeltaLink = '@odata.deltaLink';
const ObjectType = '@odata.type';
enum UserSetType {
IncludeUser,
ExcludeUser,
IncludeGroup,
ExcludeGroup,
}
export class AzureDirectoryService extends BaseDirectoryService implements DirectoryService {
private client: graph.Client;
private dirConfig: AzureConfiguration;
@@ -162,35 +169,36 @@ export class AzureDirectoryService extends BaseDirectoryService implements Direc
}
private async filterOutUserResult(setFilter: [UserSetType, Set<string>], user: UserEntry): Promise<boolean> {
if (setFilter != null) {
let userSetTypeExclude = null;
if (setFilter[0] === UserSetType.IncludeUser) {
userSetTypeExclude = false;
} else if (setFilter[0] === UserSetType.ExcludeUser) {
userSetTypeExclude = true;
}
if (userSetTypeExclude != null) {
return this.filterOutResult([userSetTypeExclude, setFilter[1]], user.email);
} else {
try {
let memberGroups = await this.client.api(`/users/${user.externalId}/checkMemberGroups`).post({
groupIds: Array.from(setFilter[1])
});
if (memberGroups.value.length > 0 && setFilter[0] == UserSetType.IncludeGroup) {
return false;
} else if (memberGroups.value.length > 0 && setFilter[0] == UserSetType.ExcludeGroup) {
return true;
} else if (memberGroups.value.length == 0 && setFilter[0] == UserSetType.IncludeGroup) {
return true;
} else if (memberGroups.value.length == 0 && setFilter[0] == UserSetType.ExcludeGroup) {
return false;
}
} catch(ex) {
return false;
}
}
if (setFilter == null) {
return false;
}
let userSetTypeExclude = null;
if (setFilter[0] === UserSetType.IncludeUser) {
userSetTypeExclude = false;
} else if (setFilter[0] === UserSetType.ExcludeUser) {
userSetTypeExclude = true;
}
if (userSetTypeExclude != null) {
return this.filterOutResult([userSetTypeExclude, setFilter[1]], user.email);
}
try {
const memberGroups = await this.client.api(`/users/${user.externalId}/checkMemberGroups`).post({
groupIds: Array.from(setFilter[1]),
});
if (memberGroups.value.length > 0 && setFilter[0] === UserSetType.IncludeGroup) {
return false;
} else if (memberGroups.value.length > 0 && setFilter[0] === UserSetType.ExcludeGroup) {
return true;
} else if (memberGroups.value.length === 0 && setFilter[0] === UserSetType.IncludeGroup) {
return true;
} else if (memberGroups.value.length === 0 && setFilter[0] === UserSetType.ExcludeGroup) {
return false;
}
} catch { }
return false;
}
@@ -349,10 +357,3 @@ export class AzureDirectoryService extends BaseDirectoryService implements Direc
this.accessTokenExpiration = exp;
}
}
enum UserSetType {
IncludeUser,
ExcludeUser,
IncludeGroup,
ExcludeGroup
}