package org.jetbrains.teamcity.aad;
import jetbrains.buildServer.serverSide.auth.AuthModule;
import jetbrains.buildServer.serverSide.auth.LoginConfiguration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Map;
/**
* @author Evgeniy.Koshkin
*/
public class AADSchemeProperties {
@NotNull private final LoginConfiguration myLoginConfiguration;
public AADSchemeProperties(@NotNull final LoginConfiguration loginConfiguration) {
myLoginConfiguration = loginConfiguration;
}
@Nullable
public String getAppOAuthEndpoint() {
final Map<String, String> properties = getAADSchemeProperties();
return properties == null ? null : properties.get(AADConstants.AUTH_ENDPOINT_SCHEME_PROPERTY_KEY);
}
@Nullable
public String getClientId() {
final Map<String, String> properties = getAADSchemeProperties();
return properties == null ? null : properties.get(AADConstants.CLIENT_ID_SCHEME_PROPERTY_KEY);
}
public boolean isSchemeConfigured() {
return !myLoginConfiguration.getConfiguredAuthModules(AADAuthenticationScheme.class).isEmpty();
}
@Nullable
private Map<String, String> getAADSchemeProperties() {
final List<AuthModule<AADAuthenticationScheme>> aadAuthModules = myLoginConfiguration.getConfiguredAuthModules(AADAuthenticationScheme.class);
return aadAuthModules.isEmpty() ? null : aadAuthModules.get(0).getProperties();
}
}