Author: solomax
Date: Thu Sep  8 04:42:19 2016
New Revision: 1759743

URL: http://svn.apache.org/viewvc?rev=1759743&view=rev
Log:
[OPENMEETINGS-1466] 'soap' user is able to get room, recording::delete returns 
ServiceResult

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
    
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 Thu Sep  8 04:42:19 2016
@@ -38,6 +38,8 @@ import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.record.RecordingDTO;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -77,12 +79,13 @@ public class RecordingWebService {
         */
        @DELETE
        @Path("/{id}")
-       public void delete(@QueryParam("sid") @WebParam(name="sid") String sid, 
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
+       public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                try {
                        Long userId = sessionDao.check(sid);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                                recordingDao.delete(recordingDao.get(id));
+                               return new ServiceResult(id, "Deleted", 
Type.SUCCESS);
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
                        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Thu Sep  8 04:42:19 2016
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
@@ -56,6 +57,7 @@ import org.apache.openmeetings.db.dto.ro
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.error.ServiceException;
 import org.red5.logging.Red5LoggerFactory;
@@ -86,11 +88,11 @@ public class RoomWebService {
        @Autowired
        private IInvitationManager invitationManager;
        @Autowired
-       private ScopeApplicationAdapter scopeApplicationAdapter;
-       @Autowired
        private ISessionManager sessionManager;
        @Autowired
        private RoomDao roomDao;
+       @Autowired
+       private ScopeApplicationAdapter appAdapter;
 
        /**
         * Returns an Object of Type RoomsList which contains a list of
@@ -137,7 +139,8 @@ public class RoomWebService {
        @Path("/{id}")
        public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                Long userId = sessionDao.check(sid);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+               Set<User.Right> rights = userDao.getRights(userId);
+               if (AuthLevelUtil.hasWebServiceLevel(rights) || 
AuthLevelUtil.hasUserLevel(rights)) {
                        return new RoomDTO(roomDao.get(id));
                } else {
                        throw new ServiceException("Insufficient permissions"); 
//TODO code -26

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 Thu Sep  8 04:42:19 2016
@@ -38,6 +38,8 @@ import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.record.RecordingDTO;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
@@ -78,11 +80,12 @@ public class RecordingWebService {
         */
        @DELETE
        @Path("/{id}")
-       public void delete(@QueryParam("sid") @WebParam(name="sid") String sid, 
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
+       public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                try {
                        Sessiondata sd = sessionDao.check(sid);
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                recordingDao.delete(recordingDao.get(id));
+                               return new ServiceResult(id, "Deleted", 
Type.SUCCESS);
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
                        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Thu Sep  8 04:42:19 2016
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
@@ -55,6 +56,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.message.RoomMessage;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -136,7 +138,8 @@ public class RoomWebService {
        @Path("/{id}")
        public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                Sessiondata sd = sessionDao.check(sid);
-               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+               Set<User.Right> rights = userDao.getRights(sd.getUserId());
+               if (AuthLevelUtil.hasWebServiceLevel(rights) || 
AuthLevelUtil.hasUserLevel(rights)) {
                        return new RoomDTO(roomDao.get(id));
                } else {
                        throw new ServiceException("Insufficient permissions"); 
//TODO code -26

Modified: 
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 Thu Sep  8 04:42:19 2016
@@ -38,6 +38,8 @@ import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.record.RecordingDTO;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
@@ -78,11 +80,12 @@ public class RecordingWebService {
         */
        @DELETE
        @Path("/{id}")
-       public void delete(@QueryParam("sid") @WebParam(name="sid") String sid, 
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
+       public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                try {
                        Sessiondata sd = sessionDao.check(sid);
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                recordingDao.delete(recordingDao.get(id));
+                               return new ServiceResult(id, "Deleted", 
Type.SUCCESS);
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
                        }

Modified: 
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Thu Sep  8 04:42:19 2016
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
@@ -55,6 +56,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.message.RoomMessage;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -136,7 +138,8 @@ public class RoomWebService {
        @Path("/{id}")
        public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                Sessiondata sd = sessionDao.check(sid);
-               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+               Set<User.Right> rights = userDao.getRights(sd.getUserId());
+               if (AuthLevelUtil.hasWebServiceLevel(rights) || 
AuthLevelUtil.hasUserLevel(rights)) {
                        return new RoomDTO(roomDao.get(id));
                } else {
                        throw new ServiceException("Insufficient permissions"); 
//TODO code -26


Reply via email to