1 package org.openecomp.sdcrests.item.rest;
3 import io.swagger.annotations.Api;
4 import io.swagger.annotations.ApiOperation;
5 import io.swagger.annotations.ApiParam;
6 import org.openecomp.sdcrests.item.types.*;
7 import org.springframework.validation.annotation.Validated;
9 import javax.validation.constraints.NotNull;
11 import javax.ws.rs.core.MediaType;
12 import javax.ws.rs.core.Response;
14 import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM;
15 import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
17 @Path("/v1.0/items/{itemId}/versions")
18 @Produces(MediaType.APPLICATION_JSON)
19 @Consumes(MediaType.APPLICATION_JSON)
20 @Api(value = "Item Versions")
22 public interface Versions {
26 @ApiOperation(value = "Lists item versions",
27 response = VersionDto.class,
28 responseContainer = "List")
29 Response list(@PathParam("itemId") String itemId,
30 @NotNull(message = USER_MISSING_ERROR_MSG)
31 @HeaderParam(USER_ID_HEADER_PARAM) String user);
35 @ApiOperation(value = "Creates a new item version")
36 Response create(VersionRequestDto request,
37 @PathParam("itemId") String itemId,
38 @PathParam("versionId") String versionId,
39 @NotNull(message = USER_MISSING_ERROR_MSG)
40 @HeaderParam(USER_ID_HEADER_PARAM) String user);
44 @ApiOperation(value = "Gets item version", response = VersionDto.class)
45 Response get(@PathParam("itemId") String itemId,
46 @PathParam("versionId") String versionId,
47 @NotNull(message = USER_MISSING_ERROR_MSG)
48 @HeaderParam(USER_ID_HEADER_PARAM) String user);
51 @Path("/{versionId}/activity-logs")
52 @ApiOperation(value = "Gets item version activity log",
53 response = ActivityLogDto.class,
54 responseContainer = "List")
55 Response getActivityLog(@ApiParam("Item Id") @PathParam("itemId") String itemId,
56 @ApiParam("Version Id") @PathParam("versionId") String versionId,
57 @NotNull(message = USER_MISSING_ERROR_MSG)
58 @HeaderParam(USER_ID_HEADER_PARAM) String user);
61 @Path("/{versionId}/revisions")
62 @ApiOperation(value = "Gets item version revisions", response = RevisionDto.class,
63 responseContainer = "List")
64 Response listRevisions(@PathParam("itemId") String itemId,
65 @PathParam("versionId") String versionId,
66 @NotNull(message = USER_MISSING_ERROR_MSG)
67 @HeaderParam(USER_ID_HEADER_PARAM) String user);
70 @Path("/{versionId}/actions")
71 @ApiOperation(value = "Acts on item version")
72 Response actOn(VersionActionRequestDto request,
73 @PathParam("itemId") String itemId,
74 @PathParam("versionId") String versionId,
75 @NotNull(message = USER_MISSING_ERROR_MSG)
76 @HeaderParam(USER_ID_HEADER_PARAM) String user);