-
Notifications
You must be signed in to change notification settings - Fork 22
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 #110 from VishalMCF/featAdd-Java-SDK-methods-for-W…
…orkflow-Overrides-API Initial commit: Added POJOS and API execution endpoint for WorkflowOverride API Integration
- Loading branch information
Showing
13 changed files
with
507 additions
and
0 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
50 changes: 50 additions & 0 deletions
50
src/main/java/co/novu/api/workflowoverrides/WorkflowOverrideApi.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,50 @@ | ||
package co.novu.api.workflowoverrides; | ||
|
||
import co.novu.api.workflowoverrides.pojos.WorkflowOverride; | ||
|
||
import co.novu.api.workflowoverrides.request.CreateWorkflowOverrideRequest; | ||
import co.novu.api.workflowoverrides.request.UpdateWorkflowOverrideRequest; | ||
import co.novu.api.workflowoverrides.response.BulkWorkflowOverridesResponse; | ||
import co.novu.api.workflowoverrides.response.DeleteWorkflowOverrideResponse; | ||
import co.novu.api.workflowoverrides.response.GetWorkflowOverridesResponse; | ||
import co.novu.api.workflowoverrides.response.WorkflowOverrideResponse; | ||
import retrofit2.Call; | ||
import retrofit2.http.Body; | ||
import retrofit2.http.DELETE; | ||
import retrofit2.http.GET; | ||
import retrofit2.http.POST; | ||
import retrofit2.http.PUT; | ||
import retrofit2.http.Path; | ||
import retrofit2.http.QueryMap; | ||
|
||
import java.util.Map; | ||
|
||
public interface WorkflowOverrideApi { | ||
|
||
String ENDPOINT = "workflow-overrides"; | ||
|
||
@POST(ENDPOINT) | ||
Call<WorkflowOverrideResponse> createWorkflowOverride(@Body CreateWorkflowOverrideRequest request); | ||
|
||
@GET(ENDPOINT) | ||
Call<GetWorkflowOverridesResponse> getWorkflowOverrides(@QueryMap Map<String, Object> params); | ||
|
||
@GET(ENDPOINT + "/workflows/{workflowId}/tenants/{tenantId}") | ||
Call<WorkflowOverrideResponse> getWorkflowOverride(@Path("workflowId") String workflowId, @Path("tenantId") String tenantId); | ||
|
||
|
||
@GET(ENDPOINT + "/{overrideId}") | ||
Call<WorkflowOverrideResponse> getWorkflowOverrideById(@Path("overrideId") String overrideId); | ||
|
||
|
||
@PUT(ENDPOINT + "/{overrideId}") | ||
Call<WorkflowOverrideResponse> updateWorkflowOverrideById(@Path("overrideId") String OverrideId, @Body UpdateWorkflowOverrideRequest request); | ||
|
||
|
||
@PUT(ENDPOINT + "/workflows/{workflowId}/tenants/{tenantId}") | ||
Call<WorkflowOverrideResponse> updateWorkflowOverride(@Path("workflowId") String workflowId, @Path("tenantId") String tenantId, | ||
@Body UpdateWorkflowOverrideRequest request); | ||
|
||
@DELETE(ENDPOINT + "/{overrideId}") | ||
Call<DeleteWorkflowOverrideResponse> deleteWorkflowOverride(@Path("overrideId") String overrideId); | ||
} |
69 changes: 69 additions & 0 deletions
69
src/main/java/co/novu/api/workflowoverrides/WorkflowOverrideHandler.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,69 @@ | ||
package co.novu.api.workflowoverrides; | ||
|
||
import co.novu.api.workflowoverrides.pojos.WorkflowOverride; | ||
import co.novu.api.workflowoverrides.request.CreateWorkflowOverrideRequest; | ||
import co.novu.api.workflowoverrides.request.GetWorkflowOverrideRequest; | ||
import co.novu.api.workflowoverrides.request.UpdateWorkflowOverrideRequest; | ||
import co.novu.api.workflowoverrides.response.BulkWorkflowOverridesResponse; | ||
import co.novu.api.workflowoverrides.response.DeleteWorkflowOverrideResponse; | ||
import co.novu.api.workflowoverrides.response.GetWorkflowOverridesResponse; | ||
import co.novu.api.workflowoverrides.response.WorkflowOverrideResponse; | ||
import co.novu.common.rest.NovuNetworkException; | ||
import co.novu.common.rest.RestHandler; | ||
import retrofit2.Response; | ||
|
||
import java.io.IOException; | ||
import java.util.HashMap; | ||
import java.util.Map; | ||
|
||
public class WorkflowOverrideHandler { | ||
|
||
private final RestHandler restHandler; | ||
|
||
private final WorkflowOverrideApi workflowOverrideApi; | ||
|
||
public WorkflowOverrideHandler(RestHandler restHandler) { | ||
this.restHandler = restHandler; | ||
this.workflowOverrideApi = restHandler.buildRetrofit().create(WorkflowOverrideApi.class); | ||
} | ||
|
||
public WorkflowOverrideResponse createWorkflowOverride(CreateWorkflowOverrideRequest request) throws IOException, NovuNetworkException { | ||
Response<WorkflowOverrideResponse> response = workflowOverrideApi.createWorkflowOverride(request).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
|
||
public GetWorkflowOverridesResponse getWorkflowOverrides(GetWorkflowOverrideRequest request) throws IOException, NovuNetworkException { | ||
Map<String, Object> params = new HashMap<>(); | ||
if (request.getPage() != null) params.put("page", request.getPage()); | ||
if (request.getLimit() != null) params.put("limit", request.getLimit()); | ||
Response<GetWorkflowOverridesResponse> response = workflowOverrideApi.getWorkflowOverrides(params).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
|
||
public WorkflowOverrideResponse getWorkflowOverride(String workflowId, String tenantId) throws IOException, NovuNetworkException { | ||
Response<WorkflowOverrideResponse> response = workflowOverrideApi.getWorkflowOverride(workflowId, tenantId).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
|
||
public WorkflowOverrideResponse getWorkflowOverrideById(String overrideId) throws IOException, NovuNetworkException { | ||
Response<WorkflowOverrideResponse> response = workflowOverrideApi.getWorkflowOverrideById(overrideId).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
|
||
public WorkflowOverrideResponse updateWorkflowOverrideById(String overrideId, UpdateWorkflowOverrideRequest request) throws IOException, | ||
NovuNetworkException { | ||
Response<WorkflowOverrideResponse> response = workflowOverrideApi.updateWorkflowOverrideById(overrideId, request).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
|
||
public WorkflowOverrideResponse updateWorkflowOverride(String workflowId, String tenantId, UpdateWorkflowOverrideRequest request) | ||
throws IOException, NovuNetworkException { | ||
Response<WorkflowOverrideResponse> response = workflowOverrideApi.updateWorkflowOverride(workflowId, tenantId, request).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
|
||
public DeleteWorkflowOverrideResponse deleteWorkflowOverride(String overrideId) throws IOException, NovuNetworkException { | ||
Response<DeleteWorkflowOverrideResponse> response = workflowOverrideApi.deleteWorkflowOverride(overrideId).execute(); | ||
return restHandler.extractResponse(response); | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/co/novu/api/workflowoverrides/pojos/WorkflowOverride.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,35 @@ | ||
package co.novu.api.workflowoverrides.pojos; | ||
|
||
import co.novu.api.common.PreferenceSettings; | ||
|
||
import com.google.gson.annotations.SerializedName; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class WorkflowOverride { | ||
|
||
@SerializedName("_id") | ||
private String id; | ||
|
||
@SerializedName("_organizationId") | ||
private String organizationId; | ||
|
||
@SerializedName("_environmentId") | ||
private String environmentId; | ||
|
||
@SerializedName("_workflowId") | ||
private String workflowId; | ||
|
||
@SerializedName("_tenantId") | ||
private String tenantId; | ||
|
||
private Boolean active; | ||
private PreferenceSettings preferenceSettings; | ||
private Boolean deleted; | ||
private String deletedAt; | ||
private String deletedBy; | ||
private String createdAt; | ||
private String updatedAt; | ||
|
||
} |
14 changes: 14 additions & 0 deletions
14
src/main/java/co/novu/api/workflowoverrides/request/CreateWorkflowOverrideRequest.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,14 @@ | ||
package co.novu.api.workflowoverrides.request; | ||
|
||
import co.novu.api.common.PreferenceSettings; | ||
import co.novu.common.contracts.IRequest; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class CreateWorkflowOverrideRequest implements IRequest { | ||
private PreferenceSettings preferenceSettings; | ||
private Boolean active; | ||
private String tenantId; | ||
private String workflowId; | ||
} |
11 changes: 11 additions & 0 deletions
11
src/main/java/co/novu/api/workflowoverrides/request/GetWorkflowOverrideRequest.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,11 @@ | ||
package co.novu.api.workflowoverrides.request; | ||
|
||
import co.novu.common.contracts.IRequest; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class GetWorkflowOverrideRequest implements IRequest { | ||
private Integer page; | ||
private Integer limit; | ||
} |
11 changes: 11 additions & 0 deletions
11
src/main/java/co/novu/api/workflowoverrides/request/UpdateWorkflowOverrideRequest.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,11 @@ | ||
package co.novu.api.workflowoverrides.request; | ||
|
||
import co.novu.api.common.PreferenceSettings; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class UpdateWorkflowOverrideRequest { | ||
private Boolean active; | ||
private PreferenceSettings data; | ||
} |
17 changes: 17 additions & 0 deletions
17
src/main/java/co/novu/api/workflowoverrides/response/BulkWorkflowOverridesResponse.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,17 @@ | ||
package co.novu.api.workflowoverrides.response; | ||
|
||
import co.novu.api.workflowoverrides.pojos.WorkflowOverride; | ||
|
||
import java.util.List; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class BulkWorkflowOverridesResponse { | ||
private List<WorkflowOverride> data; | ||
private Boolean hasMore; | ||
private Long page; | ||
private Long pageSize; | ||
} | ||
|
||
|
8 changes: 8 additions & 0 deletions
8
src/main/java/co/novu/api/workflowoverrides/response/DeleteWorkflowOverrideResponse.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,8 @@ | ||
package co.novu.api.workflowoverrides.response; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class DeleteWorkflowOverrideResponse { | ||
private Boolean data; | ||
} |
8 changes: 8 additions & 0 deletions
8
src/main/java/co/novu/api/workflowoverrides/response/GetWorkflowOverridesResponse.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,8 @@ | ||
package co.novu.api.workflowoverrides.response; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class GetWorkflowOverridesResponse { | ||
private BulkWorkflowOverridesResponse data; | ||
} |
10 changes: 10 additions & 0 deletions
10
src/main/java/co/novu/api/workflowoverrides/response/WorkflowOverrideResponse.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,10 @@ | ||
package co.novu.api.workflowoverrides.response; | ||
|
||
import co.novu.api.workflowoverrides.pojos.WorkflowOverride; | ||
|
||
import lombok.Data; | ||
|
||
@Data | ||
public class WorkflowOverrideResponse { | ||
private WorkflowOverride data; | ||
} |
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
Oops, something went wrong.