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

dont skip disbaled users if not removeDisabled (#50)

This commit is contained in:
Kyle Spearrin
2020-07-01 16:15:32 -04:00
committed by GitHub
parent 473a6e391d
commit 15c1876687
5 changed files with 11 additions and 6 deletions

View File

@@ -70,7 +70,7 @@ export class AzureDirectoryService extends BaseDirectoryService implements Direc
if (this.syncConfig.groups) { if (this.syncConfig.groups) {
const setFilter = this.createCustomSet(this.syncConfig.groupFilter); const setFilter = this.createCustomSet(this.syncConfig.groupFilter);
groups = await this.getGroups(setFilter); groups = await this.getGroups(setFilter);
users = this.filterUsersFromGroupsSet(users, groups, setFilter); users = this.filterUsersFromGroupsSet(users, groups, setFilter, this.syncConfig);
} }
return [groups, users]; return [groups, users];

View File

@@ -1,3 +1,5 @@
import { SyncConfiguration } from '../models/syncConfiguration';
import { GroupEntry } from '../models/groupEntry'; import { GroupEntry } from '../models/groupEntry';
import { UserEntry } from '../models/userEntry'; import { UserEntry } from '../models/userEntry';
@@ -66,13 +68,16 @@ export abstract class BaseDirectoryService {
} }
protected filterUsersFromGroupsSet(users: UserEntry[], groups: GroupEntry[], protected filterUsersFromGroupsSet(users: UserEntry[], groups: GroupEntry[],
setFilter: [boolean, Set<string>]): UserEntry[] { setFilter: [boolean, Set<string>], syncConfig: SyncConfiguration): UserEntry[] {
if (setFilter == null || users == null) { if (setFilter == null || users == null) {
return users; return users;
} }
return users.filter((u) => { return users.filter((u) => {
if (u.disabled || u.deleted) { if (u.deleted) {
return true;
}
if (u.disabled && syncConfig.removeDisabled) {
return true; return true;
} }

View File

@@ -58,7 +58,7 @@ export class GSuiteDirectoryService extends BaseDirectoryService implements Dire
if (this.syncConfig.groups) { if (this.syncConfig.groups) {
const setFilter = this.createCustomSet(this.syncConfig.groupFilter); const setFilter = this.createCustomSet(this.syncConfig.groupFilter);
groups = await this.getGroups(setFilter); groups = await this.getGroups(setFilter);
users = this.filterUsersFromGroupsSet(users, groups, setFilter); users = this.filterUsersFromGroupsSet(users, groups, setFilter, this.syncConfig);
} }
return [groups, users]; return [groups, users];

View File

@@ -59,7 +59,7 @@ export class OktaDirectoryService extends BaseDirectoryService implements Direct
if (this.syncConfig.groups) { if (this.syncConfig.groups) {
const setFilter = this.createCustomSet(this.syncConfig.groupFilter); const setFilter = this.createCustomSet(this.syncConfig.groupFilter);
groups = await this.getGroups(this.forceGroup(force, users), setFilter); groups = await this.getGroups(this.forceGroup(force, users), setFilter);
users = this.filterUsersFromGroupsSet(users, groups, setFilter); users = this.filterUsersFromGroupsSet(users, groups, setFilter, this.syncConfig);
} }
return [groups, users]; return [groups, users];

View File

@@ -60,7 +60,7 @@ export class OneLoginDirectoryService extends BaseDirectoryService implements Di
if (this.syncConfig.groups) { if (this.syncConfig.groups) {
const setFilter = this.createCustomSet(this.syncConfig.groupFilter); const setFilter = this.createCustomSet(this.syncConfig.groupFilter);
groups = await this.getGroups(this.forceGroup(force, users), setFilter); groups = await this.getGroups(this.forceGroup(force, users), setFilter);
users = this.filterUsersFromGroupsSet(users, groups, setFilter); users = this.filterUsersFromGroupsSet(users, groups, setFilter, this.syncConfig);
} }
return [groups, users]; return [groups, users];