I'm trying to comprehend how can I modify data that $resource.query() returns  which - as it turned out - is not really Promise from $q but an empty object/array to be filled when async call is done.
I defined a service where I'd like to modify data that came from $resource (filter it to be precise), but nothing gets actually filtered. I get whole array back.
I'm sure there is some trivial thing I'm missing here. Thanks for help in advance.
Here's the service (Employee is the $resource):
  factory('Report', ['Employee',
        function(Employee) {
            var query = function(id, cb) {
                return Employee.query({}, function(data) {
                    return cb(data, id);
                });
            };
            var findByManager = function(employees, employeeId) {
                return employees.filter(function(element) {
                    console.log(element);
                    return employeeId === element.managerId;
                });
            };
            return {
                query: function(employee) {
                    return query(employee.employeeId, findByManager);
                }
            }; 
        }
  ]);
EDIT
By ippi suggestion I also tried accessing underlying promise:
var query = function(id) {
            return Employee.query().$promise
                .then(function(data) {
                    return findByManager(data, id);
                });
        };
return {
    query: query,
}
In controller:
$scope.employees = Report.query(id);
But it returns object instead of an array.
 
     
    