CB-4335. Added required parameter to AuthProviderInfo

This commit is contained in:
Denis Sinelnikov
2023-12-08 15:11:10 +04:00
parent 7c6a744303
commit e5d34fc6e4
4 changed files with 14 additions and 2 deletions
@@ -55,6 +55,7 @@ public class WebAuthProviderDescriptor extends AbstractDescriptor {
private final boolean trusted;
private final boolean isPrivate;
private final String[] requiredFeatures;
private final boolean isRequired;
public WebAuthProviderDescriptor(IConfigurationElement cfg) {
super(cfg);
@@ -64,6 +65,7 @@ public class WebAuthProviderDescriptor extends AbstractDescriptor {
this.configurable = CommonUtils.toBoolean(cfg.getAttribute("configurable"));
this.trusted = CommonUtils.toBoolean(cfg.getAttribute("trusted"));
this.isPrivate = CommonUtils.toBoolean(cfg.getAttribute("private"));
this.isRequired = CommonUtils.toBoolean(cfg.getAttribute("required"));
for (IConfigurationElement cfgElement : cfg.getChildren("configuration")) {
for (IConfigurationElement propGroup : ArrayUtils.safeArray(cfgElement.getChildren(PropertyDescriptor.TAG_PROPERTY_GROUP))) {
@@ -124,6 +126,10 @@ public class WebAuthProviderDescriptor extends AbstractDescriptor {
return isPrivate;
}
public boolean isRequired() {
return isRequired;
}
public List<PropertyDescriptor> getConfigurationParameters() {
return new ArrayList<>(configurationParameters.values());
}
@@ -83,6 +83,10 @@ public class WebAuthProviderInfo {
return descriptor.isPrivate();
}
public boolean isRequired() {
return descriptor.isRequired();
}
public boolean isSupportProvisioning() {
return descriptor.getInstance() instanceof SMProvisioner;
}
@@ -72,6 +72,8 @@ type AuthProviderInfo {
credentialProfiles: [AuthProviderCredentialsProfile!]!
requiredFeatures: [String!]!
required: Boolean!
}
type AuthInfo {
@@ -9,8 +9,8 @@
icon="platform:/plugin/org.jkiss.dbeaver.model/icons/tree/key.png">
<credentials>
<propertyGroup label="General">
<property id="user" label="User name" type="string" description="User name" admin="true" user="true" identifying="true"/>
<property id="password" label="User password" type="string" description="User password" encryption="hash" admin="true" user="true"/>
<property id="user" label="User name" type="string" description="User name" admin="true" user="true" identifying="true" required="true"/>
<property id="password" label="User password" type="string" description="User password" encryption="hash" admin="true" user="true" required="true"/>
</propertyGroup>
</credentials>