Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 14
MailStateController
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
12
0.00% covered (danger)
0.00%
0 / 14
 __construct
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 index
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 12
1<?php
2
3namespace Qmp\Laravel\Mail\Controllers;
4
5use App\Http\Controllers\Controller;
6use Illuminate\Http\Response;
7use Illuminate\Http\Request;
8use Illuminate\Support\Facades\Log;
9use Illuminate\Support\Facades\Redis;
10use Qmp\Laravel\Help\Models\HelpNeeded;
11use Qmp\Laravel\MicroService\Controllers\AbstractMicroServiceController;
12
13class MailStateController extends AbstractMicroServiceController
14{
15    /**
16     * AccountLinesController constructor.
17     * @param Request $request
18     */
19    public function __construct(Request $request)
20    {
21        parent::__construct($request);
22    }
23
24    /**
25     * Display a listing of the resource.
26     *
27     * @return \Illuminate\Http\Response
28     * @throws \Exception
29     */
30    public function index()
31    {
32        $queuedMails = Redis::connection('queue')->lrange('queues:emails', 0, -1);
33
34        if (!is_array($queuedMails)) {
35            throw new \Exception('Error On redis');
36        }
37
38        $queuedMails = array_map(function($item) {
39            $item = json_decode($item, true);
40            $item['data']['command'] = unserialize($item['data']['command']);
41
42            return [
43                'id' => $item['id'],
44                'attempts' => $item['attempts'],
45                'mail_type' => str_replace('Qmp\\Laravel\\Mail\\Mail\\', '', get_class($item['data']['command']->mailSender->get('content'))),
46                'recipients' => $item['data']['command']->mailSender->get('to')
47
48            ];
49        }, $queuedMails);
50
51        return response()->json($queuedMails);
52    }
53
54
55}