MenuController::validation()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 18
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 9
c 1
b 0
f 0
nc 3
nop 1
dl 0
loc 18
ccs 0
cts 14
cp 0
crap 12
rs 9.9666
1
<?php
2
3
namespace CodexShaper\DBM\Http\Controllers;
4
5
use CodexShaper\DBM\Facades\Manager as DBM;
6
use Illuminate\Support\Facades\Response;
7
use Illuminate\Support\Facades\Validator;
8
9
class MenuController extends Controller
10
{
11
    /**
12
     * Show login form.
13
     *
14
     * @return \Illuminate\View\View|\Illuminate\Contracts\View\Factory
15
     */
16
    public function showLoginForm()
17
    {
18
        return view('dbm::admin');
19
    }
20
21
    /**
22
     * Login User for API.
23
     *
24
     * @return \Illuminate\Http\JsonResponse
25
     */
26
    public function get()
27
    {
28
        // if ($request->ajax()) {
29
        try {
30
            if ($menu = DBM::Menu()->where('slug', 'admin')->first()) {
31
                $menus = DBM::MenuItem()::with('childrens')
32
                    ->where('menu_id', $menu->id)
33
                    ->whereNull('parent_id')
34
                    ->orderBy('order', 'asc')
35
                    ->get();
36
37
                return response()->json([
38
                    'success' => true,
39
                    'menus' => $menus,
40
                ]);
41
            }
42
        } catch (\Exception $e) {
43
            $this->generateError([$e->getMessage()]);
44
        }
45
        // }
46
        // return response()->json(["success" => false, "error" => "Unauthorised"], 401);
47
    }
48
49
    /**
50
     * Validate Credentials.
51
     *
52
     * @param array $data
53
     *
54
     * @return \Illuminate\Http\JsonResponse|true
55
     */
56
    public function validation($data)
57
    {
58
        $validator = Validator::make($data, [
59
            'email' => 'required|email',
60
            'password' => 'required',
61
62
        ]);
63
64
        if ($validator->fails()) {
65
            $errors = [];
66
            foreach ($validator->errors()->all() as $error) {
67
                $errors[] = $error;
68
            }
69
70
            return $this->generateError($errors);
71
        }
72
73
        return true;
74
    }
75
76
    /**
77
     * Generate errors and return response.
78
     *
79
     * @param array $errors
80
     *
81
     * @return \Illuminate\Http\JsonResponse
82
     */
83
    public function generateError($errors)
84
    {
85
        return response()->json([
86
            'success' => false,
87
            'errors' => $errors,
88
        ], 400);
89
    }
90
}
91