re base code
[sdc.git] / openecomp-be / api / openecomp-sdc-rest-webapp / conflict-rest / conflict-rest-services / src / main / java / org / openecomp / sdcrests / conflict / rest / Conflicts.java
1 package org.openecomp.sdcrests.conflict.rest;
2
3 import io.swagger.annotations.Api;
4 import io.swagger.annotations.ApiOperation;
5 import io.swagger.annotations.ApiParam;
6 import org.openecomp.sdcrests.common.RestConstants;
7 import org.openecomp.sdcrests.conflict.types.ConflictDto;
8 import org.openecomp.sdcrests.conflict.types.ConflictResolutionDto;
9 import org.openecomp.sdcrests.conflict.types.ItemVersionConflictDto;
10 import org.springframework.validation.annotation.Validated;
11
12 import javax.validation.constraints.NotNull;
13 import javax.ws.rs.*;
14 import javax.ws.rs.core.MediaType;
15 import javax.ws.rs.core.Response;
16
17 @Path("/v1.0/items/{itemId}/versions/{versionId}/conflicts")
18 @Produces(MediaType.APPLICATION_JSON)
19 @Consumes(MediaType.APPLICATION_JSON)
20 @Api(value = "Item Version Conflicts")
21 @Validated
22 public interface Conflicts {
23
24   @GET
25   @Path("/")
26   @ApiOperation(value = "item version conflicts",
27       notes = "Item version private copy conflicts against its public copy",
28       response = ItemVersionConflictDto.class)
29   Response getConflict(@ApiParam("Item Id") @PathParam("itemId") String itemId,
30                        @ApiParam("Version Id") @PathParam("versionId") String versionId,
31                        @NotNull(message = RestConstants.USER_MISSING_ERROR_MSG)
32                         @HeaderParam(RestConstants.USER_ID_HEADER_PARAM) String user);
33
34   @GET
35   @Path("/{conflictId}")
36   @ApiOperation(value = "Gets item version conflict",
37       notes = "Gets an item version private copy conflict against its public copy",
38       response = ConflictDto.class)
39   Response getConflict(@ApiParam("Item Id") @PathParam("itemId") String itemId,
40                        @ApiParam("Version Id") @PathParam("versionId") String versionId,
41                        @ApiParam("Version Id") @PathParam("conflictId") String conflictId,
42                        @NotNull(message = RestConstants.USER_MISSING_ERROR_MSG)
43                        @HeaderParam(RestConstants.USER_ID_HEADER_PARAM) String user);
44
45   @PUT
46   @Path("/{conflictId}")
47   @ApiOperation(value = "Resolves item version conflict",
48       notes = "Resolves an item version private copy conflict against its public copy")
49   Response resolveConflict(ConflictResolutionDto conflictResolution,
50                            @ApiParam("Item Id") @PathParam("itemId") String itemId,
51                            @ApiParam("Version Id") @PathParam("versionId") String versionId,
52                            @ApiParam("Version Id") @PathParam("conflictId") String conflictId,
53                            @NotNull(message = RestConstants.USER_MISSING_ERROR_MSG)
54                            @HeaderParam(RestConstants.USER_ID_HEADER_PARAM) String user);
55 }