mirror of
https://github.com/bitwarden/directory-connector
synced 2025-12-15 07:43:27 +00:00
formatting
This commit is contained in:
2
jslib
2
jslib
Submodule jslib updated: 2f6426deb4...b0eea9d7ce
@@ -21,6 +21,13 @@ const NextLink = '@odata.nextLink';
|
|||||||
const DeltaLink = '@odata.deltaLink';
|
const DeltaLink = '@odata.deltaLink';
|
||||||
const ObjectType = '@odata.type';
|
const ObjectType = '@odata.type';
|
||||||
|
|
||||||
|
enum UserSetType {
|
||||||
|
IncludeUser,
|
||||||
|
ExcludeUser,
|
||||||
|
IncludeGroup,
|
||||||
|
ExcludeGroup,
|
||||||
|
}
|
||||||
|
|
||||||
export class AzureDirectoryService extends BaseDirectoryService implements DirectoryService {
|
export class AzureDirectoryService extends BaseDirectoryService implements DirectoryService {
|
||||||
private client: graph.Client;
|
private client: graph.Client;
|
||||||
private dirConfig: AzureConfiguration;
|
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> {
|
private async filterOutUserResult(setFilter: [UserSetType, Set<string>], user: UserEntry): Promise<boolean> {
|
||||||
if (setFilter != null) {
|
if (setFilter == null) {
|
||||||
let userSetTypeExclude = null;
|
return false;
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -349,10 +357,3 @@ export class AzureDirectoryService extends BaseDirectoryService implements Direc
|
|||||||
this.accessTokenExpiration = exp;
|
this.accessTokenExpiration = exp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum UserSetType {
|
|
||||||
IncludeUser,
|
|
||||||
ExcludeUser,
|
|
||||||
IncludeGroup,
|
|
||||||
ExcludeGroup
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user