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);
});
}
Aggregations