213af650f780587f0b9e166dfe29200b63d4c84a
[sdc.git] /
1 /*
2  * Copyright © 2016-2018 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.openecomp.sdcrests.itempermissions.rest.services;
17
18
19 import org.openecomp.sdc.itempermissions.PermissionsManager;
20 import org.openecomp.sdc.itempermissions.PermissionsManagerFactory;
21 import org.openecomp.sdcrests.itempermissions.rest.ItemPermissions;
22 import org.openecomp.sdcrests.itempermissions.rest.mapping.MapItemPermissionsToItemPermissionsDto;
23 import org.openecomp.sdcrests.itempermissions.types.ItemPermissionsDto;
24 import org.openecomp.sdcrests.itempermissions.types.ItemPermissionsRequestDto;
25 import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper;
26 import org.springframework.context.annotation.Scope;
27 import org.springframework.stereotype.Service;
28
29 import javax.inject.Named;
30 import javax.ws.rs.core.Response;
31
32 /**
33  * Created by ayalaben on 6/18/2017.
34  */
35
36 @Named
37 @Service("itemPermissions")
38 @Scope(value = "prototype")
39 public class ItemPermissionsImpl implements ItemPermissions {
40
41   private PermissionsManager permissionsManager =
42       PermissionsManagerFactory.getInstance().createInterface();
43
44   @Override
45   public Response list(String itemId, String user) {
46
47     GenericCollectionWrapper<ItemPermissionsDto> results = new GenericCollectionWrapper<>();
48     MapItemPermissionsToItemPermissionsDto mapper = new MapItemPermissionsToItemPermissionsDto();
49
50     permissionsManager.listItemPermissions(itemId)
51         .forEach(itemPermission -> results.add(mapper.applyMapping
52             (itemPermission, ItemPermissionsDto.class)));
53
54     return Response.ok(results).build();
55   }
56
57   @Override
58   public Response updatePermissions(ItemPermissionsRequestDto request, String itemId,
59                                     String permission, String user) {
60
61     permissionsManager.updateItemPermissions(itemId,permission,request.getAddedUsersIds(),
62         request.getRemovedUsersIds());
63
64     return Response.ok().build();
65   }
66 }