package com.constellio.model.conf.ldap.services;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.constellio.model.conf.ldap.config.LDAPServerConfiguration;
import com.constellio.model.conf.ldap.config.LDAPUserSyncConfiguration;
import com.constellio.model.conf.ldap.services.LDAPServicesException.CouldNotConnectUserToLDAP;
import com.constellio.model.conf.ldap.user.LDAPGroup;
import com.constellio.model.conf.ldap.user.LDAPUser;
public interface LDAPServices {
void authenticateUser(LDAPServerConfiguration ldapServerConfiguration, String user, String password)
throws CouldNotConnectUserToLDAP;
List<String> getTestSynchronisationUsersNames(LDAPServerConfiguration ldapServerConfiguration,
LDAPUserSyncConfiguration ldapUserSyncConfiguration);
List<String> getTestSynchronisationGroups(LDAPServerConfiguration ldapServerConfiguration,
LDAPUserSyncConfiguration ldapUserSyncConfiguration);
LDAPUsersAndGroups importUsersAndGroups(LDAPServerConfiguration serverConfiguration,
LDAPUserSyncConfiguration userSyncConfiguration, String url);
class LDAPUsersAndGroups {
Set<LDAPGroup> groups = new HashSet<>();
private Set<LDAPUser> users = new HashSet<>();
public LDAPUsersAndGroups(Set<LDAPUser> ldapUsers, Set<LDAPGroup> ldapGroups) {
this.users.addAll(ldapUsers);
this.groups.addAll(ldapGroups);
}
public Set<LDAPGroup> getGroups() {
return groups;
}
public Set<LDAPUser> getUsers() {
return users;
}
}
}