Search in sources :

Example 6 with Right

use of org.apache.openmeetings.db.entity.user.User.Right in project openmeetings by apache.

the class FileWebService method delete.

/**
 * deletes files or folders based on it id
 *
 * @param sid
 *            The SID of the User. This SID must be marked as logged in
 * @param id
 *            the id of the file or folder
 * @return {@link ServiceResult} with result type
 */
@DELETE
@Path("/{id}")
public ServiceResult delete(@QueryParam("sid") @WebParam(name = "sid") String sid, @PathParam("id") @WebParam(name = "id") Long id) {
    FileItem f = fileDao.get(id);
    return performCall(sid, sd -> {
        Long userId = sd.getUserId();
        Set<Right> rights = getRights(userId);
        return AuthLevelUtil.hasWebServiceLevel(rights) || (AuthLevelUtil.hasUserLevel(rights) && userId.equals(f.getOwnerId()));
    }, sd -> {
        if (f == null) {
            return new ServiceResult("Bad id", Type.ERROR);
        }
        fileDao.delete(f);
        return new ServiceResult("Deleted", Type.SUCCESS);
    });
}
Also used : FileItem(org.apache.openmeetings.db.entity.file.FileItem) ServiceResult(org.apache.openmeetings.db.dto.basic.ServiceResult) Right(org.apache.openmeetings.db.entity.user.User.Right) Path(javax.ws.rs.Path) DELETE(javax.ws.rs.DELETE)

Aggregations

Right (org.apache.openmeetings.db.entity.user.User.Right)6 HashSet (java.util.HashSet)2 ExtendedClientProperties (org.apache.openmeetings.web.util.ExtendedClientProperties)2 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)2 IMenuItem (com.googlecode.wicket.jquery.ui.widget.menu.IMenuItem)1 ArrayList (java.util.ArrayList)1 LinkedHashSet (java.util.LinkedHashSet)1 List (java.util.List)1 DELETE (javax.ws.rs.DELETE)1 Path (javax.ws.rs.Path)1 StrongPasswordValidator (org.apache.openmeetings.core.util.StrongPasswordValidator)1 ServiceResult (org.apache.openmeetings.db.dto.basic.ServiceResult)1 FileItem (org.apache.openmeetings.db.entity.file.FileItem)1 Invitation (org.apache.openmeetings.db.entity.room.Invitation)1 Room (org.apache.openmeetings.db.entity.room.Room)1 SOAPLogin (org.apache.openmeetings.db.entity.server.SOAPLogin)1 GroupUser (org.apache.openmeetings.db.entity.user.GroupUser)1 User (org.apache.openmeetings.db.entity.user.User)1 ComunityUserForm (org.apache.openmeetings.web.common.ComunityUserForm)1 OmMenuItem (org.apache.openmeetings.web.common.menu.OmMenuItem)1