Skip to content

Commit dbe8cac

Browse files
authored
Merge pull request #38 from Breeding-Insight/hackathon/delete-germplasm
BI-2374 Create Endpoints for Processing Batch Deletes and Single Deletes of Lists, Trials, and Samples
2 parents 8ec5466 + b2a6ee3 commit dbe8cac

File tree

57 files changed

+2947
-76
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+2947
-76
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
/**
2+
* NOTE: This class is auto generated by the swagger code generator program (3.0.18).
3+
* https://github.com/swagger-api/swagger-codegen
4+
* Do not edit the class manually.
5+
*/
6+
package io.swagger.api.core;
7+
8+
import io.swagger.model.BrAPIResponse;
9+
import io.swagger.model.Model202AcceptedSearchResponse;
10+
import io.swagger.model.core.*;
11+
import io.swagger.annotations.*;
12+
13+
import org.brapi.test.BrAPITestServer.exceptions.BrAPIServerException;
14+
import org.springframework.http.ResponseEntity;
15+
import org.springframework.web.bind.annotation.PathVariable;
16+
import org.springframework.web.bind.annotation.RequestBody;
17+
import org.springframework.web.bind.annotation.RequestHeader;
18+
import org.springframework.web.bind.annotation.RequestMapping;
19+
import org.springframework.web.bind.annotation.RequestMethod;
20+
import org.springframework.web.bind.annotation.RequestParam;
21+
22+
import jakarta.validation.Valid;
23+
24+
import java.util.ArrayList;
25+
26+
@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.SpringCodegen", date = "2020-03-20T16:31:52.030Z[GMT]")
27+
@Api(value = "batchDeletes", description = "the batch deletes API")
28+
public interface BatchDeletesApi {
29+
30+
@ApiOperation(value = "Get the details of a specific Batch Delete", nickname = "batchDeletesBatchDbIdGet", notes = "Get a specific generic batch delete", response = BatchDeletesSingleResponse.class, authorizations = {
31+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
32+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeletesSingleResponse.class),
33+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
34+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
35+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
36+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
37+
@RequestMapping(value = "/batchDeletes/{batchDeleteDbId}", produces = { "application/json" }, method = RequestMethod.GET)
38+
ResponseEntity<BatchDeletesSingleResponse> batchDeletesBatchDbIdGet(
39+
@ApiParam(value = "The unique ID of this generic batch", required = true) @PathVariable("batchDeletDbId") String batchDbId,
40+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
41+
throws BrAPIServerException;
42+
43+
@ApiOperation(value = "Add Items to a specific Batch Delete", nickname = "batchDeletesBatchDbIdItemsPost", notes = "Add new data to a specific generic batch delete", response = BatchDeleteResponse.class, authorizations = {
44+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
45+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeleteResponse.class),
46+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
47+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
48+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
49+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
50+
@RequestMapping(value = "/batchDeletes/{batchDeleteDbId}/items", produces = { "application/json" }, consumes = {
51+
"application/json" }, method = RequestMethod.POST)
52+
ResponseEntity<BatchDeleteResponse> batchDeletesBatchDbIdItemsPost(
53+
@ApiParam(value = "The unique ID of this generic batch", required = true) @PathVariable("batchDeleteDbId") String batchDeleteDbId,
54+
@ApiParam(value = "") @Valid @RequestBody ArrayList<String> body,
55+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
56+
throws BrAPIServerException;
57+
58+
@ApiOperation(value = "Add Items to a specific Batch Delete", nickname = "batchDeletesBatchDbIdDataPost", notes = "Add new data to a specific generic batch delete", response = BatchDeleteResponse.class, authorizations = {
59+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
60+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeleteResponse.class),
61+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
62+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
63+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
64+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
65+
@RequestMapping(value = "/batchDeletes/{batchDeleteDbId}/data", produces = { "application/json" }, consumes = {
66+
"application/json" }, method = RequestMethod.POST)
67+
ResponseEntity<BatchDeleteResponse> batchDeletesBatchDbIdDataPost(
68+
@ApiParam(value = "The unique ID of this generic batch", required = true) @PathVariable("batchDeleteDbId") String batchDbId,
69+
@ApiParam(value = "") @Valid @RequestBody ArrayList<String> body,
70+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
71+
throws BrAPIServerException;
72+
73+
@ApiOperation(value = "Update an existing generic batch delete", nickname = "batchDeletesBatchDbIdPut", notes = "Update an existing generic batch delete", response = BatchDeletesSingleResponse.class, authorizations = {
74+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
75+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeletesSingleResponse.class),
76+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
77+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
78+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
79+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
80+
@RequestMapping(value = "/batchDeletes/{batchDeleteDbId}", produces = { "application/json" }, consumes = {
81+
"application/json" }, method = RequestMethod.PUT)
82+
ResponseEntity<BatchDeletesSingleResponse> batchDeletesBatchDbIdPut(
83+
@ApiParam(value = "The unique ID of this generic batch", required = true) @PathVariable("batchDeleteDbId") String batchDbId,
84+
@ApiParam(value = "") @Valid @RequestBody BatchDeleteNewRequest body,
85+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
86+
throws BrAPIServerException;
87+
88+
@ApiOperation(value = "Create a New Batch Delete", nickname = "batchDeletesPost", notes = "Create a new batch delete", response = BatchDeletesListResponse.class, authorizations = {
89+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
90+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeletesListResponse.class),
91+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
92+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
93+
@ApiResponse(code = 403, message = "Forbidden", response = String.class) })
94+
@RequestMapping(value = "/batchDeletes", produces = { "application/json" }, consumes = {
95+
"application/json" }, method = RequestMethod.POST)
96+
ResponseEntity<? extends BrAPIResponse> batchDeletesPost(@ApiParam(value = "") @Valid @RequestBody BatchDeleteSearchRequest body,
97+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
98+
throws BrAPIServerException;
99+
100+
@ApiOperation(value = "Get the results of a Batch Delete search request", nickname = "searchBatchDeletesSearchResultsDbIdGet", notes = "Advanced searching for the batch delete resource. See Search Services for additional implementation details.", response = BatchDeletesListResponse.class, authorizations = {
101+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
102+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeletesListResponse.class),
103+
@ApiResponse(code = 202, message = "Accepted", response = Model202AcceptedSearchResponse.class),
104+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
105+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
106+
@ApiResponse(code = 403, message = "Forbidden", response = String.class) })
107+
@RequestMapping(value = "/search/batchDeletes/{searchResultsDbId}", produces = {
108+
"application/json" }, method = RequestMethod.GET)
109+
ResponseEntity<? extends BrAPIResponse> searchBatchDeletesSearchResultsDbIdGet(
110+
@ApiParam(value = "Permanent unique identifier which references the search results", required = true) @PathVariable("searchResultsDbId") String searchResultsDbId,
111+
@ApiParam(value = "page") @Valid @RequestParam(value = "page", required = false) Integer page,
112+
@ApiParam(value = "pageSize") @Valid @RequestParam(value = "pageSize", required = false) Integer pageSize,
113+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization) throws BrAPIServerException;
114+
115+
@ApiOperation(value = "Delete a specific Batch Delete", nickname = "batchDeletesBatchDbIdDelete", notes = "Delete a specific generic batch delete", response = BatchDeletesSingleResponse.class, authorizations = {
116+
@Authorization(value = "AuthorizationToken") }, tags = { "BatchDeletes", })
117+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = BatchDeletesSingleResponse.class),
118+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
119+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
120+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
121+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
122+
@RequestMapping(value = "/batchDeletes/{batchDeleteDbId}", produces = { "application/json" }, method = RequestMethod.DELETE)
123+
ResponseEntity<BatchDeletesSingleResponse> batchDeletesBatchDbIdDelete(
124+
@ApiParam(value = "The unique ID of this generic batch", required = true) @PathVariable("batchDeleteDbId") String batchDbId,
125+
@ApiParam(value = "hard") @Valid @RequestParam(value = "hardDelete", defaultValue = "false", required = false) boolean hardDelete,
126+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
127+
throws BrAPIServerException;
128+
129+
}

src/main/java/io/swagger/api/core/ListsApi.java

+15
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public interface ListsApi {
4040
@ApiResponse(code = 403, message = "Forbidden", response = String.class) })
4141
@RequestMapping(value = "/lists", produces = { "application/json" }, method = RequestMethod.GET)
4242
ResponseEntity<ListsListResponse> listsGet(
43+
@ApiParam(value = "batchDeleteDbId") @Valid @RequestParam(value = "batchDeleteDbId", required = false) String batchDelete,
4344
@ApiParam(value = "listType") @Valid @RequestParam(value = "listType", required = false) String listType,
4445
@ApiParam(value = "listName") @Valid @RequestParam(value = "listName", required = false) String listName,
4546
@ApiParam(value = "listDbId") @Valid @RequestParam(value = "listDbId", required = false) String listDbId,
@@ -67,6 +68,20 @@ ResponseEntity<ListsSingleResponse> listsListDbIdGet(
6768
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
6869
throws BrAPIServerException;
6970

71+
@ApiOperation(value = "Delete an existing generic list", nickname = "listsListDbIdDelete", notes = "Delete an existing generic list", response = ListsListResponse.class, authorizations = {
72+
@Authorization(value = "AuthorizationToken") }, tags = { "Lists", })
73+
@ApiResponses(value = { @ApiResponse(code = 204, message = "OK", response = ListsSingleResponse.class),
74+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
75+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
76+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
77+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
78+
@RequestMapping(value = "/lists/{listDbId}", produces = { "application/json" }, method = RequestMethod.DELETE)
79+
ResponseEntity<ListsSingleResponse> listsListDbIdDelete(
80+
@ApiParam(value = "The unique ID of this generic list", required = true) @PathVariable("listDbId") String listDbId,
81+
@ApiParam(value = "hardDelete") @Valid @RequestParam(value = "hardDelete", defaultValue = "false", required = false) boolean hardDelete,
82+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
83+
throws BrAPIServerException;
84+
7085
@ApiOperation(value = "Add Items to a specific List", nickname = "listsListDbIdItemsPost", notes = "Add new data to a specific generic lists", response = ListResponse.class, authorizations = {
7186
@Authorization(value = "AuthorizationToken") }, tags = { "Lists", })
7287
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ListResponse.class),

src/main/java/io/swagger/api/core/TrialsApi.java

+16-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77

88
import io.swagger.model.BrAPIResponse;
99
import io.swagger.model.Model202AcceptedSearchResponse;
10-
import io.swagger.model.core.TrialListResponse;
11-
import io.swagger.model.core.TrialNewRequest;
12-
import io.swagger.model.core.TrialSearchRequest;
13-
import io.swagger.model.core.TrialSingleResponse;
10+
import io.swagger.model.core.*;
1411
import io.swagger.annotations.*;
1512

1613
import org.brapi.test.BrAPITestServer.exceptions.BrAPIServerException;
@@ -37,6 +34,7 @@ public interface TrialsApi {
3734
@ApiResponse(code = 403, message = "Forbidden", response = String.class) })
3835
@RequestMapping(value = "/trials", produces = { "application/json" }, method = RequestMethod.GET)
3936
ResponseEntity<TrialListResponse> trialsGet(
37+
@ApiParam(value = "batchDeleteDbId") @Valid @RequestParam(value = "batchDeleteDbId", required = false) String batchDelete,
4038
@ApiParam(value = "active") @Valid @RequestParam(value = "active", required = false) Boolean active,
4139
@ApiParam(value = "commonCropName") @Valid @RequestParam(value = "commonCropName", required = false) String commonCropName,
4240
@ApiParam(value = "contactDbId") @Valid @RequestParam(value = "contactDbId", required = false) String contactDbId,
@@ -83,6 +81,20 @@ ResponseEntity<TrialSingleResponse> trialsTrialDbIdGet(
8381
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
8482
throws BrAPIServerException;
8583

84+
@ApiOperation(value = "Delete a specific Trial", nickname = "trialsTrialDbIdDelete", notes = "Delete a specific Trial", response = TrialSingleResponse.class, authorizations = {
85+
@Authorization(value = "AuthorizationToken") }, tags = { "Trials", })
86+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = TrialSingleResponse.class),
87+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
88+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
89+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
90+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
91+
@RequestMapping(value = "/trials/{trialDbId}", produces = { "application/json" }, method = RequestMethod.DELETE)
92+
ResponseEntity<TrialSingleResponse> trialsTrialDbIdDelete(
93+
@ApiParam(value = "The internal trialDbId", required = true) @PathVariable("trialDbId") String trialDbId,
94+
@ApiParam(value = "hardDelete") @Valid @RequestParam(value = "hardDelete", defaultValue = "false", required = false) boolean hardDelete,
95+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
96+
throws BrAPIServerException;
97+
8698
@ApiOperation(value = "Update the details of an existing Trial", nickname = "trialsTrialDbIdPut", notes = "Update the details of an existing Trial", response = TrialSingleResponse.class, authorizations = {
8799
@Authorization(value = "AuthorizationToken") }, tags = { "Trials", })
88100
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = TrialSingleResponse.class),

src/main/java/io/swagger/api/geno/SamplesApi.java

+15
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public interface SamplesApi {
3838
@ApiResponse(code = 403, message = "Forbidden", response = String.class) })
3939
@RequestMapping(value = "/samples", produces = { "application/json" }, method = RequestMethod.GET)
4040
ResponseEntity<SampleListResponse> samplesGet(
41+
@ApiParam(value = "batchDeleteDbId") @Valid @RequestParam(value = "batchDeleteDbId", required = false) String batchDelete,
4142
@ApiParam(value = "sampleDbId") @Valid @RequestParam(value = "sampleDbId", required = false) String sampleDbId,
4243
@ApiParam(value = "sampleName") @Valid @RequestParam(value = "sampleName", required = false) String sampleName,
4344
@ApiParam(value = "sampleGroupDbId") @Valid @RequestParam(value = "sampleGroupDbId", required = false) String sampleGroupDbId,
@@ -96,6 +97,20 @@ ResponseEntity<SampleSingleResponse> samplesSampleDbIdGet(
9697
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
9798
throws BrAPIServerException;
9899

100+
@ApiOperation(value = "Delete a specific Sample", nickname = "samplesSampleDbIdDelete", notes = "Used to delete a single Sample from a Sample Tracking system.", response = SampleSingleResponse.class, authorizations = {
101+
@Authorization(value = "AuthorizationToken") }, tags = { "Samples", })
102+
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = SampleSingleResponse.class),
103+
@ApiResponse(code = 400, message = "Bad Request", response = String.class),
104+
@ApiResponse(code = 401, message = "Unauthorized", response = String.class),
105+
@ApiResponse(code = 403, message = "Forbidden", response = String.class),
106+
@ApiResponse(code = 404, message = "Not Found", response = String.class) })
107+
@RequestMapping(value = "/samples/{sampleDbId}", produces = { "application/json" }, method = RequestMethod.DELETE)
108+
ResponseEntity<SampleSingleResponse> samplesSampleDbIdDelete(
109+
@ApiParam(value = "the internal DB id for a sample", required = true) @PathVariable("sampleDbId") String sampleDbId,
110+
@ApiParam(value = "hardDelete") @Valid @RequestParam(value = "hardDelete", defaultValue = "false", required = false) boolean hardDelete,
111+
@ApiParam(value = "HTTP HEADER - Token used for Authorization <strong> Bearer {token_string} </strong>") @RequestHeader(value = "Authorization", required = false) String authorization)
112+
throws BrAPIServerException;
113+
99114
@ApiOperation(value = "Update the details of an existing Sample", nickname = "samplesSampleDbIdPut", notes = "Update the details of an existing Sample", response = SampleSingleResponse.class, authorizations = {
100115
@Authorization(value = "AuthorizationToken") }, tags = { "Samples", })
101116
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = SampleSingleResponse.class),

0 commit comments

Comments
 (0)