diff --git a/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/AdvancedApplicationConfiguration.java b/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/AdvancedApplicationConfiguration.java index cc7419e32d..1038100520 100644 --- a/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/AdvancedApplicationConfiguration.java +++ b/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/AdvancedApplicationConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023, WSO2 LLC. (http://www.wso2.com). + * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). * * WSO2 LLC. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except @@ -27,6 +27,7 @@ import org.wso2.carbon.identity.api.server.application.management.v1.AdditionalSpProperty; import org.wso2.carbon.identity.api.server.application.management.v1.AdvancedApplicationConfigurationAttestationMetaData; import org.wso2.carbon.identity.api.server.application.management.v1.Certificate; +import org.wso2.carbon.identity.api.server.application.management.v1.DiscoverableGroup; import org.wso2.carbon.identity.api.server.application.management.v1.TrustedAppConfiguration; import javax.validation.constraints.*; @@ -40,6 +41,8 @@ public class AdvancedApplicationConfiguration { private Boolean saas; private Boolean discoverableByEndUsers; + private List discoverableGroups = null; + private Certificate certificate; private Boolean skipLoginConsent; private Boolean skipLogoutConsent; @@ -92,6 +95,32 @@ public void setDiscoverableByEndUsers(Boolean discoverableByEndUsers) { /** **/ + public AdvancedApplicationConfiguration discoverableGroups(List discoverableGroups) { + + this.discoverableGroups = discoverableGroups; + return this; + } + + @ApiModelProperty(value = "") + @JsonProperty("discoverableGroups") + @Valid + public List getDiscoverableGroups() { + return discoverableGroups; + } + public void setDiscoverableGroups(List discoverableGroups) { + this.discoverableGroups = discoverableGroups; + } + + public AdvancedApplicationConfiguration addDiscoverableGroupsItem(DiscoverableGroup discoverableGroupsItem) { + if (this.discoverableGroups == null) { + this.discoverableGroups = new ArrayList<>(); + } + this.discoverableGroups.add(discoverableGroupsItem); + return this; + } + + /** + **/ public AdvancedApplicationConfiguration certificate(Certificate certificate) { this.certificate = certificate; @@ -317,6 +346,7 @@ public boolean equals(java.lang.Object o) { AdvancedApplicationConfiguration advancedApplicationConfiguration = (AdvancedApplicationConfiguration) o; return Objects.equals(this.saas, advancedApplicationConfiguration.saas) && Objects.equals(this.discoverableByEndUsers, advancedApplicationConfiguration.discoverableByEndUsers) && + Objects.equals(this.discoverableGroups, advancedApplicationConfiguration.discoverableGroups) && Objects.equals(this.certificate, advancedApplicationConfiguration.certificate) && Objects.equals(this.skipLoginConsent, advancedApplicationConfiguration.skipLoginConsent) && Objects.equals(this.skipLogoutConsent, advancedApplicationConfiguration.skipLogoutConsent) && @@ -332,7 +362,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(saas, discoverableByEndUsers, certificate, skipLoginConsent, skipLogoutConsent, useExternalConsentPage, returnAuthenticatedIdpList, enableAuthorization, fragment, enableAPIBasedAuthentication, attestationMetaData, trustedAppConfiguration, additionalSpProperties); + return Objects.hash(saas, discoverableByEndUsers, discoverableGroups, certificate, skipLoginConsent, skipLogoutConsent, useExternalConsentPage, returnAuthenticatedIdpList, enableAuthorization, fragment, enableAPIBasedAuthentication, attestationMetaData, trustedAppConfiguration, additionalSpProperties); } @Override @@ -343,6 +373,7 @@ public String toString() { sb.append(" saas: ").append(toIndentedString(saas)).append("\n"); sb.append(" discoverableByEndUsers: ").append(toIndentedString(discoverableByEndUsers)).append("\n"); + sb.append(" discoverableGroups: ").append(toIndentedString(discoverableGroups)).append("\n"); sb.append(" certificate: ").append(toIndentedString(certificate)).append("\n"); sb.append(" skipLoginConsent: ").append(toIndentedString(skipLoginConsent)).append("\n"); sb.append(" skipLogoutConsent: ").append(toIndentedString(skipLogoutConsent)).append("\n"); diff --git a/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/DiscoverableGroup.java b/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/DiscoverableGroup.java new file mode 100644 index 0000000000..83a29d2173 --- /dev/null +++ b/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/gen/java/org/wso2/carbon/identity/api/server/application/management/v1/DiscoverableGroup.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.carbon.identity.api.server.application.management.v1; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import javax.validation.constraints.*; + + +import io.swagger.annotations.*; +import java.util.Objects; +import javax.validation.Valid; +import javax.xml.bind.annotation.*; + +public class DiscoverableGroup { + + private String userStore; + private List groups = null; + + /** + * ID of the user store the groups belong to + **/ + public DiscoverableGroup userStore(String userStore) { + + this.userStore = userStore; + return this; + } + + @ApiModelProperty(value = "ID of the user store the groups belong to") + @JsonProperty("userStore") + @Valid + public String getUserStore() { + return userStore; + } + public void setUserStore(String userStore) { + this.userStore = userStore; + } + + /** + * List of group IDs configured for discoverability + **/ + public DiscoverableGroup groups(List groups) { + + this.groups = groups; + return this; + } + + @ApiModelProperty(value = "List of group IDs configured for discoverability") + @JsonProperty("groups") + @Valid + public List getGroups() { + return groups; + } + public void setGroups(List groups) { + this.groups = groups; + } + + public DiscoverableGroup addGroupsItem(String groupsItem) { + if (this.groups == null) { + this.groups = new ArrayList<>(); + } + this.groups.add(groupsItem); + return this; + } + + @Override + public boolean equals(java.lang.Object o) { + + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DiscoverableGroup discoverableGroup = (DiscoverableGroup) o; + return Objects.equals(this.userStore, discoverableGroup.userStore) && + Objects.equals(this.groups, discoverableGroup.groups); + } + + @Override + public int hashCode() { + return Objects.hash(userStore, groups); + } + + @Override + public String toString() { + + StringBuilder sb = new StringBuilder(); + sb.append("class DiscoverableGroup {\n"); + + sb.append(" userStore: ").append(toIndentedString(userStore)).append("\n"); + sb.append(" groups: ").append(toIndentedString(groups)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n"); + } +} diff --git a/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/main/resources/applications.yaml b/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/main/resources/applications.yaml index fb429d2e80..523f131541 100644 --- a/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/main/resources/applications.yaml +++ b/components/org.wso2.carbon.identity.api.server.application.management/org.wso2.carbon.identity.api.server.application.management.v1/src/main/resources/applications.yaml @@ -3112,6 +3112,10 @@ components: type: boolean example: false description: Decides whether the application is visible for end users. + discoverableGroups: + type: array + items: + $ref: '#/components/schemas/DiscoverableGroup' certificate: $ref: '#/components/schemas/Certificate' skipLoginConsent: @@ -3223,6 +3227,19 @@ components: description: >- Certificate value. If type is JWKS, value should be jwks URL. If type is PEM, value should be the certificate in PEM format. + DiscoverableGroup: + type: object + properties: + userStore: + type: string + description: >- + ID of the user store the groups belong to + groups: + type: array + items: + type: string + description: >- + List of group IDs configured for discoverability InboundProtocols: type: object properties: