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 App\Http\Models\HubspotProperties;
8use MongoDB\BSON\UTCDateTime;
9
10trait HubspotPropertiesTrait
11{
12    public function findExtensionInstalled(array $userIds, ?Carbon $start_date, ?Carbon $end_date)
13    {
14        $query = UserInfo::where('is_any_extension_installed', true);
15        $hasFilterUsers = !empty($userIds);
16
17        if ($hasFilterUsers) {
18            $query = $query->whereIn('id', $userIds);
19        }
20
21        if ($start_date && $end_date) {
22            $query = $query->where('user_created_at', '>=', new UTCDateTime($start_date->getTimestamp() * 1000));
23            $query = $query->where('user_created_at', '<=', new UTCDateTime($end_date->getTimestamp() * 1000));
24        }
25
26        return $query->count();
27    }
28
29    public function findExtensionsUninstalled(array $userIds, ?Carbon $start_date, ?Carbon $end_date)
30    {
31        $query = UserInfo::where('is_any_extension_uninstalled', true);
32        $hasFilterUsers = !empty($userIds);
33
34        if ($hasFilterUsers) {
35            $query = $query->whereIn('id', $userIds);
36        }
37
38        if ($start_date && $end_date) {
39            $query = $query->where('user_created_at', '>=', new UTCDateTime($start_date->getTimestamp() * 1000));
40            $query = $query->where('user_created_at', '<=', new UTCDateTime($end_date->getTimestamp() * 1000));
41        }
42
43        return $query->count();
44    }
45}