Fix response iteration
This commit is contained in:
parent
47dec4e187
commit
6e40973771
1 changed files with 7 additions and 10 deletions
|
@ -232,20 +232,17 @@ class Messaging extends Action
|
||||||
};
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$response = new Response($provider->getAttribute('type'));
|
$response = $adapter->send($data);
|
||||||
$response->fromArray($adapter->send($data));
|
$deliveredTotal += $response['deliveredTo'];
|
||||||
|
foreach ($response['results'] as $result) {
|
||||||
$deliveredTotal += $response->getDeliveredTo();
|
if ($result['status'] === 'failure') {
|
||||||
$details[] = $response->getDetails();
|
$deliveryErrors[] = "Failed sending to target {$result['recipient']} with error: {$result['error']}";
|
||||||
foreach ($details as $detail) {
|
|
||||||
if ($detail['status'] === 'failure') {
|
|
||||||
$deliveryErrors[] = "Failed sending to target {$detail['recipient']} with error: {$detail['error']}";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deleting push targets when token has expired.
|
// Deleting push targets when token has expired.
|
||||||
if ($detail['error'] === 'Expired device token.') {
|
if (($result['error'] ?? '') === 'Expired device token.') {
|
||||||
$target = $dbForProject->findOne('targets', [
|
$target = $dbForProject->findOne('targets', [
|
||||||
Query::equal('identifier', [$detail['recipient']])
|
Query::equal('identifier', [$result['recipient']])
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($target instanceof Document && !$target->isEmpty()) {
|
if ($target instanceof Document && !$target->isEmpty()) {
|
||||||
|
|
Loading…
Reference in a new issue