Skip to content

Commit 254b56c

Browse files
committed
Fix labeling of events
1 parent d673ddc commit 254b56c

File tree

4 files changed

+15
-46
lines changed

4 files changed

+15
-46
lines changed

src/Events/MixpanelEvent.php

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,15 @@ class MixpanelEvent
1010
use SerializesModels;
1111

1212
public $charge;
13+
public $eventName;
1314
public $profileData;
14-
public $trackingData;
1515
public $user;
1616

17-
public function __construct($user, array $trackingData, int $charge = 0, array $profileData = [])
17+
public function __construct($user, string $eventName, int $charge = 0, array $profileData = [])
1818
{
1919
$this->charge = $charge;
20+
$this->eventName = $eventName;
2021
$this->profileData = $profileData;
21-
$this->trackingData = $this->addTimestamp($trackingData);
2222
$this->user = $user;
2323
}
24-
25-
private function addTimestamp(array $trackingData) : array
26-
{
27-
return array_map(function ($data) {
28-
if (! array_key_exists('time', $data)) {
29-
$data['time'] = time();
30-
}
31-
32-
return $data;
33-
}, $trackingData);
34-
}
3524
}

src/Listeners/LaravelMixpanelEventHandler.php

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,31 +23,25 @@ public function onUserLoginAttempt($event)
2323
$user = app($authModel)
2424
->where('email', $email)
2525
->first();
26-
$trackingData = [
27-
['Session', ['Status' => 'Login Attempt Succeeded']],
28-
];
29-
30-
if ($user && auth()->guest()) {
31-
$trackingData = [
32-
['Session', ['Status' => 'Login Attempt Failed']],
33-
];
26+
$eventName = 'Login Attempt Succeeded';
27+
28+
if ($user && ! auth()->validate($event->credentials)) {
29+
$eventName = 'Login Attempt Failed';
3430
}
3531

36-
event(new MixpanelEvent($user, $trackingData));
32+
event(new MixpanelEvent($user, $eventName));
3733
}
3834

3935
public function onUserLogin($login)
4036
{
4137
$user = $login->user ?? $login;
42-
$trackingData = [['Session', ['Status' => 'Logged In']]];
43-
event(new MixpanelEvent($user, $trackingData));
38+
event(new MixpanelEvent($user, 'User Logged In'));
4439
}
4540

4641
public function onUserLogout($logout)
4742
{
4843
$user = property_exists($logout, 'user') ? $logout->user : $logout;
49-
$trackingData = [['Session', ['Status' => 'Logged Out']]];
50-
event(new MixpanelEvent($user, $trackingData));
44+
event(new MixpanelEvent($user, 'User Logged Out'));
5145
}
5246

5347
public function subscribe(Dispatcher $events)

src/Listeners/LaravelMixpanelUserObserver.php

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,21 @@ class LaravelMixpanelUserObserver
66
{
77
public function created($user)
88
{
9-
$trackingData = [
10-
['User', ['Status' => 'Registered']],
11-
];
12-
event(new MixpanelEvent($user, $trackingData));
9+
event(new MixpanelEvent($user, 'User: Registered'));
1310
}
1411

1512
public function saving($user)
1613
{
17-
$trackingData = [
18-
['User', ['Status' => 'Updated']],
19-
];
20-
event(new MixpanelEvent($user, $trackingData));
14+
event(new MixpanelEvent($user, 'User: Updated'));
2115
}
2216

2317
public function deleting($user)
2418
{
25-
$trackingData = [
26-
['User', ['Status' => 'Deactivated']],
27-
];
28-
event(new MixpanelEvent($user, $trackingData));
19+
event(new MixpanelEvent($user, 'User: Deactivated'));
2920
}
3021

3122
public function restored($user)
3223
{
33-
$trackingData = [
34-
['User', ['Status' => 'Reactivated']],
35-
];
36-
event(new MixpanelEvent($user, $trackingData));
24+
event(new MixpanelEvent($user, 'User: Reactivated'));
3725
}
3826
}

src/Listeners/MixpanelEvent.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ public function handle(Event $event)
2020
app('mixpanel')->people->trackCharge($user->id, $event->charge);
2121
}
2222

23-
array_map(function ($data) {
24-
app('mixpanel')->track($data);
25-
}, $event->trackingData);
23+
app('mixpanel')->track($event->eventName);
2624
}
2725
}
2826

0 commit comments

Comments
 (0)