Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
HubspotPropertiesTrait
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 2
72
0.00% covered (danger)
0.00%
0 / 1
 findExtensionInstalled
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
20
 findExtensionsUninstalled
0.00% covered (danger)
0.00%
0 / 8
0.00% covered (danger)
0.00%
0 / 1
20
1<?php
2
3namespace App\Traits;
4
5use App\Http\Models\UserInfo;
6use Carbon\Carbon;
7use MongoDB\BSON\UTCDateTime;
8
9trait HubspotPropertiesTrait
10{
11    public function findExtensionInstalled(array $userIds, ?Carbon $start_date, ?Carbon $end_date)
12    {
13        $query = UserInfo::where('is_any_extension_installed', true);
14        $hasFilterUsers = ! empty($userIds);
15
16        if ($hasFilterUsers) {
17            $query = $query->whereIn('id', $userIds);
18        }
19
20        if ($start_date && $end_date) {
21            $query = $query->where('user_created_at', '>=', new UTCDateTime($start_date->getTimestamp() * 1000));
22            $query = $query->where('user_created_at', '<=', new UTCDateTime($end_date->getTimestamp() * 1000));
23        }
24
25        return $query->count();
26    }
27
28    public function findExtensionsUninstalled(array $userIds, ?Carbon $start_date, ?Carbon $end_date)
29    {
30        $query = UserInfo::where('is_any_extension_uninstalled', true);
31        $hasFilterUsers = ! empty($userIds);
32
33        if ($hasFilterUsers) {
34            $query = $query->whereIn('id', $userIds);
35        }
36
37        if ($start_date && $end_date) {
38            $query = $query->where('user_created_at', '>=', new UTCDateTime($start_date->getTimestamp() * 1000));
39            $query = $query->where('user_created_at', '<=', new UTCDateTime($end_date->getTimestamp() * 1000));
40        }
41
42        return $query->count();
43    }
44}