-
Notifications
You must be signed in to change notification settings - Fork 148
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #551 from Kanapriya/multiple_invite
Support multiple user invite at once in from parent organization to sub organization
- Loading branch information
Showing
9 changed files
with
271 additions
and
108 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,33 +34,39 @@ | |
|
||
public class InvitationRequestBody { | ||
|
||
private String username; | ||
private List<String> usernames = new ArrayList<>(); | ||
|
||
private String userDomain; | ||
private List<String> roles = null; | ||
|
||
|
||
/** | ||
* Username of the user who will be invited to the organization. This can be an email or an alphanumeric username. | ||
* List of usernames of the users who will be invited to the organization. This can be an email or an alphanumeric username. | ||
**/ | ||
public InvitationRequestBody username(String username) { | ||
public InvitationRequestBody usernames(List<String> usernames) { | ||
|
||
this.username = username; | ||
this.usernames = usernames; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(example = "[email protected]/alex", required = true, value = "Username of the user who will be invited to the organization. This can be an email or an alphanumeric username.") | ||
@JsonProperty("username") | ||
@ApiModelProperty(required = true, value = "List of usernames of the users who will be invited to the organization. This can be an email or an alphanumeric username.") | ||
@JsonProperty("usernames") | ||
@Valid | ||
@NotNull(message = "Property username cannot be null.") | ||
@NotNull(message = "Property usernames cannot be null.") | ||
|
||
public String getUsername() { | ||
return username; | ||
public List<String> getUsernames() { | ||
return usernames; | ||
} | ||
public void setUsername(String username) { | ||
this.username = username; | ||
public void setUsernames(List<String> usernames) { | ||
this.usernames = usernames; | ||
} | ||
|
||
/** | ||
public InvitationRequestBody addUsernamesItem(String usernamesItem) { | ||
this.usernames.add(usernamesItem); | ||
return this; | ||
} | ||
|
||
/** | ||
* User store domain of the user. If not provided, PRIMARY will be used. | ||
**/ | ||
public InvitationRequestBody userDomain(String userDomain) { | ||
|
@@ -118,14 +124,14 @@ public boolean equals(java.lang.Object o) { | |
return false; | ||
} | ||
InvitationRequestBody invitationRequestBody = (InvitationRequestBody) o; | ||
return Objects.equals(this.username, invitationRequestBody.username) && | ||
return Objects.equals(this.usernames, invitationRequestBody.usernames) && | ||
Objects.equals(this.userDomain, invitationRequestBody.userDomain) && | ||
Objects.equals(this.roles, invitationRequestBody.roles); | ||
} | ||
|
||
@Override | ||
public int hashCode() { | ||
return Objects.hash(username, userDomain, roles); | ||
return Objects.hash(usernames, userDomain, roles); | ||
} | ||
|
||
@Override | ||
|
@@ -134,7 +140,7 @@ public String toString() { | |
StringBuilder sb = new StringBuilder(); | ||
sb.append("class InvitationRequestBody {\n"); | ||
|
||
sb.append(" username: ").append(toIndentedString(username)).append("\n"); | ||
sb.append(" usernames: ").append(toIndentedString(usernames)).append("\n"); | ||
sb.append(" userDomain: ").append(toIndentedString(userDomain)).append("\n"); | ||
sb.append(" roles: ").append(toIndentedString(roles)).append("\n"); | ||
sb.append("}"); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,9 +22,7 @@ | |
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 org.wso2.carbon.identity.api.server.organization.user.invitation.management.v1.model.RoleAssignmentResponse; | ||
import org.wso2.carbon.identity.api.server.organization.user.invitation.management.v1.model.InvitationSuccessResponseResult; | ||
import javax.validation.constraints.*; | ||
|
||
|
||
|
@@ -36,9 +34,7 @@ | |
public class InvitationSuccessResponse { | ||
|
||
private String username; | ||
private String email; | ||
private List<RoleAssignmentResponse> roles = new ArrayList<>(); | ||
|
||
private InvitationSuccessResponseResult result; | ||
|
||
/** | ||
* Username of the user who will be invited to the organization. This can be an email or an alphanumeric username. | ||
|
@@ -62,53 +58,26 @@ public void setUsername(String username) { | |
} | ||
|
||
/** | ||
* Email of the user who will be invited to the organization. | ||
**/ | ||
public InvitationSuccessResponse email(String email) { | ||
public InvitationSuccessResponse result(InvitationSuccessResponseResult result) { | ||
|
||
this.email = email; | ||
this.result = result; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(example = "[email protected]", required = true, value = "Email of the user who will be invited to the organization.") | ||
@JsonProperty("email") | ||
@ApiModelProperty(required = true, value = "") | ||
@JsonProperty("result") | ||
@Valid | ||
@NotNull(message = "Property email cannot be null.") | ||
@NotNull(message = "Property result cannot be null.") | ||
|
||
public String getEmail() { | ||
return email; | ||
public InvitationSuccessResponseResult getResult() { | ||
return result; | ||
} | ||
public void setEmail(String email) { | ||
this.email = email; | ||
public void setResult(InvitationSuccessResponseResult result) { | ||
this.result = result; | ||
} | ||
|
||
/** | ||
* Role assignments which the user will be assigned to. | ||
**/ | ||
public InvitationSuccessResponse roles(List<RoleAssignmentResponse> roles) { | ||
|
||
this.roles = roles; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(required = true, value = "Role assignments which the user will be assigned to.") | ||
@JsonProperty("roles") | ||
@Valid | ||
@NotNull(message = "Property roles cannot be null.") | ||
|
||
public List<RoleAssignmentResponse> getRoles() { | ||
return roles; | ||
} | ||
public void setRoles(List<RoleAssignmentResponse> roles) { | ||
this.roles = roles; | ||
} | ||
|
||
public InvitationSuccessResponse addRolesItem(RoleAssignmentResponse rolesItem) { | ||
this.roles.add(rolesItem); | ||
return this; | ||
} | ||
|
||
|
||
|
||
@Override | ||
public boolean equals(java.lang.Object o) { | ||
|
@@ -121,13 +90,12 @@ public boolean equals(java.lang.Object o) { | |
} | ||
InvitationSuccessResponse invitationSuccessResponse = (InvitationSuccessResponse) o; | ||
return Objects.equals(this.username, invitationSuccessResponse.username) && | ||
Objects.equals(this.email, invitationSuccessResponse.email) && | ||
Objects.equals(this.roles, invitationSuccessResponse.roles); | ||
Objects.equals(this.result, invitationSuccessResponse.result); | ||
} | ||
|
||
@Override | ||
public int hashCode() { | ||
return Objects.hash(username, email, roles); | ||
return Objects.hash(username, result); | ||
} | ||
|
||
@Override | ||
|
@@ -137,8 +105,7 @@ public String toString() { | |
sb.append("class InvitationSuccessResponse {\n"); | ||
|
||
sb.append(" username: ").append(toIndentedString(username)).append("\n"); | ||
sb.append(" email: ").append(toIndentedString(email)).append("\n"); | ||
sb.append(" roles: ").append(toIndentedString(roles)).append("\n"); | ||
sb.append(" result: ").append(toIndentedString(result)).append("\n"); | ||
sb.append("}"); | ||
return sb.toString(); | ||
} | ||
|
164 changes: 164 additions & 0 deletions
164
...ver/organization/user/invitation/management/v1/model/InvitationSuccessResponseResult.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
/* | ||
* Copyright (c) 2023, 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.organization.user.invitation.management.v1.model; | ||
|
||
import com.fasterxml.jackson.annotation.JsonProperty; | ||
import com.fasterxml.jackson.annotation.JsonCreator; | ||
import io.swagger.annotations.ApiModel; | ||
import io.swagger.annotations.ApiModelProperty; | ||
import javax.validation.constraints.*; | ||
|
||
/** | ||
* Role assignments which the user will be assigned to. | ||
**/ | ||
|
||
import io.swagger.annotations.*; | ||
import java.util.Objects; | ||
import javax.validation.Valid; | ||
import javax.xml.bind.annotation.*; | ||
@ApiModel(description = "Role assignments which the user will be assigned to.") | ||
public class InvitationSuccessResponseResult { | ||
|
||
private String status; | ||
private String errorCode; | ||
private String errorMessage; | ||
private String errorDescription; | ||
|
||
/** | ||
**/ | ||
public InvitationSuccessResponseResult status(String status) { | ||
|
||
this.status = status; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(example = "Successful/Failed", value = "") | ||
@JsonProperty("status") | ||
@Valid | ||
public String getStatus() { | ||
return status; | ||
} | ||
public void setStatus(String status) { | ||
this.status = status; | ||
} | ||
|
||
/** | ||
**/ | ||
public InvitationSuccessResponseResult errorCode(String errorCode) { | ||
|
||
this.errorCode = errorCode; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(example = "OUI-00000", value = "") | ||
@JsonProperty("errorCode") | ||
@Valid | ||
public String getErrorCode() { | ||
return errorCode; | ||
} | ||
public void setErrorCode(String errorCode) { | ||
this.errorCode = errorCode; | ||
} | ||
|
||
/** | ||
**/ | ||
public InvitationSuccessResponseResult errorMessage(String errorMessage) { | ||
|
||
this.errorMessage = errorMessage; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(example = "Some Error Message", value = "") | ||
@JsonProperty("errorMessage") | ||
@Valid | ||
public String getErrorMessage() { | ||
return errorMessage; | ||
} | ||
public void setErrorMessage(String errorMessage) { | ||
this.errorMessage = errorMessage; | ||
} | ||
|
||
/** | ||
**/ | ||
public InvitationSuccessResponseResult errorDescription(String errorDescription) { | ||
|
||
this.errorDescription = errorDescription; | ||
return this; | ||
} | ||
|
||
@ApiModelProperty(example = "Some Error Description", value = "") | ||
@JsonProperty("errorDescription") | ||
@Valid | ||
public String getErrorDescription() { | ||
return errorDescription; | ||
} | ||
public void setErrorDescription(String errorDescription) { | ||
this.errorDescription = errorDescription; | ||
} | ||
|
||
|
||
|
||
@Override | ||
public boolean equals(java.lang.Object o) { | ||
|
||
if (this == o) { | ||
return true; | ||
} | ||
if (o == null || getClass() != o.getClass()) { | ||
return false; | ||
} | ||
InvitationSuccessResponseResult invitationSuccessResponseResult = (InvitationSuccessResponseResult) o; | ||
return Objects.equals(this.status, invitationSuccessResponseResult.status) && | ||
Objects.equals(this.errorCode, invitationSuccessResponseResult.errorCode) && | ||
Objects.equals(this.errorMessage, invitationSuccessResponseResult.errorMessage) && | ||
Objects.equals(this.errorDescription, invitationSuccessResponseResult.errorDescription); | ||
} | ||
|
||
@Override | ||
public int hashCode() { | ||
return Objects.hash(status, errorCode, errorMessage, errorDescription); | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
|
||
StringBuilder sb = new StringBuilder(); | ||
sb.append("class InvitationSuccessResponseResult {\n"); | ||
|
||
sb.append(" status: ").append(toIndentedString(status)).append("\n"); | ||
sb.append(" errorCode: ").append(toIndentedString(errorCode)).append("\n"); | ||
sb.append(" errorMessage: ").append(toIndentedString(errorMessage)).append("\n"); | ||
sb.append(" errorDescription: ").append(toIndentedString(errorDescription)).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"); | ||
} | ||
} | ||
|
Oops, something went wrong.