Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 14 |
MailStateController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
12 | |
0.00% |
0 / 14 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
index | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 12 |
1 | <?php |
2 | |
3 | namespace Qmp\Laravel\Mail\Controllers; |
4 | |
5 | use App\Http\Controllers\Controller; |
6 | use Illuminate\Http\Response; |
7 | use Illuminate\Http\Request; |
8 | use Illuminate\Support\Facades\Log; |
9 | use Illuminate\Support\Facades\Redis; |
10 | use Qmp\Laravel\Help\Models\HelpNeeded; |
11 | use Qmp\Laravel\MicroService\Controllers\AbstractMicroServiceController; |
12 | |
13 | class 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 | } |