Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
7 / 7
CRAP
100.00% covered (success)
100.00%
26 / 26
InputController
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
7 / 7
9
100.00% covered (success)
100.00%
26 / 26
 __construct
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 index
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 store
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
9 / 9
 show
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 update
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
4 / 4
 destroy
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 validateData
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
6 / 6
1<?php
2
3namespace Qmp\Laravel\OcrOsStats\Controllers;
4
5use App\Http\Controllers\Controller;
6use Illuminate\Http\Response;
7use Illuminate\Http\Request;
8use Illuminate\Support\Facades\Log;
9use Qmp\Laravel\MicroService\Controllers\AbstractMicroServiceController;
10use Illuminate\Validation\Rule;
11use Qmp\Laravel\OcrOsStats\Models\Input;
12
13class InputController extends AbstractMicroServiceController
14{
15    public function __construct(Request $request)
16    {
17        //$this->middleware('perm:xxx');
18
19        parent::__construct($request);
20    }
21
22    /**
23     * Display a listing of the resource.
24     *
25     * @return \Illuminate\Http\Response
26     */
27    public function index()
28    {
29        return Input::all();
30    }
31
32    /**
33     * Store a newly created resource in storage.
34     *
35     * @param  \Illuminate\Http\Request  $request
36     * @return \Illuminate\Http\Response
37     */
38    public function store(Request $request)
39    {
40        $validatedData = $this->validateData($request);
41
42        $input = Input::create([
43            'name' => $validatedData['name'],
44            'operationNumber' => (int)$validatedData['operationNumber'],
45            'consumerRequestCode' => (int)$validatedData['consumerRequestCode'],
46            'ocrValue' => $validatedData['ocrValue'],
47            'osValue' => $validatedData['osValue'],
48            'ocrResponse' => $validatedData['ocrResponse'],
49        ]);
50
51        return $input;
52    }
53
54    /**
55     * Display the specified resource.
56     */
57    public function show($id)
58    {
59        $input = Input::findOrFail($id);
60        return response()->json($input);
61    }
62
63    /**
64     * Update the specified resource in storage.
65     *
66     * @param  \Illuminate\Http\Request  $request
67     * @return \Illuminate\Http\Response
68     */
69    public function update(Request $request, $id)
70    {
71        $validatedData = $this->validateData($request, $id);
72        $input = Input::findOrFail($id);
73
74        $result = $input->update($validatedData);
75
76        return response()->json(['status' => $result ? 'ok' : 'ko']);
77    }
78
79    /**
80     * Remove the specified resource from storage.
81     *
82     * @return \Illuminate\Http\Response
83     */
84    public function destroy($id)
85    {
86        Input::find($id)->delete();
87        return response()->json(['status' => 'ok']);
88    }
89
90    protected function validateData(Request $request, $id = null)
91    {
92        $rules =[
93            'name' => 'string|required',
94            'operationNumber' => 'string|required|size:5',
95            'consumerRequestCode' => 'string|required|size:13',
96            'ocrValue' => 'string|present',
97            'osValue' => 'string',
98            'ocrResponse' => 'boolean|required'
99        ];
100
101        if ($id != null) {
102            $rules['_id'] = [
103                'required',
104                Rule::in([$id])
105            ];
106        }
107
108        return $request->validate($rules);
109    }
110}