Skip to content

Commit 3cdbe1f

Browse files
authored
Add methods about invitations in auth-server in Litmus (#29)
* feat: add invite Client (#7) Signed-off-by: 잉퓨 <[email protected]> * test: add invite Client Test (#7) Signed-off-by: 잉퓨 <[email protected]> * docs: add invite Client Docs (#7) Signed-off-by: 잉퓨 <[email protected]> * fix: remove Project (#4) Signed-off-by: 잉퓨 <[email protected]> * fix: update Builder pattern (#4) Signed-off-by: 잉퓨 <[email protected]> --------- Signed-off-by: 잉퓨 <[email protected]>
1 parent 52e4379 commit 3cdbe1f

12 files changed

+833
-0
lines changed

docs/invitation.md

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
2+
# Invitation Request
3+
4+
```mermaid
5+
classDiagram
6+
class AcceptInvitationRequest {
7+
-String projectId
8+
-String userId
9+
+AcceptInvitationRequest(String projectId, String userId)
10+
}
11+
```
12+
```mermaid
13+
classDiagram
14+
class DeclineInvitationRequest {
15+
-String projectId
16+
-String userId
17+
+DeclineInvitationRequest(String projectId, String userId)
18+
}
19+
```
20+
```mermaid
21+
classDiagram
22+
class InviteUsersRequest {
23+
-String projectId
24+
-String userId
25+
+InviteUsersRequest(String projectId, String userId)
26+
}
27+
```
28+
```mermaid
29+
classDiagram
30+
class ListInvitationRequest {
31+
-String projectId
32+
-String userId
33+
+ListInvitationRequest(String projectId, String userId)
34+
}
35+
```
36+
```mermaid
37+
classDiagram
38+
class RemoveInvitationRequest {
39+
-String projectId
40+
-String userId
41+
+RemoveInvitationRequest(String projectId, String userId)
42+
}
43+
```
44+
```mermaid
45+
classDiagram
46+
class SendInvitationRequest {
47+
-String projectId
48+
-String userId
49+
-String role
50+
+SendInvitationRequest(String projectId, String userId, String role)
51+
}
52+
```
53+
54+
# Invitation Response
55+
```mermaid
56+
classDiagram
57+
58+
class InviteUsersResponse {
59+
-long updatedAt
60+
-long createdAt
61+
-UserInfo createdBy
62+
-UserInfo updatedBy
63+
-boolean isRemoved
64+
-String userID
65+
-String username
66+
-String salt
67+
-String email
68+
-String name
69+
-String role
70+
-boolean isInitialLogin
71+
+InviteUsersResponse(long updatedAt, long createdAt, UserInfo createdBy, UserInfo updatedBy, boolean isRemoved, String userID, String username, String salt, String email, String name, String role, boolean isInitialLogin)
72+
}
73+
74+
class UserInfo {
75+
-String userID
76+
-String username
77+
-String email
78+
+UserInfo(String userID, String username, String email)
79+
}
80+
InviteUsersResponse --> UserInfo
81+
```
82+
```mermaid
83+
classDiagram
84+
class ListInvitationResponse {
85+
-String projectID
86+
-String projectName
87+
-ProjectUser projectOwner
88+
-String invitationRole
89+
+ListInvitationResponse(String projectID, String projectName, ProjectUser projectOwner, String invitationRole)
90+
}
91+
92+
class ProjectUser {
93+
-String userID
94+
-String username
95+
-String email
96+
-String name
97+
-String role
98+
-String invitation
99+
-long joinedAt
100+
+ProjectUser(String userID, String username, String email, String name, String role, String invitation, long joinedAt)
101+
}
102+
ListInvitationResponse --> ProjectUser
103+
```

src/main/java/io/litmuschaos/LitmusClient.java

+27
Original file line numberDiff line numberDiff line change
@@ -166,4 +166,31 @@ public CommonResponse deleteProject(String projectID) throws IOException, Litmus
166166
return httpClient.post("/delete_project/" + projectID, token, CommonResponse.class);
167167
}
168168

169+
170+
public SendInvitationResponse sendInvitation(SendInvitationRequest request) throws IOException, LitmusApiException {
171+
return httpClient.post("/send_invitation", token, request, SendInvitationResponse.class);
172+
}
173+
174+
public CommonResponse acceptInvitation(AcceptInvitationRequest request) throws IOException, LitmusApiException {
175+
return httpClient.post("/accept_invitation", token, request, CommonResponse.class);
176+
}
177+
178+
public CommonResponse declineInvitation(DeclineInvitationRequest request) throws IOException, LitmusApiException {
179+
return httpClient.post("/decline_invitation", token, request, CommonResponse.class);
180+
}
181+
182+
public CommonResponse removeInvitation(RemoveInvitationRequest request) throws IOException, LitmusApiException {
183+
return httpClient.post("/remove_invitation", token, request, CommonResponse.class);
184+
}
185+
186+
public List<ListInvitationResponse> listInvitation(String status)
187+
throws IOException, LitmusApiException {
188+
return httpClient.get("/list_invitations_with_filters/" + status, token, List.class);
189+
}
190+
191+
public List<InviteUsersResponse> inviteUsers(String projectId)
192+
throws IOException, LitmusApiException {
193+
return httpClient.get("/invite_users/" + projectId, token, List.class);
194+
}
195+
169196
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.litmuschaos.request;
2+
3+
import io.litmuschaos.util.Builder;
4+
5+
public class AcceptInvitationRequest {
6+
7+
private final String projectId;
8+
private final String userId;
9+
10+
private AcceptInvitationRequest(AcceptInvitationRequestBuilder builder) {
11+
this.projectId = builder.projectId;
12+
this.userId = builder.userId;
13+
}
14+
15+
public static AcceptInvitationRequestBuilder builder() {
16+
return new AcceptInvitationRequestBuilder();
17+
}
18+
19+
public static class AcceptInvitationRequestBuilder implements Builder<AcceptInvitationRequest> {
20+
private String projectId;
21+
private String userId;
22+
23+
public AcceptInvitationRequestBuilder projectId(String projectId) {
24+
this.projectId = projectId;
25+
return this;
26+
}
27+
28+
public AcceptInvitationRequestBuilder userId(String userId) {
29+
this.userId = userId;
30+
return this;
31+
}
32+
33+
@Override
34+
public AcceptInvitationRequest build() {
35+
return new AcceptInvitationRequest(this);
36+
}
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package io.litmuschaos.request;
2+
3+
import io.litmuschaos.util.Builder;
4+
5+
public class DeclineInvitationRequest {
6+
7+
private final String projectId;
8+
private final String userId;
9+
10+
private DeclineInvitationRequest(DeclineInvitationRequestBuilder builder) {
11+
this.projectId = builder.projectId;
12+
this.userId = builder.userId;
13+
}
14+
15+
public static DeclineInvitationRequestBuilder builder() {
16+
return new DeclineInvitationRequestBuilder();
17+
}
18+
19+
public static class DeclineInvitationRequestBuilder implements Builder<DeclineInvitationRequest> {
20+
private String projectId;
21+
private String userId;
22+
23+
public DeclineInvitationRequestBuilder projectId(String projectId) {
24+
this.projectId = projectId;
25+
return this;
26+
}
27+
28+
public DeclineInvitationRequestBuilder userId(String userId) {
29+
this.userId = userId;
30+
return this;
31+
}
32+
33+
@Override
34+
public DeclineInvitationRequest build() {
35+
return new DeclineInvitationRequest(this);
36+
}
37+
}
38+
39+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package io.litmuschaos.request;
2+
3+
import io.litmuschaos.util.Builder;
4+
5+
public class InviteUsersRequest {
6+
7+
private final String projectId;
8+
private final String userId;
9+
10+
private InviteUsersRequest(InviteUsersRequestBuilder builder) {
11+
this.projectId = builder.projectId;
12+
this.userId = builder.userId;
13+
}
14+
15+
public String getProjectId() {
16+
return projectId;
17+
}
18+
19+
public String getUserId() {
20+
return userId;
21+
}
22+
23+
public static InviteUsersRequestBuilder builder() {
24+
return new InviteUsersRequestBuilder();
25+
}
26+
27+
public static class InviteUsersRequestBuilder implements Builder<InviteUsersRequest> {
28+
29+
private String projectId;
30+
private String userId;
31+
32+
public InviteUsersRequestBuilder projectId(String projectId) {
33+
this.projectId = projectId;
34+
return this;
35+
}
36+
37+
public InviteUsersRequestBuilder userId(String userId) {
38+
this.userId = userId;
39+
return this;
40+
}
41+
42+
@Override
43+
public InviteUsersRequest build() {
44+
return new InviteUsersRequest(this);
45+
}
46+
}
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package io.litmuschaos.request;
2+
3+
import io.litmuschaos.util.Builder;
4+
5+
public class ListInvitationRequest {
6+
7+
private final String projectId;
8+
private final String userId;
9+
10+
private ListInvitationRequest(ListInvitationRequestBuilder builder) {
11+
this.projectId = builder.projectId;
12+
this.userId = builder.userId;
13+
}
14+
15+
public String getProjectId() {
16+
return projectId;
17+
}
18+
19+
public String getUserId() {
20+
return userId;
21+
}
22+
23+
public static ListInvitationRequestBuilder builder() {
24+
return new ListInvitationRequestBuilder();
25+
}
26+
27+
public static class ListInvitationRequestBuilder implements Builder<ListInvitationRequest> {
28+
private String projectId;
29+
private String userId;
30+
31+
public ListInvitationRequestBuilder projectId(String projectId) {
32+
this.projectId = projectId;
33+
return this;
34+
}
35+
36+
public ListInvitationRequestBuilder userId(String userId) {
37+
this.userId = userId;
38+
return this;
39+
}
40+
41+
@Override
42+
public ListInvitationRequest build() {
43+
return new ListInvitationRequest(this);
44+
}
45+
}
46+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package io.litmuschaos.request;
2+
3+
import io.litmuschaos.util.Builder;
4+
5+
public class RemoveInvitationRequest {
6+
7+
private final String projectId;
8+
private final String userId;
9+
10+
private RemoveInvitationRequest(RemoveInvitationRequestBuilder builder) {
11+
this.projectId = builder.projectId;
12+
this.userId = builder.userId;
13+
}
14+
15+
public String getProjectId() {
16+
return projectId;
17+
}
18+
19+
public String getUserId() {
20+
return userId;
21+
}
22+
23+
public static RemoveInvitationRequestBuilder builder() {
24+
return new RemoveInvitationRequestBuilder();
25+
}
26+
27+
public static class RemoveInvitationRequestBuilder implements Builder<RemoveInvitationRequest> {
28+
private String projectId;
29+
private String userId;
30+
31+
public RemoveInvitationRequestBuilder projectId(String projectId) {
32+
this.projectId = projectId;
33+
return this;
34+
}
35+
36+
public RemoveInvitationRequestBuilder userId(String userId) {
37+
this.userId = userId;
38+
return this;
39+
}
40+
41+
@Override
42+
public RemoveInvitationRequest build() {
43+
return new RemoveInvitationRequest(this);
44+
}
45+
}
46+
}

0 commit comments

Comments
 (0)