GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( 2d48be...f6c8f6 )
by Freek
05:26
created

SiteRepository::query()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 6
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
3
namespace Spatie\UptimeMonitor;
4
5
use Illuminate\Support\Collection;
6
use Spatie\UptimeMonitor\Exceptions\InvalidConfiguration;
7
use Spatie\UptimeMonitor\Models\Enums\SslCertificateStatus;
8
use Spatie\UptimeMonitor\Models\Enums\UptimeStatus;
9
use Spatie\UptimeMonitor\Models\Site;
10
11
class SiteRepository
12
{
13
    public static function getAllEnabledSites(): Collection
14
    {
15
        return self::query()
16
            ->get()
17
            ->sortByHost();
18
    }
19
20
    public static function getAllForUptimeCheck(): SiteCollection
21
    {
22
        $sites = self::query()
23
            ->get()
24
            ->filter(function (Site $site) {
25
                return $site->shouldCheckUptime();
26
            })
27
            ->sortByHost();
28
29
        return new SiteCollection($sites);
30
    }
31
32
    public static function getAllForSslCheck(): Collection
33
    {
34
        return self::query()
35
            ->where('check_ssl_certificate', true)
36
            ->get()
37
            ->sortByHost();
38
    }
39
40
    public static function healthySites(): Collection
41
    {
42
        return self::query()
43
            ->get()
44
            ->filter(function (Site $site) {
45
                return $site->isHealthy();
46
            })
47
        ->sortByHost();
48
49
    }
50
51
    public static function downSites(): Collection
52
    {
53
        return self::query()
54
            ->where('uptime_status', UptimeStatus::DOWN)
55
            ->get()
56
            ->sortByHost();
57
    }
58
59
    public static function withSslProblems(): Collection
60
    {
61
        return self::query()
62
            ->where('check_ssl_certificate', true)
63
            ->where('ssl_certificate_status', SslCertificateStatus::INVALID)
64
            ->get()
65
            ->sortByHost();
66
    }
67
68
    public static function unhealthySites(): Collection
69
    {
70
        return self::query()
71
            ->get()
72
            ->reject(function (Site $site) {
73
                return $site->isHealthy();
74
            })
75
            ->sortByHost();
76
    }
77
78
    public static function uncheckedSites(): Collection
79
    {
80
        return self::query()
81
            ->where('uptime_status', UptimeStatus::NOT_YET_CHECKED)
82
            ->get()
83
            ->sortByHost();
84
    }
85
86
    protected static function query()
87
    {
88
        $modelClass = static::determineSiteModel();
89
90
        return $modelClass::enabled();
91
    }
92
93
    protected static function determineSiteModel(): string
94
    {
95
        $siteModel = config('laravel-uptime-monitor.site_model') ?? Site::class;
96
97
        if (! is_a($siteModel, Site::class, true)) {
98
            throw InvalidConfiguration::modelIsNotValid($siteModel);
99
        }
100
101
        return $siteModel;
102
    }
103
}
104