Projekt

Obecné

Profil

Stáhnout (2.88 KB) Statistiky
| Větev: | Revize:
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: Zdenda
5
 * Date: 20.4.2018
6
 * Time: 20:09
7
 */
8

    
9
namespace App\Http\Controllers;
10

    
11
use App\Model\Device;
12
use App\Model\Zarizeni;
13
use App\Model\Zaznam;
14
use Illuminate\Http\Request;
15

    
16
class DeviceController extends Controller
17
{
18
    // nazvy moznych url parametru
19
    const ADDRESS_PARAM = 'address';
20
    const SHOW_DIRECTION_PARAM = 'showDirection';
21
    const DATE_FROM_PARAM = 'dateFrom';
22
    const DATE_TO_PARAM = 'dateTo';
23
    const TIME_FROM_PARAM = 'timeFrom';
24
    const TIME_FROM_TO = 'timeTo';
25
    const DIRECTION_PARAM = 'direction';
26

    
27

    
28
    public function getDevice(Request $request) {
29
        $address = null;
30
        $showDirection=0;
31
        if ($request->has(ADDRESS_PARAM)) {
32
            $address = $request->input(ADDRESS_PARAM);
33
        }
34

    
35
        if ($request->has(SHOW_DIRECTION_PARAM) && $request->input(SHOW_DIRECTION_PARAM) == '1') {
36
            $showDirection = 1;
37
        }
38

    
39
        $device = Zarizeni::findByAddressJoinAddress($address, $showDirection);
40
        if ($device == null || count($device) == 0) {
41
            return response('Not found.', 404);
42
        }
43

    
44
        return $device;
45
    }
46

    
47
    /**
48
     * Vrati zarizeni podle id.
49
     * Url parametry:
50
     * dateFrom
51
     * dateTo
52
     * timeFrom
53
     * timeTo
54
     * direction
55
     *
56
     * @param Request $request
57
     * @param $id
58
     * @return \Symfony\Component\HttpFoundation\Response
59
     */
60
    public function getDeviceById(Request $request, $id) {
61

    
62
        $dateFrom = null;
63
        $dateTo = null;
64
        $timeFrom = null;
65
        $timeTo = null;
66
        $direction = null;
67

    
68
        // nacti parametry
69
        if ($request->has(DATE_FROM_PARAM)) {
70
            $dateFrom = $request->input(DATE_FROM_PARAM);
71
        }
72
        if ($request->has(DATE_TO_PARAM)) {
73
            $dateTo = $request->input(DATE_TO_PARAM);
74
        }
75
        if ($request->has(TIME_FROM_PARAM)) {
76
            $timeFrom = $request->input(TIME_FROM_PARAM);
77
        }
78
        if ($request->has(TIME_TO_PARAM)) {
79
            $timeTo = $request->input(TIME_TO_PARAM);
80
        }
81
        if ($request->has(DIRECTION_PARAM)) {
82
            $direction = $request->input(DIRECTION_PARAM);
83
        }
84

    
85
        $device = Zarizeni::findByIdJoinAddress($id);
86
        if ($device != null) {
87
            $device[0]->traffic = Zaznam::findByDevice($id, $dateFrom, $dateTo, $timeFrom, $timeTo, $direction);
88
        } else if ($device == null || count($device) == 0) {
89
            return response('Not found.', 404);
90
        }
91

    
92
        return $device;
93
    }
94

    
95
    public function getAll() {
96
        return Zarizeni::getAllJoinAddress();
97
    }
98

    
99
    public function lastDay() {
100
        return Zaznam::lastInsertedDate();
101
    }
102

    
103
    public function headerTest(Request $request) {
104
        $authHeader = $request->header("jwt");
105

    
106
        if($authHeader != null) {
107
            return $authHeader;
108
        } else {
109
            return $request->header("jwt");
110
        }
111
    }
112
}
(2-2/6)