Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
UserExtensionController | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
90 | |
0.00% |
0 / 1 |
track | |
0.00% |
0 / 24 |
|
0.00% |
0 / 1 |
90 |
1 | <?php |
2 | |
3 | namespace App\Http\Controllers\v1; |
4 | |
5 | use App\Http\Models\UserExtensionTrackActions; |
6 | use Carbon\Carbon; |
7 | use Illuminate\Http\Request; |
8 | use App\Http\Models\Auth\User; |
9 | use App\Http\Controllers\Controller; |
10 | use App\Traits\SubscriptionTrait; |
11 | use MongoDB\BSON\UTCDateTime; |
12 | |
13 | class UserExtensionController extends Controller |
14 | { |
15 | use SubscriptionTrait; |
16 | |
17 | public function track(Request $request) |
18 | { |
19 | $userParameter = $request->userId; |
20 | |
21 | if (!empty($userParameter) && !empty($request->event_name)) { |
22 | $user = User::where('id', $userParameter)->first(); |
23 | |
24 | if (!empty($user)) { |
25 | $event = new UserExtensionTrackActions(); |
26 | $event->user_id = $user->id; |
27 | $event->heap_analytics_id = $user->heap_analytics_id; |
28 | $event->event_name = $request->event_name; |
29 | |
30 | if (!empty($request->extension_version)) { |
31 | $event->extension_version = $request->extension_version; |
32 | } |
33 | |
34 | if (!empty($request->domain)) { |
35 | $event->domain = $request->domain; |
36 | } |
37 | |
38 | if (!empty($request->url)) { |
39 | $event->url = $request->url; |
40 | } |
41 | |
42 | if (!empty($request->browser)) { |
43 | $event->browser = $request->browser; |
44 | } |
45 | |
46 | if (!empty($request->executed_at)) { |
47 | $date = Carbon::parse($request->executed_at); |
48 | $event->executed_at = new UTCDateTime($date->getTimestamp() * 1000); |
49 | } |
50 | |
51 | $event->save(); |
52 | |
53 | $quota = $this->getFlyCutsQuota($user); |
54 | } |
55 | } |
56 | |
57 | |
58 | return response()->json([ |
59 | 'quota' => $quota |
60 | ], 201); |
61 | } |
62 | } |