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 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 28
JournalsController
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 6
90
0.00% covered (danger)
0.00%
0 / 28
 __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
2
0.00% covered (danger)
0.00%
0 / 2
 store
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 9
 show
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 update
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 9
 destroy
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 5
1<?php
2
3namespace Qmp\Laravel\Compta\Controllers;
4
5use App\Http\Controllers\Controller;
6use Illuminate\Http\Response;
7use Illuminate\Http\Request;
8use Illuminate\Support\Facades\Redis;
9use Qmp\Laravel\Compta\Models\Journal;
10use Qmp\Laravel\MicroService\Controllers\AbstractMicroServiceController;
11
12class JournalsController extends AbstractMicroServiceController
13{
14    /**
15     * AccountLinesController constructor.
16     * @param Request $request
17     */
18    public function __construct(Request $request)
19    {
20        parent::__construct($request);
21    }
22
23    /**
24     * Display a listing of the resource.
25     *
26     * @return \Illuminate\Http\Response
27     */
28    public function index()
29    {
30        $journal = Journal::select()->simplePaginate();
31        return response()->json($journal);
32    }
33
34    /**
35     * Store a newly created resource in storage.
36     *
37     * @param  \Illuminate\Http\Request  $request
38     * @return \Illuminate\Http\Response
39     */
40    public function store(Request $request)
41    {
42        $request->validate([
43            'name' => 'required|max:255',
44        ]);
45
46        try {
47            $journal = new Journal();
48            $journal->name = $request->name;
49            $journal->save();
50        } catch(\Exception $e) {
51            return response()->json(['error' => $e->getMessage()], Response::HTTP_UNPROCESSABLE_ENTITY);
52        }
53
54        Redis::publish('comptability', json_encode(['action' => 'update-journal']));
55
56        return response(['status' => 'ok', 'journal_id' => $journal->id], Response::HTTP_CREATED);
57    }
58
59    /**
60     * Display the specified resource.
61     *
62     * @return \Illuminate\Http\Response
63     */
64    public function show($id)
65    {
66        return response(Journal::find($id));
67    }
68
69    /**
70     * Update the specified resource in storage.
71     *
72     * @param  \Illuminate\Http\Request  $request
73     * @return \Illuminate\Http\Response
74     */
75    public function update(Request $request, $id)
76    {
77        $request->validate([
78            'name' => 'required|max:255',
79        ]);
80
81        try {
82            // not need to update
83            $journal = Journal::findOrFail($id);
84            $journal->name = $request->name;
85            $journal->save();
86
87        } catch (\Exception $e) {
88            return response()->json(['error' => $e->getMessage()], Response::HTTP_UNPROCESSABLE_ENTITY);
89        }
90
91        Redis::publish('comptability', json_encode(['action' => 'update-journal']));
92
93        return response(['status' => 'ok'], Response::HTTP_OK);
94    }
95
96    /**
97     * Remove the specified resource from storage.
98     *
99     * @return \Illuminate\Http\Response
100     */
101    public function destroy($id)
102    {
103        try {
104            Journal::destroy($id);
105        } catch (\Exception $e) {
106            return response()->json(['error' => $e->getMessage()], Response::HTTP_UNPROCESSABLE_ENTITY);
107        }
108
109        Redis::publish('comptability', json_encode(['action' => 'update-journal']));
110
111        return response(['status' => 'ok'], Response::HTTP_OK);
112    }
113}