2 * Copyright © 2016-2018 European Support Limited
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.openecomp.sdcrests.itempermissions.rest.services;
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;
29 import javax.inject.Named;
30 import javax.ws.rs.core.Response;
33 * Created by ayalaben on 6/18/2017.
37 @Service("itemPermissions")
38 @Scope(value = "prototype")
39 public class ItemPermissionsImpl implements ItemPermissions {
41 private PermissionsManager permissionsManager =
42 PermissionsManagerFactory.getInstance().createInterface();
45 public Response list(String itemId, String user) {
47 GenericCollectionWrapper<ItemPermissionsDto> results = new GenericCollectionWrapper<>();
48 MapItemPermissionsToItemPermissionsDto mapper = new MapItemPermissionsToItemPermissionsDto();
50 permissionsManager.listItemPermissions(itemId)
51 .forEach(itemPermission -> results.add(mapper.applyMapping
52 (itemPermission, ItemPermissionsDto.class)));
54 return Response.ok(results).build();
58 public Response updatePermissions(ItemPermissionsRequestDto request, String itemId,
59 String permission, String user) {
61 permissionsManager.updateItemPermissions(itemId,permission,request.getAddedUsersIds(),
62 request.getRemovedUsersIds());
64 return Response.ok().build();