angularjs filtra con una operación "OR" en los datos cuando tenemos múltiples filtros

Revisé otra pregunta pero no parecen resolver mi problema.

Aquí está mi código:

var app = angular.module('myApp', []);

app.controller('listdata', function($scope, $http) {
$scope.users = [{
    "name": "pravin",
    "queue": [{
        "number": "456",
        "status": "Unavailable"
    },
    {
        "number": "111",
        "status": "Unavailable"
    }],
    "phone": "7411173737"
},
{
    "name": "pratik",
    "queue": [{
        "number": "111",
        "status": "Unavailable"
    }],
    "phone": "8558855858"
},
{
    "name": "priyanka",
    "queue": [{
        "number": "456",
        "status": "Unavailable"
    }],
    "phone": "5454573737"
},
{
    "name": "prerana",
    "queue": [{
        "number": "111",
        "status": "Unavailable"
    }],
    "phone": "7454543737"
}];
   $scope.filter111 = function (user) {
            return (user.queue.find(({number}) => number === '111'));
        }
    $scope.filter456 = function (user) {
           return (user.queue.find(({number}) => number === '456'));
        }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.0/angular.min.js"></script>
<div ng-app="myApp">

<label class="switch">
  <input type="checkbox" ng-model="queue111">111
</label>
<label class="switch">
  <input type="checkbox" ng-model="queue456">456
</label>

<div class="row" ng-controller="listdata">

  <div ng-repeat="user in users|filter: queue111? filter111: ''|filter: queue456? filter456: ''">
    <p> {{user.name}} {{user.phone}}</p>
  </div>
</div>

</div>
He creado funciones personalizadas$scope.filter111 y$scope.filter456 respectivamente para filtrar datos Actualmente, cuando hago clic en la casilla de verificación 111, el filtro devuelve solo el registro cuya cola tiene un número 111 y cuando hago clic en la casilla de verificación 456, el filtro devuelve solo los registros cuya cola tiene un número 456. Esto está funcionando perfectamente. Cuando hago clic en ambos filtros, muestra solo ese objeto cuya cola tiene tanto el número 111 como el 456, es decir, aquí se está produciendo una operación AND.

Resultado esperado: lo quiero de tal manera que cuando haga clic en la casilla de verificación, debería mostrar todos los registros de 111 y 456 juntos, es decir, una operación OR.

¿Cómo hago esto

Respuestas a la pregunta(1)

Su respuesta a la pregunta