Add collaboration feature
[sdc.git] / openecomp-be / api / openecomp-sdc-rest-webapp / item-permissions-rest / item-permissions-rest-services / src / main / java / org / openecomp / sdcrests / itempermissions / rest / ItemPermissions.java
1 package org.openecomp.sdcrests.itempermissions.rest;
2
3
4 import io.swagger.annotations.Api;
5 import io.swagger.annotations.ApiOperation;
6 import org.openecomp.sdcrests.itempermissions.types.ItemPermissionsDto;
7 import org.openecomp.sdcrests.itempermissions.types.ItemPermissionsRequestDto;
8 import org.springframework.validation.annotation.Validated;
9
10 import javax.validation.Valid;
11 import javax.validation.constraints.NotNull;
12 import javax.ws.rs.Consumes;
13 import javax.ws.rs.GET;
14 import javax.ws.rs.HeaderParam;
15 import javax.ws.rs.PUT;
16 import javax.ws.rs.Path;
17 import javax.ws.rs.PathParam;
18 import javax.ws.rs.Produces;
19 import javax.ws.rs.core.MediaType;
20 import javax.ws.rs.core.Response;
21
22 import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM;
23 import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
24
25 /**
26  * Created by ayalaben on 6/18/2017.
27  */
28 @Path("/v1.0/items/{itemId}/permissions")
29 @Produces(MediaType.APPLICATION_JSON)
30 @Consumes(MediaType.APPLICATION_JSON)
31 @Api(value = "Item Permissions")
32 @Validated
33 public interface ItemPermissions {
34
35   @GET
36   @Path("/")
37   @ApiOperation(value = "List users permissions assigned on item",
38       response = ItemPermissionsDto.class,
39       responseContainer = "List")
40
41   Response list(@PathParam("itemId") String itemId,
42                 @HeaderParam(USER_ID_HEADER_PARAM) String user);
43
44   @PUT
45   @Path("/{permission}")
46   @ApiOperation(value = "Update useres permission on item")
47   Response updatePermissions(@Valid ItemPermissionsRequestDto request,
48                              @PathParam("itemId") String itemId,
49                              @PathParam("permission") String permission,
50                              @NotNull(message = USER_MISSING_ERROR_MSG)
51                              @HeaderParam(USER_ID_HEADER_PARAM) String user);
52
53 }