Projekt

Obecné

Profil

Stáhnout (2.88 KB) Statistiky
| Větev: | Revize:
1 1123608c Cajova-Houba
<?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 b50f8ebd Cajova-Houba
use App\Model\Zarizeni;
13 d58f0fda Cajova-Houba
use App\Model\Zaznam;
14 1123608c Cajova-Houba
use Illuminate\Http\Request;
15
16
class DeviceController extends Controller
17
{
18 f71bf8bd Cajova-Houba
    // 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 1123608c Cajova-Houba
    public function getDevice(Request $request) {
29 143e4121 Cajova-Houba
        $address = null;
30 1123608c Cajova-Houba
        $showDirection=0;
31 f71bf8bd Cajova-Houba
        if ($request->has(ADDRESS_PARAM)) {
32
            $address = $request->input(ADDRESS_PARAM);
33 1123608c Cajova-Houba
        }
34
35 f71bf8bd Cajova-Houba
        if ($request->has(SHOW_DIRECTION_PARAM) && $request->input(SHOW_DIRECTION_PARAM) == '1') {
36
            $showDirection = 1;
37 1123608c Cajova-Houba
        }
38
39 f71bf8bd Cajova-Houba
        $device = Zarizeni::findByAddressJoinAddress($address, $showDirection);
40 a139ba77 Cajova-Houba
        if ($device == null || count($device) == 0) {
41
            return response('Not found.', 404);
42
        }
43
44
        return $device;
45 1123608c Cajova-Houba
    }
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 d58f0fda Cajova-Houba
        $dateFrom = null;
63
        $dateTo = null;
64
        $timeFrom = null;
65
        $timeTo = null;
66
        $direction = null;
67
68
        // nacti parametry
69 f71bf8bd Cajova-Houba
        if ($request->has(DATE_FROM_PARAM)) {
70
            $dateFrom = $request->input(DATE_FROM_PARAM);
71 d58f0fda Cajova-Houba
        }
72 f71bf8bd Cajova-Houba
        if ($request->has(DATE_TO_PARAM)) {
73
            $dateTo = $request->input(DATE_TO_PARAM);
74 d58f0fda Cajova-Houba
        }
75 f71bf8bd Cajova-Houba
        if ($request->has(TIME_FROM_PARAM)) {
76
            $timeFrom = $request->input(TIME_FROM_PARAM);
77 d58f0fda Cajova-Houba
        }
78 f71bf8bd Cajova-Houba
        if ($request->has(TIME_TO_PARAM)) {
79
            $timeTo = $request->input(TIME_TO_PARAM);
80 d58f0fda Cajova-Houba
        }
81 f71bf8bd Cajova-Houba
        if ($request->has(DIRECTION_PARAM)) {
82
            $direction = $request->input(DIRECTION_PARAM);
83 d58f0fda Cajova-Houba
        }
84
85
        $device = Zarizeni::findByIdJoinAddress($id);
86
        if ($device != null) {
87
            $device[0]->traffic = Zaznam::findByDevice($id, $dateFrom, $dateTo, $timeFrom, $timeTo, $direction);
88 a139ba77 Cajova-Houba
        } else if ($device == null || count($device) == 0) {
89
            return response('Not found.', 404);
90 d58f0fda Cajova-Houba
        }
91
92
        return $device;
93 b50f8ebd Cajova-Houba
    }
94 1123608c Cajova-Houba
95 b50f8ebd Cajova-Houba
    public function getAll() {
96
        return Zarizeni::getAllJoinAddress();
97 1123608c Cajova-Houba
    }
98 d58f0fda Cajova-Houba
99
    public function lastDay() {
100
        return Zaznam::lastInsertedDate();
101
    }
102 73804802 Cajova-Houba
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 1123608c Cajova-Houba
}