diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index c49dbd5a..468866bc 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1 +1 @@
-github: [TwinProduction]
+github: [TwiN]
diff --git a/LICENSE.md b/LICENSE.md
index c608627d..ca64af38 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2021 TwinProduction
+Copyright (c) 2021 TwiN
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/README.md b/README.md
index a91cf298..2a54da61 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@

-
-[](https://goreportcard.com/report/github.com/TwinProduction/gatus)
-[](https://codecov.io/gh/TwinProduction/gatus)
-[](https://github.com/TwinProduction/gatus)
+
+[](https://goreportcard.com/report/github.com/TwiN/gatus)
+[](https://codecov.io/gh/TwiN/gatus)
+[](https://github.com/TwiN/gatus)
[](https://cloud.docker.com/repository/docker/twinproduction/gatus)
[](https://discord.gg/TDfjeHmXDQ)
-[](https://github.com/TwinProduction)
+[](https://github.com/TwiN)
Gatus is a health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS
queries as well as evaluate the result of said queries by using a list of conditions on values like the status code,
@@ -842,7 +842,7 @@ and [helmfile example](https://github.com/avakarev/gatus-chart#helmfileyaml-exam
### Terraform
-Gatus can be deployed on Terraform by using the following module: [terraform-kubernetes-gatus](https://github.com/TwinProduction/terraform-kubernetes-gatus).
+Gatus can be deployed on Terraform by using the following module: [terraform-kubernetes-gatus](https://github.com/TwiN/terraform-kubernetes-gatus).
@@ -1064,7 +1064,7 @@ to make.
**If you are not using a file storage**, updating the configuration while Gatus is running is effectively
the same as restarting the application.
-**NOTE:** Updates may not be detected if the config file is bound instead of the config folder. See [#151](https://github.com/TwinProduction/gatus/issues/151).
+**NOTE:** Updates may not be detected if the config file is bound instead of the config folder. See [#151](https://github.com/TwiN/gatus/issues/151).
### Service groups
@@ -1200,7 +1200,7 @@ No such header is required to query the API.
## Sponsors
-You can find the full list of sponsors [here](https://github.com/sponsors/TwinProduction).
+You can find the full list of sponsors [here](https://github.com/sponsors/TwiN).
[
](https://github.com/math280h)
[
](https://github.com/pyroscope-io)
diff --git a/alerting/config.go b/alerting/config.go
index 0a18dfce..76b471aa 100644
--- a/alerting/config.go
+++ b/alerting/config.go
@@ -1,17 +1,17 @@
package alerting
import (
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/alerting/provider/discord"
- "github.com/TwinProduction/gatus/v3/alerting/provider/mattermost"
- "github.com/TwinProduction/gatus/v3/alerting/provider/messagebird"
- "github.com/TwinProduction/gatus/v3/alerting/provider/pagerduty"
- "github.com/TwinProduction/gatus/v3/alerting/provider/slack"
- "github.com/TwinProduction/gatus/v3/alerting/provider/teams"
- "github.com/TwinProduction/gatus/v3/alerting/provider/telegram"
- "github.com/TwinProduction/gatus/v3/alerting/provider/twilio"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/alerting/provider/discord"
+ "github.com/TwiN/gatus/v3/alerting/provider/mattermost"
+ "github.com/TwiN/gatus/v3/alerting/provider/messagebird"
+ "github.com/TwiN/gatus/v3/alerting/provider/pagerduty"
+ "github.com/TwiN/gatus/v3/alerting/provider/slack"
+ "github.com/TwiN/gatus/v3/alerting/provider/teams"
+ "github.com/TwiN/gatus/v3/alerting/provider/telegram"
+ "github.com/TwiN/gatus/v3/alerting/provider/twilio"
)
// Config is the configuration for alerting providers
diff --git a/alerting/provider/custom/custom.go b/alerting/provider/custom/custom.go
index a74f02fb..37f16af1 100644
--- a/alerting/provider/custom/custom.go
+++ b/alerting/provider/custom/custom.go
@@ -9,9 +9,9 @@ import (
"os"
"strings"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/client"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/client"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using a custom HTTP request
diff --git a/alerting/provider/custom/custom_test.go b/alerting/provider/custom/custom_test.go
index 97f7ec35..86bc5b49 100644
--- a/alerting/provider/custom/custom_test.go
+++ b/alerting/provider/custom/custom_test.go
@@ -4,8 +4,8 @@ import (
"io/ioutil"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/discord/discord.go b/alerting/provider/discord/discord.go
index 429aebbd..3e57d844 100644
--- a/alerting/provider/discord/discord.go
+++ b/alerting/provider/discord/discord.go
@@ -4,9 +4,9 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using Discord
diff --git a/alerting/provider/discord/discord_test.go b/alerting/provider/discord/discord_test.go
index 44fb995e..4f5d85ad 100644
--- a/alerting/provider/discord/discord_test.go
+++ b/alerting/provider/discord/discord_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/mattermost/mattermost.go b/alerting/provider/mattermost/mattermost.go
index 41fe92fd..b880b809 100644
--- a/alerting/provider/mattermost/mattermost.go
+++ b/alerting/provider/mattermost/mattermost.go
@@ -4,10 +4,10 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/client"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/client"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using Mattermost
@@ -61,7 +61,7 @@ func (provider *AlertProvider) ToCustomAlertProvider(service *core.Service, aler
Body: fmt.Sprintf(`{
"text": "",
"username": "gatus",
- "icon_url": "https://raw.githubusercontent.com/TwinProduction/gatus/master/static/logo.png",
+ "icon_url": "https://raw.githubusercontent.com/TwiN/gatus/master/static/logo.png",
"attachments": [
{
"title": ":rescue_worker_helmet: Gatus",
diff --git a/alerting/provider/mattermost/mattermost_test.go b/alerting/provider/mattermost/mattermost_test.go
index 30a49ff6..1ba2be21 100644
--- a/alerting/provider/mattermost/mattermost_test.go
+++ b/alerting/provider/mattermost/mattermost_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/messagebird/messagebird.go b/alerting/provider/messagebird/messagebird.go
index 1ee9d2ea..18727f92 100644
--- a/alerting/provider/messagebird/messagebird.go
+++ b/alerting/provider/messagebird/messagebird.go
@@ -4,9 +4,9 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
const (
diff --git a/alerting/provider/messagebird/messagebird_test.go b/alerting/provider/messagebird/messagebird_test.go
index 11719303..0f9789a1 100644
--- a/alerting/provider/messagebird/messagebird_test.go
+++ b/alerting/provider/messagebird/messagebird_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestMessagebirdAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/pagerduty/pagerduty.go b/alerting/provider/pagerduty/pagerduty.go
index afeba036..a1d49ca1 100644
--- a/alerting/provider/pagerduty/pagerduty.go
+++ b/alerting/provider/pagerduty/pagerduty.go
@@ -4,9 +4,9 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
const (
diff --git a/alerting/provider/pagerduty/pagerduty_test.go b/alerting/provider/pagerduty/pagerduty_test.go
index a4a86af5..8225a757 100644
--- a/alerting/provider/pagerduty/pagerduty_test.go
+++ b/alerting/provider/pagerduty/pagerduty_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/provider.go b/alerting/provider/provider.go
index d34dbd3d..5a7e8962 100644
--- a/alerting/provider/provider.go
+++ b/alerting/provider/provider.go
@@ -1,17 +1,17 @@
package provider
import (
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/alerting/provider/discord"
- "github.com/TwinProduction/gatus/v3/alerting/provider/mattermost"
- "github.com/TwinProduction/gatus/v3/alerting/provider/messagebird"
- "github.com/TwinProduction/gatus/v3/alerting/provider/pagerduty"
- "github.com/TwinProduction/gatus/v3/alerting/provider/slack"
- "github.com/TwinProduction/gatus/v3/alerting/provider/teams"
- "github.com/TwinProduction/gatus/v3/alerting/provider/telegram"
- "github.com/TwinProduction/gatus/v3/alerting/provider/twilio"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/alerting/provider/discord"
+ "github.com/TwiN/gatus/v3/alerting/provider/mattermost"
+ "github.com/TwiN/gatus/v3/alerting/provider/messagebird"
+ "github.com/TwiN/gatus/v3/alerting/provider/pagerduty"
+ "github.com/TwiN/gatus/v3/alerting/provider/slack"
+ "github.com/TwiN/gatus/v3/alerting/provider/teams"
+ "github.com/TwiN/gatus/v3/alerting/provider/telegram"
+ "github.com/TwiN/gatus/v3/alerting/provider/twilio"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the interface that each providers should implement
diff --git a/alerting/provider/provider_test.go b/alerting/provider/provider_test.go
index 961fe4e6..8c4a7109 100644
--- a/alerting/provider/provider_test.go
+++ b/alerting/provider/provider_test.go
@@ -3,7 +3,7 @@ package provider
import (
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/alert"
)
func TestParseWithDefaultAlert(t *testing.T) {
diff --git a/alerting/provider/slack/slack.go b/alerting/provider/slack/slack.go
index c9293312..920b4bee 100644
--- a/alerting/provider/slack/slack.go
+++ b/alerting/provider/slack/slack.go
@@ -4,9 +4,9 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using Slack
diff --git a/alerting/provider/slack/slack_test.go b/alerting/provider/slack/slack_test.go
index 7b5e1548..9e43212a 100644
--- a/alerting/provider/slack/slack_test.go
+++ b/alerting/provider/slack/slack_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/teams/teams.go b/alerting/provider/teams/teams.go
index ce89f7d5..b74e4c63 100644
--- a/alerting/provider/teams/teams.go
+++ b/alerting/provider/teams/teams.go
@@ -4,9 +4,9 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using Teams
diff --git a/alerting/provider/teams/teams_test.go b/alerting/provider/teams/teams_test.go
index 36dd0ffd..405922c5 100644
--- a/alerting/provider/teams/teams_test.go
+++ b/alerting/provider/teams/teams_test.go
@@ -6,8 +6,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/telegram/telegram.go b/alerting/provider/telegram/telegram.go
index 962358ec..3754ffe5 100644
--- a/alerting/provider/telegram/telegram.go
+++ b/alerting/provider/telegram/telegram.go
@@ -4,9 +4,9 @@ import (
"fmt"
"net/http"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using Telegram
diff --git a/alerting/provider/telegram/telegram_test.go b/alerting/provider/telegram/telegram_test.go
index a9d0855e..fa3bec98 100644
--- a/alerting/provider/telegram/telegram_test.go
+++ b/alerting/provider/telegram/telegram_test.go
@@ -7,8 +7,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestAlertProvider_IsValid(t *testing.T) {
diff --git a/alerting/provider/twilio/twilio.go b/alerting/provider/twilio/twilio.go
index ef82fa06..80bec9f2 100644
--- a/alerting/provider/twilio/twilio.go
+++ b/alerting/provider/twilio/twilio.go
@@ -6,9 +6,9 @@ import (
"net/http"
"net/url"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/core"
)
// AlertProvider is the configuration necessary for sending an alert using Twilio
diff --git a/alerting/provider/twilio/twilio_test.go b/alerting/provider/twilio/twilio_test.go
index 5f81e460..c60fceb2 100644
--- a/alerting/provider/twilio/twilio_test.go
+++ b/alerting/provider/twilio/twilio_test.go
@@ -5,8 +5,8 @@ import (
"strings"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
func TestTwilioAlertProvider_IsValid(t *testing.T) {
diff --git a/client/client.go b/client/client.go
index 1d0a859e..8e78f718 100644
--- a/client/client.go
+++ b/client/client.go
@@ -86,7 +86,7 @@ func Ping(address string, config *Config) (bool, time.Duration) {
pinger.Count = 1
pinger.Timeout = config.Timeout
// Set the pinger's privileged mode to true for every GOOS except darwin
- // See https://github.com/TwinProduction/gatus/issues/132
+ // See https://github.com/TwiN/gatus/issues/132
//
// Note that for this to work on Linux, Gatus must run with sudo privileges.
// See https://github.com/go-ping/ping#linux
diff --git a/config/config.go b/config/config.go
index d18e7468..1b5df6ab 100644
--- a/config/config.go
+++ b/config/config.go
@@ -7,15 +7,15 @@ import (
"os"
"time"
- "github.com/TwinProduction/gatus/v3/alerting"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider"
- "github.com/TwinProduction/gatus/v3/config/maintenance"
- "github.com/TwinProduction/gatus/v3/config/ui"
- "github.com/TwinProduction/gatus/v3/config/web"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/security"
- "github.com/TwinProduction/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/alerting"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider"
+ "github.com/TwiN/gatus/v3/config/maintenance"
+ "github.com/TwiN/gatus/v3/config/ui"
+ "github.com/TwiN/gatus/v3/config/web"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/security"
+ "github.com/TwiN/gatus/v3/storage"
"gopkg.in/yaml.v2"
)
diff --git a/config/config_test.go b/config/config_test.go
index 32baaf2e..75f8be69 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -5,21 +5,21 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/alerting"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/alerting/provider/discord"
- "github.com/TwinProduction/gatus/v3/alerting/provider/mattermost"
- "github.com/TwinProduction/gatus/v3/alerting/provider/messagebird"
- "github.com/TwinProduction/gatus/v3/alerting/provider/pagerduty"
- "github.com/TwinProduction/gatus/v3/alerting/provider/slack"
- "github.com/TwinProduction/gatus/v3/alerting/provider/teams"
- "github.com/TwinProduction/gatus/v3/alerting/provider/telegram"
- "github.com/TwinProduction/gatus/v3/alerting/provider/twilio"
- "github.com/TwinProduction/gatus/v3/client"
- "github.com/TwinProduction/gatus/v3/config/ui"
- "github.com/TwinProduction/gatus/v3/config/web"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/alerting/provider/discord"
+ "github.com/TwiN/gatus/v3/alerting/provider/mattermost"
+ "github.com/TwiN/gatus/v3/alerting/provider/messagebird"
+ "github.com/TwiN/gatus/v3/alerting/provider/pagerduty"
+ "github.com/TwiN/gatus/v3/alerting/provider/slack"
+ "github.com/TwiN/gatus/v3/alerting/provider/teams"
+ "github.com/TwiN/gatus/v3/alerting/provider/telegram"
+ "github.com/TwiN/gatus/v3/alerting/provider/twilio"
+ "github.com/TwiN/gatus/v3/client"
+ "github.com/TwiN/gatus/v3/config/ui"
+ "github.com/TwiN/gatus/v3/config/web"
+ "github.com/TwiN/gatus/v3/core"
)
func TestLoadFileThatDoesNotExist(t *testing.T) {
diff --git a/controller/controller.go b/controller/controller.go
index ccaeff57..e36e613d 100644
--- a/controller/controller.go
+++ b/controller/controller.go
@@ -8,10 +8,10 @@ import (
"os"
"time"
- "github.com/TwinProduction/gatus/v3/config/ui"
- "github.com/TwinProduction/gatus/v3/config/web"
- "github.com/TwinProduction/gatus/v3/controller/handler"
- "github.com/TwinProduction/gatus/v3/security"
+ "github.com/TwiN/gatus/v3/config/ui"
+ "github.com/TwiN/gatus/v3/config/web"
+ "github.com/TwiN/gatus/v3/controller/handler"
+ "github.com/TwiN/gatus/v3/security"
)
var (
diff --git a/controller/controller_test.go b/controller/controller_test.go
index d97bbe7f..a3c8618a 100644
--- a/controller/controller_test.go
+++ b/controller/controller_test.go
@@ -7,9 +7,9 @@ import (
"os"
"testing"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/config/web"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/config/web"
+ "github.com/TwiN/gatus/v3/core"
)
func TestHandle(t *testing.T) {
diff --git a/controller/handler/badge.go b/controller/handler/badge.go
index d0fe49bb..625736ba 100644
--- a/controller/handler/badge.go
+++ b/controller/handler/badge.go
@@ -7,8 +7,8 @@ import (
"strings"
"time"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/storage/store/common"
"github.com/gorilla/mux"
)
diff --git a/controller/handler/badge_test.go b/controller/handler/badge_test.go
index f97500ff..fb1b2172 100644
--- a/controller/handler/badge_test.go
+++ b/controller/handler/badge_test.go
@@ -7,10 +7,10 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/watchdog"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/watchdog"
)
func TestUptimeBadge(t *testing.T) {
diff --git a/controller/handler/chart.go b/controller/handler/chart.go
index b7bb59d0..80090619 100644
--- a/controller/handler/chart.go
+++ b/controller/handler/chart.go
@@ -7,8 +7,8 @@ import (
"sort"
"time"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/storage/store/common"
"github.com/gorilla/mux"
"github.com/wcharczuk/go-chart/v2"
"github.com/wcharczuk/go-chart/v2/drawing"
diff --git a/controller/handler/chart_test.go b/controller/handler/chart_test.go
index ff4f0e9b..be9cfbea 100644
--- a/controller/handler/chart_test.go
+++ b/controller/handler/chart_test.go
@@ -6,10 +6,10 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/watchdog"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/watchdog"
)
func TestResponseTimeChart(t *testing.T) {
diff --git a/controller/handler/handler.go b/controller/handler/handler.go
index 628578e0..0a396913 100644
--- a/controller/handler/handler.go
+++ b/controller/handler/handler.go
@@ -3,9 +3,9 @@ package handler
import (
"net/http"
- "github.com/TwinProduction/gatus/v3/config/ui"
- "github.com/TwinProduction/gatus/v3/security"
- "github.com/TwinProduction/health"
+ "github.com/TwiN/gatus/v3/config/ui"
+ "github.com/TwiN/gatus/v3/security"
+ "github.com/TwiN/health"
"github.com/gorilla/mux"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
diff --git a/controller/handler/service_status.go b/controller/handler/service_status.go
index c8ba2d92..5457706b 100644
--- a/controller/handler/service_status.go
+++ b/controller/handler/service_status.go
@@ -10,10 +10,10 @@ import (
"strings"
"time"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
- "github.com/TwinProduction/gocache"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gocache"
"github.com/gorilla/mux"
)
diff --git a/controller/handler/service_status_test.go b/controller/handler/service_status_test.go
index c30d8a37..1cb1ca43 100644
--- a/controller/handler/service_status_test.go
+++ b/controller/handler/service_status_test.go
@@ -6,10 +6,10 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/watchdog"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/watchdog"
)
var (
diff --git a/controller/handler/spa.go b/controller/handler/spa.go
index 2b49d41f..653e6028 100644
--- a/controller/handler/spa.go
+++ b/controller/handler/spa.go
@@ -5,7 +5,7 @@ import (
"log"
"net/http"
- "github.com/TwinProduction/gatus/v3/config/ui"
+ "github.com/TwiN/gatus/v3/config/ui"
)
func SinglePageApplication(staticFolder string, ui *ui.Config) http.HandlerFunc {
diff --git a/controller/handler/spa_test.go b/controller/handler/spa_test.go
index 5b5a4e97..32df8251 100644
--- a/controller/handler/spa_test.go
+++ b/controller/handler/spa_test.go
@@ -6,10 +6,10 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/watchdog"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/watchdog"
)
func TestSinglePageApplication(t *testing.T) {
diff --git a/controller/handler/util.go b/controller/handler/util.go
index 37732cf3..e8935480 100644
--- a/controller/handler/util.go
+++ b/controller/handler/util.go
@@ -4,7 +4,7 @@ import (
"net/http"
"strconv"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common"
)
const (
diff --git a/core/condition.go b/core/condition.go
index 28515c63..3d975de2 100644
--- a/core/condition.go
+++ b/core/condition.go
@@ -6,8 +6,8 @@ import (
"strings"
"time"
- "github.com/TwinProduction/gatus/v3/jsonpath"
- "github.com/TwinProduction/gatus/v3/pattern"
+ "github.com/TwiN/gatus/v3/jsonpath"
+ "github.com/TwiN/gatus/v3/pattern"
)
const (
diff --git a/core/dns_test.go b/core/dns_test.go
index 149ee31a..9b26a812 100644
--- a/core/dns_test.go
+++ b/core/dns_test.go
@@ -3,7 +3,7 @@ package core
import (
"testing"
- "github.com/TwinProduction/gatus/v3/pattern"
+ "github.com/TwiN/gatus/v3/pattern"
)
func TestIntegrationQuery(t *testing.T) {
diff --git a/core/service.go b/core/service.go
index a95a9f36..e34ebbd2 100644
--- a/core/service.go
+++ b/core/service.go
@@ -12,10 +12,10 @@ import (
"strings"
"time"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/client"
- "github.com/TwinProduction/gatus/v3/core/ui"
- "github.com/TwinProduction/gatus/v3/util"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/client"
+ "github.com/TwiN/gatus/v3/core/ui"
+ "github.com/TwiN/gatus/v3/util"
)
const (
diff --git a/core/service_test.go b/core/service_test.go
index c6586d47..6c38d31f 100644
--- a/core/service_test.go
+++ b/core/service_test.go
@@ -6,8 +6,8 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/client"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/client"
)
func TestService_IsEnabled(t *testing.T) {
diff --git a/docs/pagerduty-integration-guide.md b/docs/pagerduty-integration-guide.md
index b6689ba3..ef96abd7 100644
--- a/docs/pagerduty-integration-guide.md
+++ b/docs/pagerduty-integration-guide.md
@@ -13,7 +13,7 @@
# Support
-If you need help with this integration, please create an issue at https://github.com/TwinProduction/gatus/issues
+If you need help with this integration, please create an issue at https://github.com/TwiN/gatus/issues
# Integration Walkthrough
@@ -26,7 +26,7 @@ If you need help with this integration, please create an issue at https://github
3. Enter an **Integration Name** in the format `gatus-service-name` (e.g. `Gatus-Shopping-Cart`) and select **Gatus** from the Integration Type menu.
4. Click the **Add Integration** button to save your new integration. You will be redirected to the Integrations tab for your service.
5. An **Integration Key** will be generated on this screen. Keep this key saved in a safe place, as it will be used when you configure the integration with **Gatus** in the next section.
-
+
## In Gatus
diff --git a/go.mod b/go.mod
index 436c4f21..fa960f7d 100644
--- a/go.mod
+++ b/go.mod
@@ -1,10 +1,10 @@
-module github.com/TwinProduction/gatus/v3
+module github.com/TwiN/gatus/v3
go 1.17
require (
- github.com/TwinProduction/gocache v1.2.3
- github.com/TwinProduction/health v1.0.0
+ github.com/TwiN/gocache v1.2.4
+ github.com/TwiN/health v1.0.1
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/go-ping/ping v0.0.0-20210911151512-381826476871
diff --git a/go.sum b/go.sum
index e79c54ce..a8a7742f 100644
--- a/go.sum
+++ b/go.sum
@@ -33,10 +33,10 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/TwinProduction/gocache v1.2.3 h1:4wFNih4CemUX+A99Gk/EsaU0SXSNZV42Ve77v7/7ToY=
-github.com/TwinProduction/gocache v1.2.3/go.mod h1:Yj2daITit8TTBgiOpc26XCDSbg9xcFskUilHj9u3Mh8=
-github.com/TwinProduction/health v1.0.0 h1:TVyYTAORQQZ8LaptX8jCHZRCGCAO6e+oJx19BUIzQYY=
-github.com/TwinProduction/health v1.0.0/go.mod h1:ys4mYKUeEfYrWmkm60xLtPjTuLIEDQNBZaTZvenLG1c=
+github.com/TwiN/gocache v1.2.4 h1:AfJ1YRcxtQ/zZEN61URDwk/dwFG7LSRenU5qIm9dQzo=
+github.com/TwiN/gocache v1.2.4/go.mod h1:BjabsQQy6z5uHDorHa4LJVPEzFeitLIDbCtdv3gc1gA=
+github.com/TwiN/health v1.0.1 h1:Q8lE6mTMPG4A5nHXq5Xa+NY4Y8LkQdRBWh1ReUkuc6Y=
+github.com/TwiN/health v1.0.1/go.mod h1:Bt+lEvSi6C/9NWb7OoGmUmgtS4dfPeMM9EINnURv5dE=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
diff --git a/main.go b/main.go
index 61049fa3..c6e9c74a 100644
--- a/main.go
+++ b/main.go
@@ -7,10 +7,10 @@ import (
"syscall"
"time"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/controller"
- "github.com/TwinProduction/gatus/v3/storage"
- "github.com/TwinProduction/gatus/v3/watchdog"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/controller"
+ "github.com/TwiN/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/watchdog"
)
func main() {
diff --git a/metric/metric.go b/metric/metric.go
index 6d3d8669..6138b98c 100644
--- a/metric/metric.go
+++ b/metric/metric.go
@@ -5,7 +5,7 @@ import (
"strconv"
"sync"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/core"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
diff --git a/storage/storage.go b/storage/storage.go
index 1d4bb120..d4bda379 100644
--- a/storage/storage.go
+++ b/storage/storage.go
@@ -5,9 +5,9 @@ import (
"log"
"time"
- "github.com/TwinProduction/gatus/v3/storage/store"
- "github.com/TwinProduction/gatus/v3/storage/store/memory"
- "github.com/TwinProduction/gatus/v3/storage/store/sql"
+ "github.com/TwiN/gatus/v3/storage/store"
+ "github.com/TwiN/gatus/v3/storage/store/memory"
+ "github.com/TwiN/gatus/v3/storage/store/sql"
)
var (
diff --git a/storage/storage_test.go b/storage/storage_test.go
index 5744bfcb..504b6af9 100644
--- a/storage/storage_test.go
+++ b/storage/storage_test.go
@@ -4,7 +4,7 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/storage/store/sql"
+ "github.com/TwiN/gatus/v3/storage/store/sql"
)
func TestGet(t *testing.T) {
diff --git a/storage/store/memory/memory.go b/storage/store/memory/memory.go
index a1fde5de..474a5222 100644
--- a/storage/store/memory/memory.go
+++ b/storage/store/memory/memory.go
@@ -6,11 +6,11 @@ import (
"sync"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
- "github.com/TwinProduction/gatus/v3/util"
- "github.com/TwinProduction/gocache"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/util"
+ "github.com/TwiN/gocache"
)
func init() {
diff --git a/storage/store/memory/memory_test.go b/storage/store/memory/memory_test.go
index 92119aaf..9baefbb6 100644
--- a/storage/store/memory/memory_test.go
+++ b/storage/store/memory/memory_test.go
@@ -4,8 +4,8 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
)
var (
diff --git a/storage/store/memory/uptime.go b/storage/store/memory/uptime.go
index 4ea46404..e040f1df 100644
--- a/storage/store/memory/uptime.go
+++ b/storage/store/memory/uptime.go
@@ -3,7 +3,7 @@ package memory
import (
"time"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/core"
)
const (
diff --git a/storage/store/memory/uptime_bench_test.go b/storage/store/memory/uptime_bench_test.go
index 0c0ad53c..0e5157dd 100644
--- a/storage/store/memory/uptime_bench_test.go
+++ b/storage/store/memory/uptime_bench_test.go
@@ -4,7 +4,7 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/core"
)
func BenchmarkProcessUptimeAfterResult(b *testing.B) {
diff --git a/storage/store/memory/uptime_test.go b/storage/store/memory/uptime_test.go
index d67ab40b..c011af03 100644
--- a/storage/store/memory/uptime_test.go
+++ b/storage/store/memory/uptime_test.go
@@ -4,7 +4,7 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/core"
)
func TestProcessUptimeAfterResult(t *testing.T) {
diff --git a/storage/store/memory/util.go b/storage/store/memory/util.go
index 6c977cd1..c6aa9482 100644
--- a/storage/store/memory/util.go
+++ b/storage/store/memory/util.go
@@ -1,9 +1,9 @@
package memory
import (
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
)
// ShallowCopyServiceStatus returns a shallow copy of a ServiceStatus with only the results
diff --git a/storage/store/memory/util_bench_test.go b/storage/store/memory/util_bench_test.go
index e5a066be..81438c20 100644
--- a/storage/store/memory/util_bench_test.go
+++ b/storage/store/memory/util_bench_test.go
@@ -3,9 +3,9 @@ package memory
import (
"testing"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
)
func BenchmarkShallowCopyServiceStatus(b *testing.B) {
diff --git a/storage/store/memory/util_test.go b/storage/store/memory/util_test.go
index 2a9eee6e..7e9bf8a5 100644
--- a/storage/store/memory/util_test.go
+++ b/storage/store/memory/util_test.go
@@ -4,9 +4,9 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
)
func TestAddResult(t *testing.T) {
diff --git a/storage/store/sql/sql.go b/storage/store/sql/sql.go
index faec92a9..872b1cc2 100644
--- a/storage/store/sql/sql.go
+++ b/storage/store/sql/sql.go
@@ -8,10 +8,10 @@ import (
"strings"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
- "github.com/TwinProduction/gatus/v3/util"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/util"
_ "github.com/lib/pq"
_ "modernc.org/sqlite"
)
diff --git a/storage/store/sql/sql_test.go b/storage/store/sql/sql_test.go
index 7bd98e0b..8af7a12b 100644
--- a/storage/store/sql/sql_test.go
+++ b/storage/store/sql/sql_test.go
@@ -4,9 +4,9 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
)
var (
diff --git a/storage/store/store.go b/storage/store/store.go
index 2641ad56..8ce34e50 100644
--- a/storage/store/store.go
+++ b/storage/store/store.go
@@ -3,10 +3,10 @@ package store
import (
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
- "github.com/TwinProduction/gatus/v3/storage/store/memory"
- "github.com/TwinProduction/gatus/v3/storage/store/sql"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/storage/store/memory"
+ "github.com/TwiN/gatus/v3/storage/store/sql"
)
// Store is the interface that each stores should implement
diff --git a/storage/store/store_bench_test.go b/storage/store/store_bench_test.go
index a2cb1717..afd9eacf 100644
--- a/storage/store/store_bench_test.go
+++ b/storage/store/store_bench_test.go
@@ -4,10 +4,10 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
- "github.com/TwinProduction/gatus/v3/storage/store/memory"
- "github.com/TwinProduction/gatus/v3/storage/store/sql"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/storage/store/memory"
+ "github.com/TwiN/gatus/v3/storage/store/sql"
)
func BenchmarkStore_GetAllServiceStatuses(b *testing.B) {
diff --git a/storage/store/store_test.go b/storage/store/store_test.go
index 9b733e06..936bacf2 100644
--- a/storage/store/store_test.go
+++ b/storage/store/store_test.go
@@ -4,11 +4,11 @@ import (
"testing"
"time"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/storage/store/common"
- "github.com/TwinProduction/gatus/v3/storage/store/common/paging"
- "github.com/TwinProduction/gatus/v3/storage/store/memory"
- "github.com/TwinProduction/gatus/v3/storage/store/sql"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/storage/store/common"
+ "github.com/TwiN/gatus/v3/storage/store/common/paging"
+ "github.com/TwiN/gatus/v3/storage/store/memory"
+ "github.com/TwiN/gatus/v3/storage/store/sql"
)
var (
diff --git a/vendor/github.com/TwinProduction/gocache/.gitattributes b/vendor/github.com/TwiN/gocache/.gitattributes
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/.gitattributes
rename to vendor/github.com/TwiN/gocache/.gitattributes
diff --git a/vendor/github.com/TwinProduction/gocache/.gitignore b/vendor/github.com/TwiN/gocache/.gitignore
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/.gitignore
rename to vendor/github.com/TwiN/gocache/.gitignore
diff --git a/vendor/github.com/TwinProduction/gocache/Dockerfile b/vendor/github.com/TwiN/gocache/Dockerfile
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/Dockerfile
rename to vendor/github.com/TwiN/gocache/Dockerfile
diff --git a/vendor/github.com/TwinProduction/gocache/LICENSE.md b/vendor/github.com/TwiN/gocache/LICENSE.md
similarity index 96%
rename from vendor/github.com/TwinProduction/gocache/LICENSE.md
rename to vendor/github.com/TwiN/gocache/LICENSE.md
index c608627d..ca64af38 100644
--- a/vendor/github.com/TwinProduction/gocache/LICENSE.md
+++ b/vendor/github.com/TwiN/gocache/LICENSE.md
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2021 TwinProduction
+Copyright (c) 2021 TwiN
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/vendor/github.com/TwinProduction/gocache/Makefile b/vendor/github.com/TwiN/gocache/Makefile
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/Makefile
rename to vendor/github.com/TwiN/gocache/Makefile
diff --git a/vendor/github.com/TwinProduction/gocache/README.md b/vendor/github.com/TwiN/gocache/README.md
similarity index 96%
rename from vendor/github.com/TwinProduction/gocache/README.md
rename to vendor/github.com/TwiN/gocache/README.md
index 4bfcf408..9c40a563 100644
--- a/vendor/github.com/TwinProduction/gocache/README.md
+++ b/vendor/github.com/TwiN/gocache/README.md
@@ -1,11 +1,11 @@
# gocache
-
-[](https://goreportcard.com/report/github.com/TwinProduction/gocache)
-[](https://codecov.io/gh/TwinProduction/gocache)
-[](https://github.com/TwinProduction/gocache)
-[](https://pkg.go.dev/github.com/TwinProduction/gocache)
-[](https://github.com/TwinProduction)
+
+[](https://goreportcard.com/report/github.com/TwiN/gocache)
+[](https://codecov.io/gh/TwiN/gocache)
+[](https://github.com/TwiN/gocache)
+[](https://pkg.go.dev/github.com/TwiN/gocache)
+[](https://github.com/TwiN)
gocache is an easy-to-use, high-performance, lightweight and thread-safe (goroutine-safe) in-memory key-value cache
with support for LRU and FIFO eviction policies as well as expiration, bulk operations and even persistence to file.
@@ -58,7 +58,7 @@ It may also serve as a good reference to use in order to implement gocache in yo
## Usage
```
-go get -u github.com/TwinProduction/gocache
+go get -u github.com/TwiN/gocache
```
If you're interested in using gocache as a server rather than an embedded library, see [Server](#server)
@@ -101,7 +101,7 @@ cache.StartJanitor()
| SaveToFile | Stores the content of the cache to a file so that it can be read using `ReadFromFile`. See [persistence](#persistence).
| ReadFromFile | Populates the cache using a file created using `SaveToFile`. See [persistence](#persistence).
-For further documentation, please refer to [Go Reference](https://pkg.go.dev/github.com/TwinProduction/gocache)
+For further documentation, please refer to [Go Reference](https://pkg.go.dev/github.com/TwiN/gocache)
### Examples
@@ -134,7 +134,7 @@ import (
"fmt"
"time"
- "github.com/TwinProduction/gocache"
+ "github.com/TwiN/gocache"
)
func main() {
@@ -323,8 +323,8 @@ For the sake of convenience, a ready-to-go cache server is available through the
package main
import (
- "github.com/TwinProduction/gocache"
- gocacheserver "github.com/TwinProduction/gocache/server"
+ "github.com/TwiN/gocache"
+ gocacheserver "github.com/TwiN/gocache/server"
)
func main() {
@@ -490,7 +490,7 @@ import (
"os/signal"
"syscall"
- "github.com/TwinProduction/gocache"
+ "github.com/TwiN/gocache"
)
const CacheFile = "gocache.data"
diff --git a/vendor/github.com/TwinProduction/gocache/entry.go b/vendor/github.com/TwiN/gocache/entry.go
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/entry.go
rename to vendor/github.com/TwiN/gocache/entry.go
diff --git a/vendor/github.com/TwinProduction/gocache/gocache.go b/vendor/github.com/TwiN/gocache/gocache.go
similarity index 98%
rename from vendor/github.com/TwinProduction/gocache/gocache.go
rename to vendor/github.com/TwiN/gocache/gocache.go
index 9b056b74..f33b3cb7 100644
--- a/vendor/github.com/TwinProduction/gocache/gocache.go
+++ b/vendor/github.com/TwiN/gocache/gocache.go
@@ -31,9 +31,9 @@ const (
)
var (
- ErrKeyDoesNotExist = errors.New("key does not exist")
- ErrKeyHasNoExpiration = errors.New("key has no expiration")
- ErrJanitorAlreadyRunning = errors.New("janitor is already running")
+ ErrKeyDoesNotExist = errors.New("key does not exist") // Returned when a cache key does not exist
+ ErrKeyHasNoExpiration = errors.New("key has no expiration") // Returned when a cache key has no expiration
+ ErrJanitorAlreadyRunning = errors.New("janitor is already running") // Returned when the janitor has already been started
)
// Cache is the core struct of gocache which contains the data as well as all relevant configuration fields
diff --git a/vendor/github.com/TwinProduction/gocache/janitor.go b/vendor/github.com/TwiN/gocache/janitor.go
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/janitor.go
rename to vendor/github.com/TwiN/gocache/janitor.go
diff --git a/vendor/github.com/TwinProduction/gocache/pattern.go b/vendor/github.com/TwiN/gocache/pattern.go
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/pattern.go
rename to vendor/github.com/TwiN/gocache/pattern.go
diff --git a/vendor/github.com/TwinProduction/gocache/persistence.go b/vendor/github.com/TwiN/gocache/persistence.go
similarity index 96%
rename from vendor/github.com/TwinProduction/gocache/persistence.go
rename to vendor/github.com/TwiN/gocache/persistence.go
index 32fdb9fd..c3d55c97 100644
--- a/vendor/github.com/TwinProduction/gocache/persistence.go
+++ b/vendor/github.com/TwiN/gocache/persistence.go
@@ -42,7 +42,7 @@ func (cache *Cache) SaveToFile(path string) error {
if err != nil {
// Failed to encode the value, so we'll skip it.
// This is likely due to the fact that the custom struct wasn't registered using gob.Register(...)
- // See [Persistence - Limitations](https://github.com/TwinProduction/gocache#limitations)
+ // See [Persistence - Limitations](https://github.com/TwiN/gocache#limitations)
continue
}
bucket.Put([]byte(bulkEntry.Key), buffer.Bytes())
@@ -91,7 +91,7 @@ func (cache *Cache) ReadFromFile(path string) (int, error) {
// decoding the struct would fail. This can be avoided by using a different variable name every
// time you must change the type of a variable within a struct.
//
- // See [Persistence - Limitations](https://github.com/TwinProduction/gocache#limitations)
+ // See [Persistence - Limitations](https://github.com/TwiN/gocache#limitations)
return err
}
cache.entries[string(k)] = &entry
diff --git a/vendor/github.com/TwinProduction/gocache/policy.go b/vendor/github.com/TwiN/gocache/policy.go
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/policy.go
rename to vendor/github.com/TwiN/gocache/policy.go
diff --git a/vendor/github.com/TwinProduction/gocache/statistics.go b/vendor/github.com/TwiN/gocache/statistics.go
similarity index 100%
rename from vendor/github.com/TwinProduction/gocache/statistics.go
rename to vendor/github.com/TwiN/gocache/statistics.go
diff --git a/vendor/github.com/TwiN/health/.gitattributes b/vendor/github.com/TwiN/health/.gitattributes
new file mode 100644
index 00000000..94f480de
--- /dev/null
+++ b/vendor/github.com/TwiN/health/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
\ No newline at end of file
diff --git a/vendor/github.com/TwinProduction/health/.gitignore b/vendor/github.com/TwiN/health/.gitignore
similarity index 100%
rename from vendor/github.com/TwinProduction/health/.gitignore
rename to vendor/github.com/TwiN/health/.gitignore
diff --git a/vendor/github.com/TwiN/health/LICENSE.md b/vendor/github.com/TwiN/health/LICENSE.md
new file mode 100644
index 00000000..ca64af38
--- /dev/null
+++ b/vendor/github.com/TwiN/health/LICENSE.md
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) 2021 TwiN
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/vendor/github.com/TwinProduction/health/README.md b/vendor/github.com/TwiN/health/README.md
similarity index 56%
rename from vendor/github.com/TwinProduction/health/README.md
rename to vendor/github.com/TwiN/health/README.md
index aac0aadd..9cd6f659 100644
--- a/vendor/github.com/TwinProduction/health/README.md
+++ b/vendor/github.com/TwiN/health/README.md
@@ -1,32 +1,30 @@
# health
-
-
-[](https://goreportcard.com/report/github.com/TwinProduction/health)
-[](https://codecov.io/gh/TwinProduction/health)
-[](https://github.com/TwinProduction/health)
-[](https://pkg.go.dev/github.com/TwinProduction/health)
+
+[](https://goreportcard.com/report/github.com/TwiN/health)
+[](https://codecov.io/gh/TwiN/health)
+[](https://github.com/TwiN/health)
+[](https://pkg.go.dev/github.com/TwiN/health)
Health is a library used for creating a very simple health endpoint.
While implementing a health endpoint is very simple, I've grown tired of implementing
it over and over again.
-## Installation
+## Installation
```
-go get -u github.com/TwinProduction/health
+go get -u github.com/TwiN/health
```
## Usage
-
To retrieve the handler, you must use `health.Handler()` and are expected to pass it to the router like so:
```go
router := http.NewServeMux()
router.Handle("/health", health.Handler())
server := &http.Server{
- Addr: ":8080",
- Handler: router,
+ Addr: ":8080",
+ Handler: router,
}
```
@@ -45,28 +43,28 @@ health.SetStatus(health.Up)
health.SetStatus(health.Down)
```
-### Complete example
+### Complete example
```go
package main
import (
- "net/http"
- "time"
+ "net/http"
+ "time"
- "github.com/TwinProduction/health"
+ "github.com/TwiN/health"
)
func main() {
- router := http.NewServeMux()
- router.Handle("/health", health.Handler())
- server := &http.Server{
- Addr: "0.0.0.0:8080",
- Handler: router,
- ReadTimeout: 15 * time.Second,
- WriteTimeout: 15 * time.Second,
- IdleTimeout: 15 * time.Second,
- }
- server.ListenAndServe()
+ router := http.NewServeMux()
+ router.Handle("/health", health.Handler())
+ server := &http.Server{
+ Addr: "0.0.0.0:8080",
+ Handler: router,
+ ReadTimeout: 15 * time.Second,
+ WriteTimeout: 15 * time.Second,
+ IdleTimeout: 15 * time.Second,
+ }
+ server.ListenAndServe()
}
```
diff --git a/vendor/github.com/TwinProduction/health/health.go b/vendor/github.com/TwiN/health/health.go
similarity index 81%
rename from vendor/github.com/TwinProduction/health/health.go
rename to vendor/github.com/TwiN/health/health.go
index fdd88d29..8fcba4b8 100644
--- a/vendor/github.com/TwinProduction/health/health.go
+++ b/vendor/github.com/TwiN/health/health.go
@@ -9,6 +9,7 @@ var (
}
)
+// healthHandler is the HTTP handler for serving the health endpoint
type healthHandler struct {
useJSON bool
status Status
@@ -22,7 +23,8 @@ func (h *healthHandler) WithJSON(v bool) *healthHandler {
return h
}
-func (h healthHandler) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
+// ServeHTTP serves the HTTP request for the health handler
+func (h healthHandler) ServeHTTP(writer http.ResponseWriter, _ *http.Request) {
var status int
var body []byte
if h.status == Up {
diff --git a/vendor/github.com/TwiN/health/status.go b/vendor/github.com/TwiN/health/status.go
new file mode 100644
index 00000000..1f2fb7cb
--- /dev/null
+++ b/vendor/github.com/TwiN/health/status.go
@@ -0,0 +1,8 @@
+package health
+
+type Status string
+
+var (
+ Down Status = "DOWN" // For when the application is unhealthy
+ Up Status = "UP" // For when the application is healthy
+)
diff --git a/vendor/github.com/TwinProduction/health/.gitattributes b/vendor/github.com/TwinProduction/health/.gitattributes
deleted file mode 100644
index fbd75d33..00000000
--- a/vendor/github.com/TwinProduction/health/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=lf
\ No newline at end of file
diff --git a/vendor/github.com/TwinProduction/health/status.go b/vendor/github.com/TwinProduction/health/status.go
deleted file mode 100644
index 3e2cbd9f..00000000
--- a/vendor/github.com/TwinProduction/health/status.go
+++ /dev/null
@@ -1,8 +0,0 @@
-package health
-
-type Status string
-
-var (
- Down Status = "DOWN"
- Up Status = "UP"
-)
diff --git a/vendor/modules.txt b/vendor/modules.txt
index e5915fd3..3602c41d 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,9 +1,9 @@
-# github.com/TwinProduction/gocache v1.2.3
+# github.com/TwiN/gocache v1.2.4
## explicit; go 1.16
-github.com/TwinProduction/gocache
-# github.com/TwinProduction/health v1.0.0
-## explicit; go 1.15
-github.com/TwinProduction/health
+github.com/TwiN/gocache
+# github.com/TwiN/health v1.0.1
+## explicit; go 1.17
+github.com/TwiN/health
# github.com/beorn7/perks v1.0.1
## explicit; go 1.11
github.com/beorn7/perks/quantile
diff --git a/watchdog/alerting.go b/watchdog/alerting.go
index 6eff9ee1..7a507f37 100644
--- a/watchdog/alerting.go
+++ b/watchdog/alerting.go
@@ -4,9 +4,9 @@ import (
"encoding/json"
"log"
- "github.com/TwinProduction/gatus/v3/alerting"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/core"
)
// HandleAlerting takes care of alerts to resolve and alerts to trigger based on result success or failure
diff --git a/watchdog/alerting_test.go b/watchdog/alerting_test.go
index dbcf7e49..5bbd95ad 100644
--- a/watchdog/alerting_test.go
+++ b/watchdog/alerting_test.go
@@ -4,12 +4,12 @@ import (
"os"
"testing"
- "github.com/TwinProduction/gatus/v3/alerting"
- "github.com/TwinProduction/gatus/v3/alerting/alert"
- "github.com/TwinProduction/gatus/v3/alerting/provider/custom"
- "github.com/TwinProduction/gatus/v3/alerting/provider/pagerduty"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/alerting"
+ "github.com/TwiN/gatus/v3/alerting/alert"
+ "github.com/TwiN/gatus/v3/alerting/provider/custom"
+ "github.com/TwiN/gatus/v3/alerting/provider/pagerduty"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/core"
)
func TestHandleAlerting(t *testing.T) {
diff --git a/watchdog/watchdog.go b/watchdog/watchdog.go
index faf28a82..4a74bc7e 100644
--- a/watchdog/watchdog.go
+++ b/watchdog/watchdog.go
@@ -6,12 +6,12 @@ import (
"sync"
"time"
- "github.com/TwinProduction/gatus/v3/alerting"
- "github.com/TwinProduction/gatus/v3/config"
- "github.com/TwinProduction/gatus/v3/config/maintenance"
- "github.com/TwinProduction/gatus/v3/core"
- "github.com/TwinProduction/gatus/v3/metric"
- "github.com/TwinProduction/gatus/v3/storage"
+ "github.com/TwiN/gatus/v3/alerting"
+ "github.com/TwiN/gatus/v3/config"
+ "github.com/TwiN/gatus/v3/config/maintenance"
+ "github.com/TwiN/gatus/v3/core"
+ "github.com/TwiN/gatus/v3/metric"
+ "github.com/TwiN/gatus/v3/storage"
)
var (
diff --git a/web/app/src/components/Social.vue b/web/app/src/components/Social.vue
index 2bc85436..e1fc9d9b 100644
--- a/web/app/src/components/Social.vue
+++ b/web/app/src/components/Social.vue
@@ -1,6 +1,6 @@
diff --git a/web/static/css/app.css b/web/static/css/app.css
index f7fbd6e6..da7f7085 100644
--- a/web/static/css/app.css
+++ b/web/static/css/app.css
@@ -1,4 +1,4 @@
-#social[data-v-1cbbc992]{position:fixed;right:5px;bottom:5px;padding:5px;margin:0;z-index:100}#social img[data-v-1cbbc992]{opacity:.3}#social img[data-v-1cbbc992]:hover{opacity:1}#tooltip{position:fixed;background-color:#fff;border:1px solid #d3d3d3;border-radius:4px;padding:6px;font-size:13px}#tooltip code{color:#212529;line-height:1}#tooltip .tooltip-title{font-weight:700;margin-bottom:0;display:block;margin-top:8px}#tooltip>.tooltip-title:first-child{margin-top:0}
+#social[data-v-a88161aa]{position:fixed;right:5px;bottom:5px;padding:5px;margin:0;z-index:100}#social img[data-v-a88161aa]{opacity:.3}#social img[data-v-a88161aa]:hover{opacity:1}#tooltip{position:fixed;background-color:#fff;border:1px solid #d3d3d3;border-radius:4px;padding:6px;font-size:13px}#tooltip code{color:#212529;line-height:1}#tooltip .tooltip-title{font-weight:700;margin-bottom:0;display:block;margin-top:8px}#tooltip>.tooltip-title:first-child{margin-top:0}
/*! tailwindcss v2.2.15 | MIT License | https://tailwindcss.com */
diff --git a/web/static/js/app-legacy.js b/web/static/js/app-legacy.js
index 4d77c406..c7e48eeb 100644
--- a/web/static/js/app-legacy.js
+++ b/web/static/js/app-legacy.js
@@ -1 +1 @@
-(function(){"use strict";var e={8584:function(e,t,s){s.d(t,{L:function(){return Ft}});s(6992),s(8674),s(9601),s(7727);var n=s(9963),r=s(6252),o=s.p+"img/logo.png",a={class:"container container-xs relative mx-auto xl:rounded xl:border xl:shadow-xl xl:my-5 p-5 pb-12 xl:pb-5 text-left dark:bg-gray-800 dark:text-gray-200 dark:border-gray-500",id:"global"},i={class:"mb-2"},l={class:"flex flex-wrap"},u=(0,r._)("div",{class:"w-3/4 text-left my-auto"},[(0,r._)("div",{class:"text-3xl xl:text-5xl lg:text-4xl font-light"},"Health Status")],-1),c={class:"w-1/4 flex justify-end"},g=["src"],h={key:1,src:o,alt:"Gatus",class:"object-scale-down",style:{"max-width":"100px","min-width":"50px","min-height":"50px"}};function d(e,t,s,n,o,d){var f=(0,r.up)("router-view"),m=(0,r.up)("Tooltip"),v=(0,r.up)("Social");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r._)("div",a,[(0,r._)("div",i,[(0,r._)("div",l,[u,(0,r._)("div",c,[d.getLogo?((0,r.wg)(),(0,r.iD)("img",{key:0,src:d.getLogo,alt:"Gatus",class:"object-scale-down",style:{"max-width":"100px","min-width":"50px","min-height":"50px"}},null,8,g)):(0,r.kq)("",!0),d.getLogo?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("img",h))])])]),(0,r.Wm)(f,{onShowTooltip:d.showTooltip},null,8,["onShowTooltip"])]),(0,r.Wm)(m,{result:o.tooltip.result,event:o.tooltip.event},null,8,["result","event"]),(0,r.Wm)(v)],64)}var f=s.p+"img/github.png",m=function(e){return(0,r.dD)("data-v-1cbbc992"),e=e(),(0,r.Cn)(),e},v={id:"social"},p=m((function(){return(0,r._)("a",{href:"https://github.com/TwinProduction/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,r._)("img",{src:f,alt:"GitHub",width:"32",height:"auto"})],-1)})),A=[p];function w(e,t,s,n,o,a){return(0,r.wg)(),(0,r.iD)("div",v,A)}var y={name:"Social"},x=s(3744);const T=(0,x.Z)(y,[["render",w],["__scopeId","data-v-1cbbc992"]]);var k=T,b=(s(6977),s(3577)),I=(0,r._)("div",{class:"tooltip-title"},"Timestamp:",-1),R={id:"tooltip-timestamp"},S=(0,r._)("div",{class:"tooltip-title"},"Response time:",-1),D={id:"tooltip-response-time"},C=(0,r._)("div",{class:"tooltip-title"},"Conditions:",-1),B={id:"tooltip-conditions"},P=(0,r._)("br",null,null,-1),E={key:0,id:"tooltip-errors-container"},H=(0,r._)("div",{class:"tooltip-title"},"Errors:",-1),O={id:"tooltip-errors"},U=(0,r._)("br",null,null,-1);function z(e,t,s,n,o,a){return(0,r.wg)(),(0,r.iD)("div",{id:"tooltip",ref:"tooltip",class:(0,b.C_)(o.hidden?"invisible":""),style:(0,b.j5)("top:"+o.top+"px; left:"+o.left+"px")},[s.result?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[I,(0,r._)("code",R,(0,b.zw)(a.prettifyTimestamp(s.result.timestamp)),1),S,(0,r._)("code",D,(0,b.zw)((s.result.duration/1e6).toFixed(0))+"ms",1),C,(0,r._)("code",B,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(s.result.conditionResults,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r.Uk)((0,b.zw)(t.success?"✓":"X")+" ~ "+(0,b.zw)(t.condition),1),P]}))})),128))]),s.result.errors&&s.result.errors.length?((0,r.wg)(),(0,r.iD)("div",E,[H,(0,r._)("code",O,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(s.result.errors,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r.Uk)(" - "+(0,b.zw)(t),1),U]}))})),128))])])):(0,r.kq)("",!0)]})):(0,r.kq)("",!0)],6)}s(4916),s(5306);var M={name:"Services",props:{event:Event,result:Object},methods:{prettifyTimestamp:function(e){var t=new Date(e),s=t.getFullYear(),n=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),r=(t.getDate()<10?"0":"")+t.getDate(),o=(t.getHours()<10?"0":"")+t.getHours(),a=(t.getMinutes()<10?"0":"")+t.getMinutes(),i=(t.getSeconds()<10?"0":"")+t.getSeconds();return s+"-"+n+"-"+r+" "+o+":"+a+":"+i},htmlEntities:function(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},reposition:function(){if(this.event&&this.event.type)if("mouseenter"===this.event.type){var e=this.event.target.getBoundingClientRect().y+30,t=this.event.target.getBoundingClientRect().x,s=this.$refs.tooltip.getBoundingClientRect();t+window.scrollX+s.width+50>document.body.getBoundingClientRect().width&&(t=this.event.target.getBoundingClientRect().x-s.width+this.event.target.getBoundingClientRect().width,t<0&&(t+=-t)),e+window.scrollY+s.height+50>document.body.getBoundingClientRect().height&&e>=0&&(e=this.event.target.getBoundingClientRect().y-(s.height+10),e<0&&(e=this.event.target.getBoundingClientRect().y+30)),this.top=e,this.left=t}else"mouseleave"===this.event.type&&(this.hidden=!0)}},watch:{event:function(e){e&&e.type&&("mouseenter"===e.type?this.hidden=!1:"mouseleave"===e.type&&(this.hidden=!0))}},updated:function(){this.reposition()},created:function(){this.reposition()},data:function(){return{hidden:!0,top:0,left:0}}};const Q=(0,x.Z)(M,[["render",z]]);var W=Q,X={name:"App",components:{Social:k,Tooltip:W},methods:{showTooltip:function(e,t){this.tooltip={result:e,event:t}}},computed:{getLogo:function(){return window.config&&window.config.logo&&"{{ .Logo }}"!==window.config.logo?window.config.logo:""}},data:function(){return{tooltip:{}}}};const q=(0,x.Z)(X,[["render",d]]);var K=q,Y=s(2119);function F(e,t,s,n,o,a){var i=(0,r.up)("Services"),l=(0,r.up)("Pagination"),u=(0,r.up)("Settings");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.Wm)(i,{serviceStatuses:o.serviceStatuses,showStatusOnHover:!0,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["serviceStatuses","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,r.Wm)(l,{onPage:a.changePage},null,8,["onPage"]),(0,r.Wm)(u,{onRefreshData:a.fetchData},null,8,["onRefreshData"])],64)}s(1539),s(2222);var G={id:"settings",class:"flex bg-gray-200 border-gray-300 rounded border shadow dark:text-gray-200 dark:bg-gray-800 dark:border-gray-500"},Z=(0,r._)("div",{class:"text-xs text-gray-600 rounded-xl py-1 px-2 dark:text-gray-200"}," ↻ ",-1),j=["selected"],L=["selected"],N=["selected"],J=["selected"],V=["selected"],_=["selected"],$=(0,r.Uk)("☀"),ee=(0,r.Uk)("🌙");function te(e,t,s,n,o,a){return(0,r.wg)(),(0,r.iD)("div",G,[Z,(0,r._)("select",{class:"text-center text-gray-500 text-xs dark:text-gray-200 dark:bg-gray-800 border-r border-l border-gray-300 dark:border-gray-500",id:"refresh-rate",ref:"refreshInterval",onChange:t[0]||(t[0]=function(){return a.handleChangeRefreshInterval&&a.handleChangeRefreshInterval.apply(a,arguments)})},[(0,r._)("option",{value:"10",selected:10===o.refreshInterval},"10s",8,j),(0,r._)("option",{value:"30",selected:30===o.refreshInterval},"30s",8,L),(0,r._)("option",{value:"60",selected:60===o.refreshInterval},"1m",8,N),(0,r._)("option",{value:"120",selected:120===o.refreshInterval},"2m",8,J),(0,r._)("option",{value:"300",selected:300===o.refreshInterval},"5m",8,V),(0,r._)("option",{value:"600",selected:600===o.refreshInterval},"10m",8,_)],544),(0,r._)("button",{onClick:t[1]||(t[1]=function(){return a.toggleDarkMode&&a.toggleDarkMode.apply(a,arguments)}),class:"text-xs p-1"},[o.darkMode?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[$]})):(0,r.WI)(e.$slots,"default",{key:1},(function(){return[ee]}))])])}var se={name:"Settings",props:{},methods:{setRefreshInterval:function(e){sessionStorage.setItem("gatus:refresh-interval",e);var t=this;this.refreshIntervalHandler=setInterval((function(){t.refreshData()}),1e3*e)},refreshData:function(){this.$emit("refreshData")},handleChangeRefreshInterval:function(){this.refreshData(),clearInterval(this.refreshIntervalHandler),this.setRefreshInterval(this.$refs.refreshInterval.value)},toggleDarkMode:function(){"dark"===localStorage.theme?localStorage.theme="light":localStorage.theme="dark",this.applyTheme()},applyTheme:function(){"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?(this.darkMode=!0,document.documentElement.classList.add("dark")):(this.darkMode=!1,document.documentElement.classList.remove("dark"))}},created:function(){10!==this.refreshInterval&&30!==this.refreshInterval&&60!==this.refreshInterval&&120!==this.refreshInterval&&300!==this.refreshInterval&&600!==this.refreshInterval&&(this.refreshInterval=60),this.setRefreshInterval(this.refreshInterval),this.applyTheme()},unmounted:function(){clearInterval(this.refreshIntervalHandler)},data:function(){return{refreshInterval:sessionStorage.getItem("gatus:refresh-interval")<10?60:parseInt(sessionStorage.getItem("gatus:refresh-interval")),refreshIntervalHandler:0,darkMode:!1}}};const ne=(0,x.Z)(se,[["render",te]]);var re=ne,oe=(s(8309),{id:"results"});function ae(e,t,s,n,o,a){var i=(0,r.up)("ServiceGroup");return(0,r.wg)(),(0,r.iD)("div",oe,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(o.serviceGroups,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r.Wm)(i,{services:t.services,name:t.name,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["services","name","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])]}))})),128))])}var ie={class:"font-mono text-gray-400 text-xl font-medium pb-2 px-3 dark:text-gray-200 dark:hover:text-gray-500 dark:border-gray-500"},le={key:0,class:"text-green-600"},ue={key:1,class:"text-yellow-400"},ce={class:"float-right service-group-arrow"};function ge(e,t,s,n,o,a){var i=(0,r.up)("Service");return(0,r.wg)(),(0,r.iD)("div",{class:(0,b.C_)(0===s.services.length?"mt-3":"mt-4")},["undefined"!==s.name?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[(0,r._)("div",{class:"service-group pt-2 border dark:bg-gray-800 dark:border-gray-500",onClick:t[0]||(t[0]=function(){return a.toggleGroup&&a.toggleGroup.apply(a,arguments)})},[(0,r._)("h5",ie,[o.healthy?((0,r.wg)(),(0,r.iD)("span",le,"✓")):((0,r.wg)(),(0,r.iD)("span",ue,"~")),(0,r.Uk)(" "+(0,b.zw)(s.name)+" ",1),(0,r._)("span",ce,(0,b.zw)(o.collapsed?"▼":"▲"),1)])])]})):(0,r.kq)("",!0),o.collapsed?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("div",{key:1,class:(0,b.C_)("undefined"===s.name?"":"service-group-content")},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(s.services,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r.Wm)(i,{data:t,maximumNumberOfResults:20,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])]}))})),128))],2))],2)}var he={key:0,class:"service px-3 py-3 border-l border-r border-t rounded-none hover:bg-gray-100 dark:hover:bg-gray-700 dark:border-gray-500"},de={class:"flex flex-wrap mb-2"},fe={class:"w-3/4"},me={key:0,class:"text-gray-500 font-light"},ve={class:"w-1/4 text-right"},pe=["title"],Ae={class:"status-over-time flex flex-row"},we=["onMouseenter"],ye=["onMouseenter"],xe={class:"flex flex-wrap status-time-ago"},Te={class:"w-1/2"},ke={class:"w-1/2 text-right"},be=(0,r._)("div",{class:"w-1/2"}," ",-1);function Ie(e,t,s,n,o,a){var i=(0,r.up)("router-link");return s.data?((0,r.wg)(),(0,r.iD)("div",he,[(0,r._)("div",de,[(0,r._)("div",fe,[(0,r.Wm)(i,{to:a.generatePath(),class:"font-bold hover:text-blue-800 hover:underline dark:hover:text-blue-400",title:"View detailed service health"},{default:(0,r.w5)((function(){return[(0,r.Uk)((0,b.zw)(s.data.name),1)]})),_:1},8,["to"]),s.data.results&&s.data.results.length&&s.data.results[s.data.results.length-1].hostname?((0,r.wg)(),(0,r.iD)("span",me," | "+(0,b.zw)(s.data.results[s.data.results.length-1].hostname),1)):(0,r.kq)("",!0)]),(0,r._)("div",ve,[s.data.results&&s.data.results.length?((0,r.wg)(),(0,r.iD)("span",{key:0,class:"font-light overflow-x-hidden cursor-pointer select-none",onClick:t[0]||(t[0]=function(){return a.toggleShowAverageResponseTime&&a.toggleShowAverageResponseTime.apply(a,arguments)}),title:s.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},[s.showAverageResponseTime?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[(0,r.Uk)(" ~"+(0,b.zw)(o.averageResponseTime)+"ms ",1)]})):(0,r.WI)(e.$slots,"default",{key:1},(function(){return[(0,r.Uk)((0,b.zw)(o.minResponseTime===o.maxResponseTime?o.minResponseTime:o.minResponseTime+"-"+o.maxResponseTime)+"ms ",1)]}))],8,pe)):(0,r.kq)("",!0)])]),(0,r._)("div",null,[(0,r._)("div",Ae,[s.data.results&&s.data.results.length?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[s.data.results.length36e5){var s=(t/36e5).toFixed(0);return s+" hour"+("1"!==s?"s":"")+" ago"}if(t>6e4){var n=(t/6e4).toFixed(0);return n+" minute"+("1"!==n?"s":"")+" ago"}return(t/1e3).toFixed(0)+" seconds ago"}}},Se={name:"Service",props:{maximumNumberOfResults:Number,data:Object,showAverageResponseTime:Boolean},emits:["showTooltip","toggleShowAverageResponseTime"],mixins:[Re],methods:{updateMinAndMaxResponseTimes:function(){var e=null,t=null,s=0;for(var n in this.data.results){var r=parseInt((this.data.results[n].duration/1e6).toFixed(0));s+=r,(null==e||e>r)&&(e=r),(null==t||t1?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[1]||(t[1]=function(){return a.previousPage&&a.previousPage.apply(a,arguments)}),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},">")):(0,r.kq)("",!0)])])}var Xe={name:"Pagination",components:{},emits:["page"],methods:{nextPage:function(){this.currentPage++,this.$emit("page",this.currentPage)},previousPage:function(){this.currentPage--,this.$emit("page",this.currentPage)}},data:function(){return{currentPage:1}}};const qe=(0,x.Z)(Xe,[["render",We]]);var Ke=qe,Ye={name:"Home",components:{Pagination:Ke,Services:Ue,Settings:re},emits:["showTooltip","toggleShowAverageResponseTime"],methods:{fetchData:function(){var e=this;fetch("".concat(Ft,"/api/v1/services/statuses?page=").concat(this.currentPage)).then((function(e){return e.json()})).then((function(t){JSON.stringify(e.serviceStatuses)!==JSON.stringify(t)&&(e.serviceStatuses=t)}))},changePage:function(e){this.currentPage=e,this.fetchData()},showTooltip:function(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime:function(){this.showAverageResponseTime=!this.showAverageResponseTime}},data:function(){return{serviceStatuses:[],currentPage:1,showAverageResponseTime:!0}},created:function(){this.fetchData()}};const Fe=(0,x.Z)(Ye,[["render",F]]);var Ge=Fe,Ze="data:image/png;base64,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",je="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAII0lEQVR4nO2b708b9x3H3wbfJYEk2MT2YbgfNv4R/8CGkSZNaoIhU/pg6oNpezBpjypN6rq12wKtMhiBsIyGtE26NlqkteuWlE5p0jYJv6uBnUp7tP9nJGBD5D24O2Ofv0f4dawun5d0UhRIfLxe37v73vcOgCAIgiAIgiAIgiAIgiAIgiAIgiCI7x42k42wGFsPYB/t6HAMJBLOvni8sS8ebxxIJJyjHR2OHsAOCmEZNgC1Q+3tLf/u6fkPaxvv7AwCqAVFsIQaAAf6I5Fw5vjxQtkWDhcy4XBhNJnsBHBA+15il6kFUPdqa2uCJT8TDhcuRCJnANRp30vsMnYAh3+mKJ1mAX4ZCnUDOAK6FliCHcCRn0rSCyz5mXC48How2APgKCiAJdgBHN0owGuBQC8ogGWUBzDIpwDWs3GAUIgCWMx6AMbopwDWYx4gFCpkQqHC64HAOVAAy2AH0OQbAnCgALsOBfg/UxmgRD4FsJ7yAAb5FMB6NgywGAxSAItZD8AY/RTAekwDLAaDFGAPYAbQ5VMA66kIUCqfAlhPWQCjfApgPRsHCAQogMUUA7BGPwUoxzb98sv+E6qIGuyODPMAgYAVAWxQ9732UU+PD1X07lENAPviyZN/+vb8+d/7gIPYnVdF2AE0+bscwKbtM7eYTv/qm/b2G9rnV8XbFrUADs6Ew9e/TSaX/3Xu3CVBEOqx8yXiygAl8ncxgE37rINzXV2/zUSjS1M+38fYvYFkKTaoP/yRR6HQnzPHjxceJ5PL8729I263+zB2FqE8gEH+YiBQ+kBmuwF0+XXTqdSFTDS6tKAohQeK8inUty34Hez/nmCDupPOr0Khm/rD88fJ5PLsziOsB2DIX2xt3WkAXf6hUvkLilK4ryj/AOBEFbz0ZYO6k8fuB4N/KX12m00kcrO9vcNuYLsRzAO0tu40QHHkT6qnnSe6/AVZLtyT5dsAjqGKArjutbbeMj46fJxI5GZ6ewfj2zsS2AE0+TsIYANgF4D6ya6uN7KRyNOifC3AXVm+A8CFagpwlxFAPxJm0unBlMu11TfYKgOUyN9mABuAWkEQ6h+ayF+Q5cIXknQbVRSAB9B4XZIufRMKrbEeH24zQnkAg/xtBCgd+b/ORqNM+XOS9OyG13sVVXQK4gA4Gg4cCFyX5Yn5YHCNtX6fTSRycz09A1s4Ha0HYMhf9Pu3EsAGwN4M1D3s6nqjQr4WYFaSnt1oarrnBkIAHKiCWRCgzpXrAXidPJ94VxQn5gMBdoS2ttxsOv2HTc6OzAP4/VsJULzgPkql3txA/tp7Xu/dFo7rAODF9icPe04N1EPVAUBq5rjOa5L02XwwuMpaRs62teXn0+nhTRwJ7ACa/E0GKMqf6ur6XTYaXTaTPy4I//Ry3AsAZFTJFFRHv40/BKARgOzluBPjknR7LhBYZS2kZePxlfne3pHnRKgMUCJ/EwHWp5pnz/ZlYrEnJvJXrwnC55p8RfsZDqEK7oJLKd7UQIvQzHGdV0Xx01lWhECgkI3Flue6uy9vEKE8gEH+cwIU92cylerLxGJLpiO/qWmiZOTr8qvi1GOkIoKb437wTnPz34oRDDdU2VhseT6dZh0J+v+lBmDIX/D5Cq8pCivA+sjX5ft8BWOAEvknUD7yq1K+TkWEeqB9rLn5k7nW1lXWkkI2FlsxXBNq8JwACz6fWYDSC+6FTCz2hCV/TpLWxj2ezxzqBbfqR76R0ghOADIPJLQIa6y72mwslpvt7h4yRODACKDLLwnQgPXnEPZmoG76pZd+k2FdcNWR/+yqx3OHB5L4HsrXMUaQALT90ev966zfv8aa12djsfzM2bP6zRoHdQ5eFqBUviEAD4DTlxfM5M9J0tqYx3MHQALfY/k6rAjx0aamW7N+/yozQjSan0mlBk84nQ1Q1+MbfiJJJ43iDQEcAA663e7DpjdZ2jn/Hbf77wDasA/k65hFuDnj9+dZ08tsNJqbSaUG5YYGJ4DGH4viKbMAv5DlHwI45gAcX6dSb5qN/BlJyl8RhI+xz+TrFJ84QYvAA4nLXu9H0z5fjjXDyUaj+enu7iFXXV3zKy0tZ8wCvCrL5wF4vzxzhn2TpSiFKUnKjXo8t+rXz/lO7CP5OvrNWjFCPc8nR7zeD6d9vhXWLCcTieS/PH167BVR7DEL8HNF+dHEiy8OZqLRFRP5K6OCcLOe5/e1fJ2KCA6Oax/xej+YVpRl1kV2MRLJ3T99+nOzAF+cOjWRMS4pl8gfEYSbDo5rh3rqc2qfvS/l61REcPJ8crip6f0pRVlmSc6EQmtmARaDwTUz+ZcF4SOG/KpaXrAKYwSxnueTg01N707JMjMCc2OIX5DlwpQk5UYE4UOSvzEVEXigbVAQxidlObcD+flLgvCBdsEl+c+hNIIDaoT4Rbd7bEqW85sWr8mflqTVIZfrfV6dapL8TVIRAUDsosdzZUqWVzctXxRXB1yu9wDEQPK3DDNCv8s1OinL+Y3E66edAbf7Gkj+jjCLMDwpScynWAuyXJiUpJWLbvcYVPmi9m9J/jYxRmjhgdgFl2v4oSQ9LRW/IMuFR6L49KLHc4UH4iD5uwbzwtzv8Qw/EMUlXf5DUXzytsczql1wSf4uwzoS4v2CMPRAFP/7QBSX3vJ4RmjkW4seQX/booUHIm+5XH39Ltfbh4EogBaQfEspjXAUgAB1QU3S/tygfY3kW4gegYf68lcD1Bj12t+R/D1A/90tO9RHlRzKH94Te4TNsBEEQRAEQRAEQRAEQRAEQRAEQXwn+R/bUgKesM7q/wAAAABJRU5ErkJggg==",Le="data:image/png;base64,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",Ne=function(e){return(0,r.dD)("data-v-9b47a9ec"),e=e(),(0,r.Cn)(),e},Je=(0,r.Uk)(" ← "),Ve=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RECENT CHECKS",-1)})),_e=Ne((function(){return(0,r._)("hr",{class:"mb-4"},null,-1)})),$e={key:1,class:"mt-12"},et=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"UPTIME",-1)})),tt=Ne((function(){return(0,r._)("hr",null,null,-1)})),st={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},nt={class:"flex-1"},rt=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1)})),ot=["src"],at={class:"flex-1"},it=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1)})),lt=["src"],ut={class:"flex-1"},ct=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1)})),gt=["src"],ht={key:2,class:"mt-12"},dt=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RESPONSE TIME",-1)})),ft=Ne((function(){return(0,r._)("hr",null,null,-1)})),mt=["src"],vt={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},pt={class:"flex-1"},At=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1)})),wt=["src"],yt={class:"flex-1"},xt=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1)})),Tt=["src"],kt={class:"flex-1"},bt=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1)})),It=["src"],Rt={key:3},St=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400 mt-4"},"EVENTS",-1)})),Dt=Ne((function(){return(0,r._)("hr",{class:"mb-4"},null,-1)})),Ct={class:"p-3 my-4"},Bt={class:"text-lg"},Pt={key:0,src:Ze,alt:"Healthy",class:"border border-green-600 rounded-full opacity-75 bg-green-100 mr-2 inline",width:"26"},Et={key:1,src:je,alt:"Unhealthy",class:"border border-red-500 rounded-full opacity-75 bg-red-100 mr-2 inline",width:"26"},Ht={key:2,src:Le,alt:"Start",class:"border border-gray-500 rounded-full opacity-75 bg-gray-100 mr-2 inline",width:"26"},Ot={class:"flex mt-1 text-sm text-gray-400"},Ut={class:"flex-1 text-left pl-10"},zt={class:"flex-1 text-right"};function Mt(e,t,s,n,o,a){var i=(0,r.up)("router-link"),l=(0,r.up)("Service"),u=(0,r.up)("Pagination"),c=(0,r.up)("Settings");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.Wm)(i,{to:"../",class:"absolute top-2 left-2 inline-block px-2 pb-0.5 text-lg text-black bg-gray-100 rounded hover:bg-gray-200 focus:outline-none border border-gray-200 dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},{default:(0,r.w5)((function(){return[Je]})),_:1}),(0,r._)("div",null,[o.serviceStatus?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[Ve,_e,(0,r.Wm)(l,{data:o.serviceStatus,maximumNumberOfResults:20,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,r.Wm)(u,{onPage:a.changePage},null,8,["onPage"])]}),!0):(0,r.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,r.wg)(),(0,r.iD)("div",$e,[et,tt,(0,r._)("div",st,[(0,r._)("div",nt,[rt,(0,r._)("img",{src:a.generateUptimeBadgeImageURL("7d"),alt:"7d uptime badge",class:"mx-auto"},null,8,ot)]),(0,r._)("div",at,[it,(0,r._)("img",{src:a.generateUptimeBadgeImageURL("24h"),alt:"24h uptime badge",class:"mx-auto"},null,8,lt)]),(0,r._)("div",ut,[ct,(0,r._)("img",{src:a.generateUptimeBadgeImageURL("1h"),alt:"1h uptime badge",class:"mx-auto"},null,8,gt)])])])):(0,r.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,r.wg)(),(0,r.iD)("div",ht,[dt,ft,(0,r._)("img",{src:a.generateResponseTimeChartImageURL(),alt:"response time chart",class:"mt-6"},null,8,mt),(0,r._)("div",vt,[(0,r._)("div",pt,[At,(0,r._)("img",{src:a.generateResponseTimeBadgeImageURL("7d"),alt:"7d response time badge",class:"mx-auto mt-2"},null,8,wt)]),(0,r._)("div",yt,[xt,(0,r._)("img",{src:a.generateResponseTimeBadgeImageURL("24h"),alt:"24h response time badge",class:"mx-auto mt-2"},null,8,Tt)]),(0,r._)("div",kt,[bt,(0,r._)("img",{src:a.generateResponseTimeBadgeImageURL("1h"),alt:"1h response time badge",class:"mx-auto mt-2"},null,8,It)])])])):(0,r.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,r.wg)(),(0,r.iD)("div",Rt,[St,Dt,(0,r._)("div",null,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(o.events,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r._)("div",Ct,[(0,r._)("h2",Bt,["HEALTHY"===t.type?((0,r.wg)(),(0,r.iD)("img",Pt)):"UNHEALTHY"===t.type?((0,r.wg)(),(0,r.iD)("img",Et)):"START"===t.type?((0,r.wg)(),(0,r.iD)("img",Ht)):(0,r.kq)("",!0),(0,r.Uk)(" "+(0,b.zw)(t.fancyText),1)]),(0,r._)("div",Ot,[(0,r._)("div",Ut,(0,b.zw)(new Date(t.timestamp).toISOString()),1),(0,r._)("div",zt,(0,b.zw)(t.fancyTimeAgo),1)])])]}),!0)})),128))])])):(0,r.kq)("",!0)]),(0,r.Wm)(c,{onRefreshData:a.fetchData},null,8,["onRefreshData"])],64)}var Qt={name:"Details",components:{Pagination:Ke,Service:Ce,Settings:re},emits:["showTooltip"],mixins:[Re],methods:{fetchData:function(){var e=this;fetch("".concat(this.serverUrl,"/api/v1/services/").concat(this.$route.params.key,"/statuses?page=").concat(this.currentPage)).then((function(e){return e.json()})).then((function(t){if(JSON.stringify(e.serviceStatus)!==JSON.stringify(t)){e.serviceStatus=t,e.uptime=t.uptime;for(var s=[],n=t.events.length-1;n>=0;n--){var r=t.events[n];if(n===t.events.length-1)"UNHEALTHY"===r.type?r.fancyText="Service is unhealthy":"HEALTHY"===r.type?r.fancyText="Service is healthy":"START"===r.type&&(r.fancyText="Monitoring started");else{var o=t.events[n+1];"HEALTHY"===r.type?r.fancyText="Service became healthy":"UNHEALTHY"===r.type?r.fancyText=o?"Service was unhealthy for "+e.prettifyTimeDifference(o.timestamp,r.timestamp):"Service became unhealthy":"START"===r.type&&(r.fancyText="Monitoring started")}r.fancyTimeAgo=e.generatePrettyTimeAgo(r.timestamp),s.push(r)}e.events=s}}))},generateUptimeBadgeImageURL:function(e){return"".concat(this.serverUrl,"/api/v1/services/").concat(this.serviceStatus.key,"/uptimes/").concat(e,"/badge.svg")},generateResponseTimeBadgeImageURL:function(e){return"".concat(this.serverUrl,"/api/v1/services/").concat(this.serviceStatus.key,"/response-times/").concat(e,"/badge.svg")},generateResponseTimeChartImageURL:function(){return"".concat(this.serverUrl,"/api/v1/services/").concat(this.serviceStatus.key,"/response-times/24h/chart.svg")},prettifyUptime:function(e){return e?(100*e).toFixed(2)+"%":"0%"},prettifyTimeDifference:function(e,t){var s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},changePage:function(e){this.currentPage=e,this.fetchData()},showTooltip:function(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime:function(){this.showAverageResponseTime=!this.showAverageResponseTime}},data:function(){return{serviceStatus:{},uptime:{},events:[],hourlyAverageResponseTime:{},serverUrl:"."===Ft?"..":Ft,currentPage:1,showAverageResponseTime:!0,chartLabels:[],chartValues:[]}},created:function(){this.fetchData()}};const Wt=(0,x.Z)(Qt,[["render",Mt],["__scopeId","data-v-9b47a9ec"]]);var Xt=Wt,qt=[{path:"/",name:"Home",component:Ge},{path:"/services/:key",name:"Details",component:Xt}],Kt=(0,Y.p7)({history:(0,Y.PO)("/"),routes:qt}),Yt=Kt,Ft=".";(0,n.ri)(K).use(Yt).mount("#app")}},t={};function s(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,n,r,o){if(!n){var a=1/0;for(c=0;c=o)&&Object.keys(s.O).every((function(e){return s.O[e](n[l])}))?n.splice(l--,1):(i=!1,o0&&e[c-1][2]>o;c--)e[c]=e[c-1];e[c]=[n,r,o]}}(),function(){s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,o,a=n[0],i=n[1],l=n[2],u=0;if(a.some((function(t){return 0!==e[t]}))){for(r in i)s.o(i,r)&&(s.m[r]=i[r]);if(l)var c=l(s)}for(t&&t(n);u/g,">").replace(/"/g,""").replace(/'/g,"'")},reposition:function(){if(this.event&&this.event.type)if("mouseenter"===this.event.type){var e=this.event.target.getBoundingClientRect().y+30,t=this.event.target.getBoundingClientRect().x,s=this.$refs.tooltip.getBoundingClientRect();t+window.scrollX+s.width+50>document.body.getBoundingClientRect().width&&(t=this.event.target.getBoundingClientRect().x-s.width+this.event.target.getBoundingClientRect().width,t<0&&(t+=-t)),e+window.scrollY+s.height+50>document.body.getBoundingClientRect().height&&e>=0&&(e=this.event.target.getBoundingClientRect().y-(s.height+10),e<0&&(e=this.event.target.getBoundingClientRect().y+30)),this.top=e,this.left=t}else"mouseleave"===this.event.type&&(this.hidden=!0)}},watch:{event:function(e){e&&e.type&&("mouseenter"===e.type?this.hidden=!1:"mouseleave"===e.type&&(this.hidden=!0))}},updated:function(){this.reposition()},created:function(){this.reposition()},data:function(){return{hidden:!0,top:0,left:0}}};const Q=(0,x.Z)(M,[["render",z]]);var W=Q,X={name:"App",components:{Social:k,Tooltip:W},methods:{showTooltip:function(e,t){this.tooltip={result:e,event:t}}},computed:{getLogo:function(){return window.config&&window.config.logo&&"{{ .Logo }}"!==window.config.logo?window.config.logo:""}},data:function(){return{tooltip:{}}}};const q=(0,x.Z)(X,[["render",d]]);var K=q,Y=s(2119);function F(e,t,s,n,o,a){var i=(0,r.up)("Services"),l=(0,r.up)("Pagination"),u=(0,r.up)("Settings");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.Wm)(i,{serviceStatuses:o.serviceStatuses,showStatusOnHover:!0,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["serviceStatuses","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,r.Wm)(l,{onPage:a.changePage},null,8,["onPage"]),(0,r.Wm)(u,{onRefreshData:a.fetchData},null,8,["onRefreshData"])],64)}s(1539),s(2222);var G={id:"settings",class:"flex bg-gray-200 border-gray-300 rounded border shadow dark:text-gray-200 dark:bg-gray-800 dark:border-gray-500"},Z=(0,r._)("div",{class:"text-xs text-gray-600 rounded-xl py-1 px-2 dark:text-gray-200"}," ↻ ",-1),j=["selected"],L=["selected"],N=["selected"],J=["selected"],V=["selected"],_=["selected"],$=(0,r.Uk)("☀"),ee=(0,r.Uk)("🌙");function te(e,t,s,n,o,a){return(0,r.wg)(),(0,r.iD)("div",G,[Z,(0,r._)("select",{class:"text-center text-gray-500 text-xs dark:text-gray-200 dark:bg-gray-800 border-r border-l border-gray-300 dark:border-gray-500",id:"refresh-rate",ref:"refreshInterval",onChange:t[0]||(t[0]=function(){return a.handleChangeRefreshInterval&&a.handleChangeRefreshInterval.apply(a,arguments)})},[(0,r._)("option",{value:"10",selected:10===o.refreshInterval},"10s",8,j),(0,r._)("option",{value:"30",selected:30===o.refreshInterval},"30s",8,L),(0,r._)("option",{value:"60",selected:60===o.refreshInterval},"1m",8,N),(0,r._)("option",{value:"120",selected:120===o.refreshInterval},"2m",8,J),(0,r._)("option",{value:"300",selected:300===o.refreshInterval},"5m",8,V),(0,r._)("option",{value:"600",selected:600===o.refreshInterval},"10m",8,_)],544),(0,r._)("button",{onClick:t[1]||(t[1]=function(){return a.toggleDarkMode&&a.toggleDarkMode.apply(a,arguments)}),class:"text-xs p-1"},[o.darkMode?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[$]})):(0,r.WI)(e.$slots,"default",{key:1},(function(){return[ee]}))])])}var se={name:"Settings",props:{},methods:{setRefreshInterval:function(e){sessionStorage.setItem("gatus:refresh-interval",e);var t=this;this.refreshIntervalHandler=setInterval((function(){t.refreshData()}),1e3*e)},refreshData:function(){this.$emit("refreshData")},handleChangeRefreshInterval:function(){this.refreshData(),clearInterval(this.refreshIntervalHandler),this.setRefreshInterval(this.$refs.refreshInterval.value)},toggleDarkMode:function(){"dark"===localStorage.theme?localStorage.theme="light":localStorage.theme="dark",this.applyTheme()},applyTheme:function(){"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?(this.darkMode=!0,document.documentElement.classList.add("dark")):(this.darkMode=!1,document.documentElement.classList.remove("dark"))}},created:function(){10!==this.refreshInterval&&30!==this.refreshInterval&&60!==this.refreshInterval&&120!==this.refreshInterval&&300!==this.refreshInterval&&600!==this.refreshInterval&&(this.refreshInterval=60),this.setRefreshInterval(this.refreshInterval),this.applyTheme()},unmounted:function(){clearInterval(this.refreshIntervalHandler)},data:function(){return{refreshInterval:sessionStorage.getItem("gatus:refresh-interval")<10?60:parseInt(sessionStorage.getItem("gatus:refresh-interval")),refreshIntervalHandler:0,darkMode:!1}}};const ne=(0,x.Z)(se,[["render",te]]);var re=ne,oe=(s(8309),{id:"results"});function ae(e,t,s,n,o,a){var i=(0,r.up)("ServiceGroup");return(0,r.wg)(),(0,r.iD)("div",oe,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(o.serviceGroups,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r.Wm)(i,{services:t.services,name:t.name,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["services","name","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])]}))})),128))])}var ie={class:"font-mono text-gray-400 text-xl font-medium pb-2 px-3 dark:text-gray-200 dark:hover:text-gray-500 dark:border-gray-500"},le={key:0,class:"text-green-600"},ue={key:1,class:"text-yellow-400"},ge={class:"float-right service-group-arrow"};function ce(e,t,s,n,o,a){var i=(0,r.up)("Service");return(0,r.wg)(),(0,r.iD)("div",{class:(0,I.C_)(0===s.services.length?"mt-3":"mt-4")},["undefined"!==s.name?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[(0,r._)("div",{class:"service-group pt-2 border dark:bg-gray-800 dark:border-gray-500",onClick:t[0]||(t[0]=function(){return a.toggleGroup&&a.toggleGroup.apply(a,arguments)})},[(0,r._)("h5",ie,[o.healthy?((0,r.wg)(),(0,r.iD)("span",le,"✓")):((0,r.wg)(),(0,r.iD)("span",ue,"~")),(0,r.Uk)(" "+(0,I.zw)(s.name)+" ",1),(0,r._)("span",ge,(0,I.zw)(o.collapsed?"▼":"▲"),1)])])]})):(0,r.kq)("",!0),o.collapsed?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("div",{key:1,class:(0,I.C_)("undefined"===s.name?"":"service-group-content")},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(s.services,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r.Wm)(i,{data:t,maximumNumberOfResults:20,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])]}))})),128))],2))],2)}var he={key:0,class:"service px-3 py-3 border-l border-r border-t rounded-none hover:bg-gray-100 dark:hover:bg-gray-700 dark:border-gray-500"},de={class:"flex flex-wrap mb-2"},fe={class:"w-3/4"},me={key:0,class:"text-gray-500 font-light"},ve={class:"w-1/4 text-right"},pe=["title"],Ae={class:"status-over-time flex flex-row"},we=["onMouseenter"],ye=["onMouseenter"],xe={class:"flex flex-wrap status-time-ago"},Te={class:"w-1/2"},ke={class:"w-1/2 text-right"},Ie=(0,r._)("div",{class:"w-1/2"}," ",-1);function be(e,t,s,n,o,a){var i=(0,r.up)("router-link");return s.data?((0,r.wg)(),(0,r.iD)("div",he,[(0,r._)("div",de,[(0,r._)("div",fe,[(0,r.Wm)(i,{to:a.generatePath(),class:"font-bold hover:text-blue-800 hover:underline dark:hover:text-blue-400",title:"View detailed service health"},{default:(0,r.w5)((function(){return[(0,r.Uk)((0,I.zw)(s.data.name),1)]})),_:1},8,["to"]),s.data.results&&s.data.results.length&&s.data.results[s.data.results.length-1].hostname?((0,r.wg)(),(0,r.iD)("span",me," | "+(0,I.zw)(s.data.results[s.data.results.length-1].hostname),1)):(0,r.kq)("",!0)]),(0,r._)("div",ve,[s.data.results&&s.data.results.length?((0,r.wg)(),(0,r.iD)("span",{key:0,class:"font-light overflow-x-hidden cursor-pointer select-none",onClick:t[0]||(t[0]=function(){return a.toggleShowAverageResponseTime&&a.toggleShowAverageResponseTime.apply(a,arguments)}),title:s.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},[s.showAverageResponseTime?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[(0,r.Uk)(" ~"+(0,I.zw)(o.averageResponseTime)+"ms ",1)]})):(0,r.WI)(e.$slots,"default",{key:1},(function(){return[(0,r.Uk)((0,I.zw)(o.minResponseTime===o.maxResponseTime?o.minResponseTime:o.minResponseTime+"-"+o.maxResponseTime)+"ms ",1)]}))],8,pe)):(0,r.kq)("",!0)])]),(0,r._)("div",null,[(0,r._)("div",Ae,[s.data.results&&s.data.results.length?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[s.data.results.length36e5){var s=(t/36e5).toFixed(0);return s+" hour"+("1"!==s?"s":"")+" ago"}if(t>6e4){var n=(t/6e4).toFixed(0);return n+" minute"+("1"!==n?"s":"")+" ago"}return(t/1e3).toFixed(0)+" seconds ago"}}},Se={name:"Service",props:{maximumNumberOfResults:Number,data:Object,showAverageResponseTime:Boolean},emits:["showTooltip","toggleShowAverageResponseTime"],mixins:[Re],methods:{updateMinAndMaxResponseTimes:function(){var e=null,t=null,s=0;for(var n in this.data.results){var r=parseInt((this.data.results[n].duration/1e6).toFixed(0));s+=r,(null==e||e>r)&&(e=r),(null==t||t1?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[1]||(t[1]=function(){return a.previousPage&&a.previousPage.apply(a,arguments)}),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},">")):(0,r.kq)("",!0)])])}var Xe={name:"Pagination",components:{},emits:["page"],methods:{nextPage:function(){this.currentPage++,this.$emit("page",this.currentPage)},previousPage:function(){this.currentPage--,this.$emit("page",this.currentPage)}},data:function(){return{currentPage:1}}};const qe=(0,x.Z)(Xe,[["render",We]]);var Ke=qe,Ye={name:"Home",components:{Pagination:Ke,Services:Ue,Settings:re},emits:["showTooltip","toggleShowAverageResponseTime"],methods:{fetchData:function(){var e=this;fetch("".concat(Ft,"/api/v1/services/statuses?page=").concat(this.currentPage)).then((function(e){return e.json()})).then((function(t){JSON.stringify(e.serviceStatuses)!==JSON.stringify(t)&&(e.serviceStatuses=t)}))},changePage:function(e){this.currentPage=e,this.fetchData()},showTooltip:function(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime:function(){this.showAverageResponseTime=!this.showAverageResponseTime}},data:function(){return{serviceStatuses:[],currentPage:1,showAverageResponseTime:!0}},created:function(){this.fetchData()}};const Fe=(0,x.Z)(Ye,[["render",F]]);var Ge=Fe,Ze="data:image/png;base64,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",je="data:image/png;base64,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",Le="data:image/png;base64,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",Ne=function(e){return(0,r.dD)("data-v-9b47a9ec"),e=e(),(0,r.Cn)(),e},Je=(0,r.Uk)(" ← "),Ve=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RECENT CHECKS",-1)})),_e=Ne((function(){return(0,r._)("hr",{class:"mb-4"},null,-1)})),$e={key:1,class:"mt-12"},et=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"UPTIME",-1)})),tt=Ne((function(){return(0,r._)("hr",null,null,-1)})),st={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},nt={class:"flex-1"},rt=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1)})),ot=["src"],at={class:"flex-1"},it=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1)})),lt=["src"],ut={class:"flex-1"},gt=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1)})),ct=["src"],ht={key:2,class:"mt-12"},dt=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RESPONSE TIME",-1)})),ft=Ne((function(){return(0,r._)("hr",null,null,-1)})),mt=["src"],vt={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},pt={class:"flex-1"},At=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1)})),wt=["src"],yt={class:"flex-1"},xt=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1)})),Tt=["src"],kt={class:"flex-1"},It=Ne((function(){return(0,r._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1)})),bt=["src"],Rt={key:3},St=Ne((function(){return(0,r._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400 mt-4"},"EVENTS",-1)})),Dt=Ne((function(){return(0,r._)("hr",{class:"mb-4"},null,-1)})),Ct={class:"p-3 my-4"},Bt={class:"text-lg"},Pt={key:0,src:Ze,alt:"Healthy",class:"border border-green-600 rounded-full opacity-75 bg-green-100 mr-2 inline",width:"26"},Et={key:1,src:je,alt:"Unhealthy",class:"border border-red-500 rounded-full opacity-75 bg-red-100 mr-2 inline",width:"26"},Ht={key:2,src:Le,alt:"Start",class:"border border-gray-500 rounded-full opacity-75 bg-gray-100 mr-2 inline",width:"26"},Ot={class:"flex mt-1 text-sm text-gray-400"},Ut={class:"flex-1 text-left pl-10"},zt={class:"flex-1 text-right"};function Mt(e,t,s,n,o,a){var i=(0,r.up)("router-link"),l=(0,r.up)("Service"),u=(0,r.up)("Pagination"),g=(0,r.up)("Settings");return(0,r.wg)(),(0,r.iD)(r.HY,null,[(0,r.Wm)(i,{to:"../",class:"absolute top-2 left-2 inline-block px-2 pb-0.5 text-lg text-black bg-gray-100 rounded hover:bg-gray-200 focus:outline-none border border-gray-200 dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},{default:(0,r.w5)((function(){return[Je]})),_:1}),(0,r._)("div",null,[o.serviceStatus?(0,r.WI)(e.$slots,"default",{key:0},(function(){return[Ve,_e,(0,r.Wm)(l,{data:o.serviceStatus,maximumNumberOfResults:20,onShowTooltip:a.showTooltip,onToggleShowAverageResponseTime:a.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,r.Wm)(u,{onPage:a.changePage},null,8,["onPage"])]}),!0):(0,r.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,r.wg)(),(0,r.iD)("div",$e,[et,tt,(0,r._)("div",st,[(0,r._)("div",nt,[rt,(0,r._)("img",{src:a.generateUptimeBadgeImageURL("7d"),alt:"7d uptime badge",class:"mx-auto"},null,8,ot)]),(0,r._)("div",at,[it,(0,r._)("img",{src:a.generateUptimeBadgeImageURL("24h"),alt:"24h uptime badge",class:"mx-auto"},null,8,lt)]),(0,r._)("div",ut,[gt,(0,r._)("img",{src:a.generateUptimeBadgeImageURL("1h"),alt:"1h uptime badge",class:"mx-auto"},null,8,ct)])])])):(0,r.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,r.wg)(),(0,r.iD)("div",ht,[dt,ft,(0,r._)("img",{src:a.generateResponseTimeChartImageURL(),alt:"response time chart",class:"mt-6"},null,8,mt),(0,r._)("div",vt,[(0,r._)("div",pt,[At,(0,r._)("img",{src:a.generateResponseTimeBadgeImageURL("7d"),alt:"7d response time badge",class:"mx-auto mt-2"},null,8,wt)]),(0,r._)("div",yt,[xt,(0,r._)("img",{src:a.generateResponseTimeBadgeImageURL("24h"),alt:"24h response time badge",class:"mx-auto mt-2"},null,8,Tt)]),(0,r._)("div",kt,[It,(0,r._)("img",{src:a.generateResponseTimeBadgeImageURL("1h"),alt:"1h response time badge",class:"mx-auto mt-2"},null,8,bt)])])])):(0,r.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,r.wg)(),(0,r.iD)("div",Rt,[St,Dt,(0,r._)("div",null,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(o.events,(function(t){return(0,r.WI)(e.$slots,"default",{key:t},(function(){return[(0,r._)("div",Ct,[(0,r._)("h2",Bt,["HEALTHY"===t.type?((0,r.wg)(),(0,r.iD)("img",Pt)):"UNHEALTHY"===t.type?((0,r.wg)(),(0,r.iD)("img",Et)):"START"===t.type?((0,r.wg)(),(0,r.iD)("img",Ht)):(0,r.kq)("",!0),(0,r.Uk)(" "+(0,I.zw)(t.fancyText),1)]),(0,r._)("div",Ot,[(0,r._)("div",Ut,(0,I.zw)(new Date(t.timestamp).toISOString()),1),(0,r._)("div",zt,(0,I.zw)(t.fancyTimeAgo),1)])])]}),!0)})),128))])])):(0,r.kq)("",!0)]),(0,r.Wm)(g,{onRefreshData:a.fetchData},null,8,["onRefreshData"])],64)}var Qt={name:"Details",components:{Pagination:Ke,Service:Ce,Settings:re},emits:["showTooltip"],mixins:[Re],methods:{fetchData:function(){var e=this;fetch("".concat(this.serverUrl,"/api/v1/services/").concat(this.$route.params.key,"/statuses?page=").concat(this.currentPage)).then((function(e){return e.json()})).then((function(t){if(JSON.stringify(e.serviceStatus)!==JSON.stringify(t)){e.serviceStatus=t,e.uptime=t.uptime;for(var s=[],n=t.events.length-1;n>=0;n--){var r=t.events[n];if(n===t.events.length-1)"UNHEALTHY"===r.type?r.fancyText="Service is unhealthy":"HEALTHY"===r.type?r.fancyText="Service is healthy":"START"===r.type&&(r.fancyText="Monitoring started");else{var o=t.events[n+1];"HEALTHY"===r.type?r.fancyText="Service became healthy":"UNHEALTHY"===r.type?r.fancyText=o?"Service was unhealthy for "+e.prettifyTimeDifference(o.timestamp,r.timestamp):"Service became unhealthy":"START"===r.type&&(r.fancyText="Monitoring started")}r.fancyTimeAgo=e.generatePrettyTimeAgo(r.timestamp),s.push(r)}e.events=s}}))},generateUptimeBadgeImageURL:function(e){return"".concat(this.serverUrl,"/api/v1/services/").concat(this.serviceStatus.key,"/uptimes/").concat(e,"/badge.svg")},generateResponseTimeBadgeImageURL:function(e){return"".concat(this.serverUrl,"/api/v1/services/").concat(this.serviceStatus.key,"/response-times/").concat(e,"/badge.svg")},generateResponseTimeChartImageURL:function(){return"".concat(this.serverUrl,"/api/v1/services/").concat(this.serviceStatus.key,"/response-times/24h/chart.svg")},prettifyUptime:function(e){return e?(100*e).toFixed(2)+"%":"0%"},prettifyTimeDifference:function(e,t){var s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},changePage:function(e){this.currentPage=e,this.fetchData()},showTooltip:function(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime:function(){this.showAverageResponseTime=!this.showAverageResponseTime}},data:function(){return{serviceStatus:{},uptime:{},events:[],hourlyAverageResponseTime:{},serverUrl:"."===Ft?"..":Ft,currentPage:1,showAverageResponseTime:!0,chartLabels:[],chartValues:[]}},created:function(){this.fetchData()}};const Wt=(0,x.Z)(Qt,[["render",Mt],["__scopeId","data-v-9b47a9ec"]]);var Xt=Wt,qt=[{path:"/",name:"Home",component:Ge},{path:"/services/:key",name:"Details",component:Xt}],Kt=(0,Y.p7)({history:(0,Y.PO)("/"),routes:qt}),Yt=Kt,Ft=".";(0,n.ri)(K).use(Yt).mount("#app")}},t={};function s(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,n,r,o){if(!n){var a=1/0;for(g=0;g=o)&&Object.keys(s.O).every((function(e){return s.O[e](n[l])}))?n.splice(l--,1):(i=!1,o0&&e[g-1][2]>o;g--)e[g]=e[g-1];e[g]=[n,r,o]}}(),function(){s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,n){var r,o,a=n[0],i=n[1],l=n[2],u=0;if(a.some((function(t){return 0!==e[t]}))){for(r in i)s.o(i,r)&&(s.m[r]=i[r]);if(l)var g=l(s)}for(t&&t(n);u((0,a.dD)("data-v-1cbbc992"),e=e(),(0,a.Cn)(),e),A={id:"social"},v=p((()=>(0,a._)("a",{href:"https://github.com/TwinProduction/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,a._)("img",{src:m,alt:"GitHub",width:"32",height:"auto"})],-1))),f=[v];function w(e,t,s,r,o,n){return(0,a.wg)(),(0,a.iD)("div",A,f)}var y={name:"Social"},x=s(744);const T=(0,x.Z)(y,[["render",w],["__scopeId","data-v-1cbbc992"]]);var k=T,b=s(577);const I=(0,a._)("div",{class:"tooltip-title"},"Timestamp:",-1),R={id:"tooltip-timestamp"},S=(0,a._)("div",{class:"tooltip-title"},"Response time:",-1),D={id:"tooltip-response-time"},C=(0,a._)("div",{class:"tooltip-title"},"Conditions:",-1),B={id:"tooltip-conditions"},P=(0,a._)("br",null,null,-1),E={key:0,id:"tooltip-errors-container"},H=(0,a._)("div",{class:"tooltip-title"},"Errors:",-1),O={id:"tooltip-errors"},U=(0,a._)("br",null,null,-1);function z(e,t,s,r,o,n){return(0,a.wg)(),(0,a.iD)("div",{id:"tooltip",ref:"tooltip",class:(0,b.C_)(o.hidden?"invisible":""),style:(0,b.j5)("top:"+o.top+"px; left:"+o.left+"px")},[s.result?(0,a.WI)(e.$slots,"default",{key:0},(()=>[I,(0,a._)("code",R,(0,b.zw)(n.prettifyTimestamp(s.result.timestamp)),1),S,(0,a._)("code",D,(0,b.zw)((s.result.duration/1e6).toFixed(0))+"ms",1),C,(0,a._)("code",B,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.result.conditionResults,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Uk)((0,b.zw)(t.success?"✓":"X")+" ~ "+(0,b.zw)(t.condition),1),P])))),128))]),s.result.errors&&s.result.errors.length?((0,a.wg)(),(0,a.iD)("div",E,[H,(0,a._)("code",O,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.result.errors,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Uk)(" - "+(0,b.zw)(t),1),U])))),128))])])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)],6)}var M={name:"Services",props:{event:Event,result:Object},methods:{prettifyTimestamp(e){let t=new Date(e),s=t.getFullYear(),r=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),a=(t.getDate()<10?"0":"")+t.getDate(),o=(t.getHours()<10?"0":"")+t.getHours(),n=(t.getMinutes()<10?"0":"")+t.getMinutes(),i=(t.getSeconds()<10?"0":"")+t.getSeconds();return s+"-"+r+"-"+a+" "+o+":"+n+":"+i},htmlEntities(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},reposition(){if(this.event&&this.event.type)if("mouseenter"===this.event.type){let e=this.event.target.getBoundingClientRect().y+30,t=this.event.target.getBoundingClientRect().x,s=this.$refs.tooltip.getBoundingClientRect();t+window.scrollX+s.width+50>document.body.getBoundingClientRect().width&&(t=this.event.target.getBoundingClientRect().x-s.width+this.event.target.getBoundingClientRect().width,t<0&&(t+=-t)),e+window.scrollY+s.height+50>document.body.getBoundingClientRect().height&&e>=0&&(e=this.event.target.getBoundingClientRect().y-(s.height+10),e<0&&(e=this.event.target.getBoundingClientRect().y+30)),this.top=e,this.left=t}else"mouseleave"===this.event.type&&(this.hidden=!0)}},watch:{event:function(e){e&&e.type&&("mouseenter"===e.type?this.hidden=!1:"mouseleave"===e.type&&(this.hidden=!0))}},updated(){this.reposition()},created(){this.reposition()},data(){return{hidden:!0,top:0,left:0}}};const Q=(0,x.Z)(M,[["render",z]]);var W=Q,X={name:"App",components:{Social:k,Tooltip:W},methods:{showTooltip(e,t){this.tooltip={result:e,event:t}}},computed:{getLogo(){return window.config&&window.config.logo&&"{{ .Logo }}"!==window.config.logo?window.config.logo:""}},data(){return{tooltip:{}}}};const q=(0,x.Z)(X,[["render",d]]);var K=q,Y=s(119);function F(e,t,s,r,o,n){const i=(0,a.up)("Services"),l=(0,a.up)("Pagination"),g=(0,a.up)("Settings");return(0,a.wg)(),(0,a.iD)(a.HY,null,[(0,a.Wm)(i,{serviceStatuses:o.serviceStatuses,showStatusOnHover:!0,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["serviceStatuses","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,a.Wm)(l,{onPage:n.changePage},null,8,["onPage"]),(0,a.Wm)(g,{onRefreshData:n.fetchData},null,8,["onRefreshData"])],64)}const G={id:"settings",class:"flex bg-gray-200 border-gray-300 rounded border shadow dark:text-gray-200 dark:bg-gray-800 dark:border-gray-500"},Z=(0,a._)("div",{class:"text-xs text-gray-600 rounded-xl py-1 px-2 dark:text-gray-200"}," ↻ ",-1),j=["selected"],L=["selected"],N=["selected"],J=["selected"],V=["selected"],_=["selected"],$=(0,a.Uk)("☀"),ee=(0,a.Uk)("🌙");function te(e,t,s,r,o,n){return(0,a.wg)(),(0,a.iD)("div",G,[Z,(0,a._)("select",{class:"text-center text-gray-500 text-xs dark:text-gray-200 dark:bg-gray-800 border-r border-l border-gray-300 dark:border-gray-500",id:"refresh-rate",ref:"refreshInterval",onChange:t[0]||(t[0]=(...e)=>n.handleChangeRefreshInterval&&n.handleChangeRefreshInterval(...e))},[(0,a._)("option",{value:"10",selected:10===o.refreshInterval},"10s",8,j),(0,a._)("option",{value:"30",selected:30===o.refreshInterval},"30s",8,L),(0,a._)("option",{value:"60",selected:60===o.refreshInterval},"1m",8,N),(0,a._)("option",{value:"120",selected:120===o.refreshInterval},"2m",8,J),(0,a._)("option",{value:"300",selected:300===o.refreshInterval},"5m",8,V),(0,a._)("option",{value:"600",selected:600===o.refreshInterval},"10m",8,_)],544),(0,a._)("button",{onClick:t[1]||(t[1]=(...e)=>n.toggleDarkMode&&n.toggleDarkMode(...e)),class:"text-xs p-1"},[o.darkMode?(0,a.WI)(e.$slots,"default",{key:0},(()=>[$])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[ee]))])])}var se={name:"Settings",props:{},methods:{setRefreshInterval(e){sessionStorage.setItem("gatus:refresh-interval",e);let t=this;this.refreshIntervalHandler=setInterval((function(){t.refreshData()}),1e3*e)},refreshData(){this.$emit("refreshData")},handleChangeRefreshInterval(){this.refreshData(),clearInterval(this.refreshIntervalHandler),this.setRefreshInterval(this.$refs.refreshInterval.value)},toggleDarkMode(){"dark"===localStorage.theme?localStorage.theme="light":localStorage.theme="dark",this.applyTheme()},applyTheme(){"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?(this.darkMode=!0,document.documentElement.classList.add("dark")):(this.darkMode=!1,document.documentElement.classList.remove("dark"))}},created(){10!==this.refreshInterval&&30!==this.refreshInterval&&60!==this.refreshInterval&&120!==this.refreshInterval&&300!==this.refreshInterval&&600!==this.refreshInterval&&(this.refreshInterval=60),this.setRefreshInterval(this.refreshInterval),this.applyTheme()},unmounted(){clearInterval(this.refreshIntervalHandler)},data(){return{refreshInterval:sessionStorage.getItem("gatus:refresh-interval")<10?60:parseInt(sessionStorage.getItem("gatus:refresh-interval")),refreshIntervalHandler:0,darkMode:!1}}};const re=(0,x.Z)(se,[["render",te]]);var ae=re;const oe={id:"results"};function ne(e,t,s,r,o,n){const i=(0,a.up)("ServiceGroup");return(0,a.wg)(),(0,a.iD)("div",oe,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.serviceGroups,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Wm)(i,{services:t.services,name:t.name,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["services","name","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])])))),128))])}const ie={class:"font-mono text-gray-400 text-xl font-medium pb-2 px-3 dark:text-gray-200 dark:hover:text-gray-500 dark:border-gray-500"},le={key:0,class:"text-green-600"},ge={key:1,class:"text-yellow-400"},he={class:"float-right service-group-arrow"};function ce(e,t,s,r,o,n){const i=(0,a.up)("Service");return(0,a.wg)(),(0,a.iD)("div",{class:(0,b.C_)(0===s.services.length?"mt-3":"mt-4")},["undefined"!==s.name?(0,a.WI)(e.$slots,"default",{key:0},(()=>[(0,a._)("div",{class:"service-group pt-2 border dark:bg-gray-800 dark:border-gray-500",onClick:t[0]||(t[0]=(...e)=>n.toggleGroup&&n.toggleGroup(...e))},[(0,a._)("h5",ie,[o.healthy?((0,a.wg)(),(0,a.iD)("span",le,"✓")):((0,a.wg)(),(0,a.iD)("span",ge,"~")),(0,a.Uk)(" "+(0,b.zw)(s.name)+" ",1),(0,a._)("span",he,(0,b.zw)(o.collapsed?"▼":"▲"),1)])])])):(0,a.kq)("",!0),o.collapsed?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",{key:1,class:(0,b.C_)("undefined"===s.name?"":"service-group-content")},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.services,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Wm)(i,{data:t,maximumNumberOfResults:20,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])])))),128))],2))],2)}const ue={key:0,class:"service px-3 py-3 border-l border-r border-t rounded-none hover:bg-gray-100 dark:hover:bg-gray-700 dark:border-gray-500"},de={class:"flex flex-wrap mb-2"},me={class:"w-3/4"},pe={key:0,class:"text-gray-500 font-light"},Ae={class:"w-1/4 text-right"},ve=["title"],fe={class:"status-over-time flex flex-row"},we=["onMouseenter"],ye=["onMouseenter"],xe={class:"flex flex-wrap status-time-ago"},Te={class:"w-1/2"},ke={class:"w-1/2 text-right"},be=(0,a._)("div",{class:"w-1/2"}," ",-1);function Ie(e,t,s,r,o,n){const i=(0,a.up)("router-link");return s.data?((0,a.wg)(),(0,a.iD)("div",ue,[(0,a._)("div",de,[(0,a._)("div",me,[(0,a.Wm)(i,{to:n.generatePath(),class:"font-bold hover:text-blue-800 hover:underline dark:hover:text-blue-400",title:"View detailed service health"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,b.zw)(s.data.name),1)])),_:1},8,["to"]),s.data.results&&s.data.results.length&&s.data.results[s.data.results.length-1].hostname?((0,a.wg)(),(0,a.iD)("span",pe," | "+(0,b.zw)(s.data.results[s.data.results.length-1].hostname),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ae,[s.data.results&&s.data.results.length?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"font-light overflow-x-hidden cursor-pointer select-none",onClick:t[0]||(t[0]=(...e)=>n.toggleShowAverageResponseTime&&n.toggleShowAverageResponseTime(...e)),title:s.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},[s.showAverageResponseTime?(0,a.WI)(e.$slots,"default",{key:0},(()=>[(0,a.Uk)(" ~"+(0,b.zw)(o.averageResponseTime)+"ms ",1)])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[(0,a.Uk)((0,b.zw)(o.minResponseTime===o.maxResponseTime?o.minResponseTime:o.minResponseTime+"-"+o.maxResponseTime)+"ms ",1)]))],8,ve)):(0,a.kq)("",!0)])]),(0,a._)("div",null,[(0,a._)("div",fe,[s.data.results&&s.data.results.length?(0,a.WI)(e.$slots,"default",{key:0},(()=>[s.data.results.length[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.maximumNumberOfResults-s.data.results.length,(e=>((0,a.wg)(),(0,a.iD)("span",{key:e,class:"status rounded border border-dashed border-gray-400"}," ")))),128))])):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.data.results,(s=>(0,a.WI)(e.$slots,"default",{key:s},(()=>[s.success?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"status status-success rounded bg-success",onMouseenter:e=>n.showTooltip(s,e),onMouseleave:t[1]||(t[1]=e=>n.showTooltip(null,e))},null,40,we)):((0,a.wg)(),(0,a.iD)("span",{key:1,class:"status status-failure rounded bg-red-600",onMouseenter:e=>n.showTooltip(s,e),onMouseleave:t[2]||(t[2]=e=>n.showTooltip(null,e))},null,40,ye))])))),128))])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.maximumNumberOfResults,(e=>((0,a.wg)(),(0,a.iD)("span",{key:e,class:"status rounded border border-dashed border-gray-400"}," ")))),128))]))])]),(0,a._)("div",xe,[s.data.results&&s.data.results.length?(0,a.WI)(e.$slots,"default",{key:0},(()=>[(0,a._)("div",Te,(0,b.zw)(e.generatePrettyTimeAgo(s.data.results[0].timestamp)),1),(0,a._)("div",ke,(0,b.zw)(e.generatePrettyTimeAgo(s.data.results[s.data.results.length-1].timestamp)),1)])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[be]))])])):(0,a.kq)("",!0)}const Re={methods:{generatePrettyTimeAgo(e){let t=(new Date).getTime()-new Date(e).getTime();if(t>36e5){let e=(t/36e5).toFixed(0);return e+" hour"+("1"!==e?"s":"")+" ago"}if(t>6e4){let e=(t/6e4).toFixed(0);return e+" minute"+("1"!==e?"s":"")+" ago"}return(t/1e3).toFixed(0)+" seconds ago"}}};var Se={name:"Service",props:{maximumNumberOfResults:Number,data:Object,showAverageResponseTime:Boolean},emits:["showTooltip","toggleShowAverageResponseTime"],mixins:[Re],methods:{updateMinAndMaxResponseTimes(){let e=null,t=null,s=0;for(let r in this.data.results){const a=parseInt((this.data.results[r].duration/1e6).toFixed(0));s+=a,(null==e||e>a)&&(e=a),(null==t||tn.nextPage&&n.nextPage(...e)),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},"<")):(0,a.kq)("",!0)]),(0,a._)("div",Qe,[o.currentPage>1?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:t[1]||(t[1]=(...e)=>n.previousPage&&n.previousPage(...e)),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},">")):(0,a.kq)("",!0)])])}var Xe={name:"Pagination",components:{},emits:["page"],methods:{nextPage(){this.currentPage++,this.$emit("page",this.currentPage)},previousPage(){this.currentPage--,this.$emit("page",this.currentPage)}},data(){return{currentPage:1}}};const qe=(0,x.Z)(Xe,[["render",We]]);var Ke=qe,Ye={name:"Home",components:{Pagination:Ke,Services:Ue,Settings:ae},emits:["showTooltip","toggleShowAverageResponseTime"],methods:{fetchData(){fetch(`${Ft}/api/v1/services/statuses?page=${this.currentPage}`).then((e=>e.json())).then((e=>{JSON.stringify(this.serviceStatuses)!==JSON.stringify(e)&&(this.serviceStatuses=e)}))},changePage(e){this.currentPage=e,this.fetchData()},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.showAverageResponseTime=!this.showAverageResponseTime}},data(){return{serviceStatuses:[],currentPage:1,showAverageResponseTime:!0}},created(){this.fetchData()}};const Fe=(0,x.Z)(Ye,[["render",F]]);var Ge=Fe,Ze="data:image/png;base64,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",je="data:image/png;base64,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",Le="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAFXnpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja7VdRkhwnDP3nFDkCSAiJ4wgEVblBjp9HT+94dm3Hdq2/kgzVTQ/QQnpPEuq0/vpzpz/wI5acqqi13lrGr/bayfFg+fHr173ket2vX7un8P/deHpOEIYYPT/+qt/rHePy5YW3Pcp4P57sniG7BZWn4OvHZ+fzHK9KYpwe46Xegvq6Ve6mr6qOW9C8F16q3Fd9qvXozv/0bkCBUgg2YqLFhfN1t4cGfK7Cjv7cmQs9Rs9zTugK0y0MgLwz763P+RWgdyC/PaWP6D+fPoBPfo/zByxvthIevjlR5MM4P7eh1435qRG9n9iW9Stz7mvvsL3XwzqvDYi226MusMubGCwcgJyv1xqa4pJ8RJ/W0Sx7nqA88swDbZZeCKzsVGqJ4mWXdfWzTKhYaZGiJ5og6owZK3WaF2P1tLJJuXOwgblJK4G6yvTUpVz79mu/WQw7R8FSKhAGdr/f0j9N/kpLe88DUcn2xAp60fEsqHGYO3esAiFl37zJBfBbu+nPL/4DVwWDcsFsMNDzeIgYUr74Fl88M9YJ+kcIlaRxCwBE2FugTGEwkFthKa1kJdJSgKOBIIfmxJUGGCgiFFCSKnOjpGR09sY7Wq61JNToDCM3gQjhxgpuOjvIqlXgP1oNPuTCUkWkiYol6eKNW23SWtN2kpwra1XRpqqmXd3Yqok1UzPr5p06IwdKb1279d7dKTk2cshyrHeMDBo86pDRhg4bffiE+8w6Zbap02afHhQcSBPRQsOih6+SFjLFqktWW7ps9eUbvrZ51y27bd22+/YnazerX7VfYK3crNHF1FmnT9YwmlTfRJSTTuRwBsaoFjCuhwE4NB3OspVa6TB3OMudEBRCUFIONynKYQwU1lVIdnly94W5n+Itif0Ub/Qj5tKh7ncwl0Dd17x9g7U459y8GHtE4cE0M6IP88s8kfk51Pyz/f+C/gOCfImvPlhiUqsWqCgQem3PmereJsIeeRRkKASaOU5EioCboWhihrfF7CSmyPmjaV7DVkXgWNlzryF9qLRUKJyy9oJTFMl5I4T2wlGKmP4l+9JvAMhDxk4bGXkvxFRFsErzQFjhPEYM6dgup0JFvgnkzRUnlKlPvOIeFXMyess2TiZMyyRk5omEgzjcq0ZTjPgIZARiZEnAg2wyBw4fmXaAbRkJwqbKynq2lGWo2MoBs+41p61VlJvPmY3n7q44hTVoEBZmv0z5bp9+tODHPSzT7ekdQg0l0hmOtVcHc9Rax/p6Q9tPDT3hS3nVRj5HTIdH6cItGWquEsh/41i7Rki9XhxMkIVE7hCMbF02qinuMBb7ITGaIyvn86FQgH5IsutY2B1wxmo0DMhHv4C3HVjLBJKGADy+XK69uhzy/m1l+hQ8L/1D0IDaMMz7E7CAAZc3vUCWl38ALD8HenoIpRlDANBAnY9qJR+f6xUlY+zRFkrKMrVMfAbYEU7NTUqfcEkcg23tFpTw3UBeYffGcVYcxaWiLDIcpQvfBHEiE6+GetPd1OtCMTTnPFMzYEC+Azv570lInmaFWEcyGbGDEBliNhBufe872NhtBsn5noI9J3AOOPWW0G/AE0YquKxBN6CkwA9FuHBHakIB2H+KufTzkYD64jVVbOGpD2PgvpFgD/w+LpWvELiCAlU8DDn2BM3r60tR8U/Cad/aMfQYxf1p4O9P/q52Etqp3g/CqLK4Hr1xZTkVW4V6qMHOYvEK4utZx7lPfOuyjZVax6IHI5/q048X1tnfdJMctBYPbbvNhXgta8aD2sSo4I6rn7c+06fPCvhf0L9JEI5gFN9/A6IdWtX8PTLmAAABhGlDQ1BJQ0MgcHJvZmlsZQAAeJx9kT1Iw1AUhU9TpSIVBzuIOmSoThZERRwlikWwUNoKrTqYvPQPmjQkKS6OgmvBwZ/FqoOLs64OroIg+APi5uak6CIl3pcUWsR4wyMf591zeO8+QGhUmGZ1TQCabpupuCRmc6ti6BUCAvQNQ5CZZSTSixn41tc9dVLdxXiWf9+f1afmLQYEROI5Zpg28QbxzKZtcN4njrCSrBKfE4+bdEDiR64rHr9xLros8MyImUnNE0eIxWIHKx3MSqZGPE0cVTWd8oWsxyrnLc5apcZa5+Q3DOf1lTTXaY0gjiUkkIQIBTWUUYGNGP11UiykaF/y8Q+5/iS5FHKVwcixgCo0yK4f/A1+z9YqTE16SWEJ6H5xnI9RILQLNOuO833sOM0TIPgMXOltf7UBzH6SXm9r0SOgfxu4uG5ryh5wuQMMPhmyKbtSkJZQKADvZ/RMOWDgFuhd8+bW2sfpA5ChWS3fAAeHwFiRstd97t3TObd/e1rz+wHfFXJs353W5AAAAAZiS0dEAAEAdAAAl9tSQwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+UCAQEeDnoabHsAAAWCSURBVHja7Zvfa1tlHMaf0/zsiWkZJAtrTZejpWMXKmyOgT/YhSAyxM0NUVH8J/wTvPJOmBfTTWEMQfwBIjhERHDsQmTKFDfnZO2srk3amCbn7CQn57zn/XrhCb52zdauTXpO8v1AoLwpJX2e932ec75JAIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGIZhGGZL0UL6WmhYDIiFRPjYgQMHnigUCs1yueyEbGMMvAExALFEIvEmgNcNw7DT6fTsysqKYAP6tPsBpFKp1PFGo3Go1WodHh8fPzg1NfXHwsLCIhvQW0YAxAGkM5nMMSHEHtd1Y5ZlPeB53ouGYTy4Y8eOH6rVqs0G9O4ExAGkdV1/XggxAwBEhHa7nTBN85FkMvna9PS0OzY2drVarXqD1g9hiaC0rutHfd+fUZ+UUqLZbI6apvl0JpN5tlgsLrfb7XnHcXw2YIs7QNf1I6oBRP9difq+D8uy8u12+7lCofDQ5OTkzXK5XB6Ey9VQGqCKrxoS9MMe3/ePlUqliXw+f2VpaemW8reIDdikAd3EV392HCdlmuajiUTiuGEYyUwmc6VWq7lRPAEjYXoxdxNfXRNCoFKpTM7Nzb2hado3+/btewZAKjB0JCplHdoOWK8hvu9rpmnudBzn5VKptH/Xrl2XK5VKLYgjjQ3YghJez5rruqjX69NE9KphGPfl8/nrSj+wAZvpgI0Y0mq1kqZpPh6LxY6VSiXKZrPXwtwPoTKgcyO2mW7o3D/Ytj1m2/ZTuq4/uXv37pVyuTwXxquk0BiQTqdv64CNiL8WnueNWJZVdBznyNTU1P5CofDL8vKy2g/EBgQGjI6O3lMJr8cU13XjpmnOENErhmHsHBsb+7lWq7X4BHQxYKMir8coKSVarVaqXq8fTKVSLxmGsZxMJm80Gg3BBigG9EL81Tdytm1nbds+ms1mD01MTNwkooVmsymH3oCNlPBm+oGI4HkeGo3G/Z7nvZDL5YxcLjdXrVb/Vn9t6DtgK8S/myHtdjtmmubDmqYdLxaLO3O53K/9fP8htAb0Ioq6rQVjb92yrIPxePxwqVRyAVy2bVv2+iSEaha0HeKra57naeVyeWZ2dvaErusX9u7d+1iv50rxKAjfD/HVNcdx5Pz8/F/pdNoMTij16iTEWfz/rfkAfpdSviWlPGfbtoUeD/TiCDF97oGbmqadFUJ8DmAJgAtAAOhpD8SHXXwisjRNOwfgrBDiBoBm8GgB8AIDhucEbDSKNmGIJKJvieikEOKqIrwDoB2I7w/VCdiKXb8e8YnoNynlSSnlBQBmsNtbivBq9NBQnYBeik9EDQDvCSE+CoTvRI2jCO/3Q/iB64A7iU9EtzRN+0IIcQbAn6vixlWEl+jziDryHXCXdY+ILhLRO0KISwDsNeJG3fF9f38gPoi7/t9lukpE7wshzgNoKHHT95yP9I3YPUTOCoAPiOgTIcSSsuNXx822Ch/ZDriD8B6AzzzPOwVgcY2c71zTS4ToveFIdUCX5wUR/SSlfNv3/R+VqOnEjVqwMmz/bzziu/4GEb0rhPgKwK2w5vzA3QcQ0RKAj4noUyFEZdX1fOhyfmA6gIgcIvqSiM74vn+9S85vy/X8oHcAEdF3UsrTvu9fAmCtMbcRgegSESI0Bkgpu42JF6WUJ6SUXyvCrx4fyCjETdQiyATwYTA+qEc556NgACnCN4noPBGd9n3/Gm4fE2/b3GagDSAiQUTfAzglhLjYZW4TyZy/E9v9BYbO94T1TCaz37btRSXbOzveDXZ85OMmjAZ0PheUDB7xQGAP2zSfHzYDOqcgFjw6HxlXM15igAnLd6jUDz/RIO943hAMwzAMwzAMwzAMwzAMwzAMwzAMwzAMwzBMH/gH4sBnDNMGrTEAAAAASUVORK5CYII=";const Ne=e=>((0,a.dD)("data-v-9b47a9ec"),e=e(),(0,a.Cn)(),e),Je=(0,a.Uk)(" ← "),Ve=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RECENT CHECKS",-1))),_e=Ne((()=>(0,a._)("hr",{class:"mb-4"},null,-1))),$e={key:1,class:"mt-12"},et=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"UPTIME",-1))),tt=Ne((()=>(0,a._)("hr",null,null,-1))),st={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},rt={class:"flex-1"},at=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1))),ot=["src"],nt={class:"flex-1"},it=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1))),lt=["src"],gt={class:"flex-1"},ht=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1))),ct=["src"],ut={key:2,class:"mt-12"},dt=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RESPONSE TIME",-1))),mt=Ne((()=>(0,a._)("hr",null,null,-1))),pt=["src"],At={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},vt={class:"flex-1"},ft=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1))),wt=["src"],yt={class:"flex-1"},xt=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1))),Tt=["src"],kt={class:"flex-1"},bt=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1))),It=["src"],Rt={key:3},St=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400 mt-4"},"EVENTS",-1))),Dt=Ne((()=>(0,a._)("hr",{class:"mb-4"},null,-1))),Ct={class:"p-3 my-4"},Bt={class:"text-lg"},Pt={key:0,src:Ze,alt:"Healthy",class:"border border-green-600 rounded-full opacity-75 bg-green-100 mr-2 inline",width:"26"},Et={key:1,src:je,alt:"Unhealthy",class:"border border-red-500 rounded-full opacity-75 bg-red-100 mr-2 inline",width:"26"},Ht={key:2,src:Le,alt:"Start",class:"border border-gray-500 rounded-full opacity-75 bg-gray-100 mr-2 inline",width:"26"},Ot={class:"flex mt-1 text-sm text-gray-400"},Ut={class:"flex-1 text-left pl-10"},zt={class:"flex-1 text-right"};function Mt(e,t,s,r,o,n){const i=(0,a.up)("router-link"),l=(0,a.up)("Service"),g=(0,a.up)("Pagination"),h=(0,a.up)("Settings");return(0,a.wg)(),(0,a.iD)(a.HY,null,[(0,a.Wm)(i,{to:"../",class:"absolute top-2 left-2 inline-block px-2 pb-0.5 text-lg text-black bg-gray-100 rounded hover:bg-gray-200 focus:outline-none border border-gray-200 dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},{default:(0,a.w5)((()=>[Je])),_:1}),(0,a._)("div",null,[o.serviceStatus?(0,a.WI)(e.$slots,"default",{key:0},(()=>[Ve,_e,(0,a.Wm)(l,{data:o.serviceStatus,maximumNumberOfResults:20,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,a.Wm)(g,{onPage:n.changePage},null,8,["onPage"])]),!0):(0,a.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,a.wg)(),(0,a.iD)("div",$e,[et,tt,(0,a._)("div",st,[(0,a._)("div",rt,[at,(0,a._)("img",{src:n.generateUptimeBadgeImageURL("7d"),alt:"7d uptime badge",class:"mx-auto"},null,8,ot)]),(0,a._)("div",nt,[it,(0,a._)("img",{src:n.generateUptimeBadgeImageURL("24h"),alt:"24h uptime badge",class:"mx-auto"},null,8,lt)]),(0,a._)("div",gt,[ht,(0,a._)("img",{src:n.generateUptimeBadgeImageURL("1h"),alt:"1h uptime badge",class:"mx-auto"},null,8,ct)])])])):(0,a.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,a.wg)(),(0,a.iD)("div",ut,[dt,mt,(0,a._)("img",{src:n.generateResponseTimeChartImageURL(),alt:"response time chart",class:"mt-6"},null,8,pt),(0,a._)("div",At,[(0,a._)("div",vt,[ft,(0,a._)("img",{src:n.generateResponseTimeBadgeImageURL("7d"),alt:"7d response time badge",class:"mx-auto mt-2"},null,8,wt)]),(0,a._)("div",yt,[xt,(0,a._)("img",{src:n.generateResponseTimeBadgeImageURL("24h"),alt:"24h response time badge",class:"mx-auto mt-2"},null,8,Tt)]),(0,a._)("div",kt,[bt,(0,a._)("img",{src:n.generateResponseTimeBadgeImageURL("1h"),alt:"1h response time badge",class:"mx-auto mt-2"},null,8,It)])])])):(0,a.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,a.wg)(),(0,a.iD)("div",Rt,[St,Dt,(0,a._)("div",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.events,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a._)("div",Ct,[(0,a._)("h2",Bt,["HEALTHY"===t.type?((0,a.wg)(),(0,a.iD)("img",Pt)):"UNHEALTHY"===t.type?((0,a.wg)(),(0,a.iD)("img",Et)):"START"===t.type?((0,a.wg)(),(0,a.iD)("img",Ht)):(0,a.kq)("",!0),(0,a.Uk)(" "+(0,b.zw)(t.fancyText),1)]),(0,a._)("div",Ot,[(0,a._)("div",Ut,(0,b.zw)(new Date(t.timestamp).toISOString()),1),(0,a._)("div",zt,(0,b.zw)(t.fancyTimeAgo),1)])])]),!0))),128))])])):(0,a.kq)("",!0)]),(0,a.Wm)(h,{onRefreshData:n.fetchData},null,8,["onRefreshData"])],64)}var Qt={name:"Details",components:{Pagination:Ke,Service:Ce,Settings:ae},emits:["showTooltip"],mixins:[Re],methods:{fetchData(){fetch(`${this.serverUrl}/api/v1/services/${this.$route.params.key}/statuses?page=${this.currentPage}`).then((e=>e.json())).then((e=>{if(JSON.stringify(this.serviceStatus)!==JSON.stringify(e)){this.serviceStatus=e,this.uptime=e.uptime;let t=[];for(let s=e.events.length-1;s>=0;s--){let r=e.events[s];if(s===e.events.length-1)"UNHEALTHY"===r.type?r.fancyText="Service is unhealthy":"HEALTHY"===r.type?r.fancyText="Service is healthy":"START"===r.type&&(r.fancyText="Monitoring started");else{let t=e.events[s+1];"HEALTHY"===r.type?r.fancyText="Service became healthy":"UNHEALTHY"===r.type?r.fancyText=t?"Service was unhealthy for "+this.prettifyTimeDifference(t.timestamp,r.timestamp):"Service became unhealthy":"START"===r.type&&(r.fancyText="Monitoring started")}r.fancyTimeAgo=this.generatePrettyTimeAgo(r.timestamp),t.push(r)}this.events=t}}))},generateUptimeBadgeImageURL(e){return`${this.serverUrl}/api/v1/services/${this.serviceStatus.key}/uptimes/${e}/badge.svg`},generateResponseTimeBadgeImageURL(e){return`${this.serverUrl}/api/v1/services/${this.serviceStatus.key}/response-times/${e}/badge.svg`},generateResponseTimeChartImageURL(){return`${this.serverUrl}/api/v1/services/${this.serviceStatus.key}/response-times/24h/chart.svg`},prettifyUptime(e){return e?(100*e).toFixed(2)+"%":"0%"},prettifyTimeDifference(e,t){let s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},changePage(e){this.currentPage=e,this.fetchData()},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.showAverageResponseTime=!this.showAverageResponseTime}},data(){return{serviceStatus:{},uptime:{},events:[],hourlyAverageResponseTime:{},serverUrl:"."===Ft?"..":Ft,currentPage:1,showAverageResponseTime:!0,chartLabels:[],chartValues:[]}},created(){this.fetchData()}};const Wt=(0,x.Z)(Qt,[["render",Mt],["__scopeId","data-v-9b47a9ec"]]);var Xt=Wt;const qt=[{path:"/",name:"Home",component:Ge},{path:"/services/:key",name:"Details",component:Xt}],Kt=(0,Y.p7)({history:(0,Y.PO)("/"),routes:qt});var Yt=Kt;const Ft=".";(0,r.ri)(K).use(Yt).mount("#app")}},t={};function s(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,r,a,o){if(!r){var n=1/0;for(h=0;h=o)&&Object.keys(s.O).every((function(e){return s.O[e](r[l])}))?r.splice(l--,1):(i=!1,o0&&e[h-1][2]>o;h--)e[h]=e[h-1];e[h]=[r,a,o]}}(),function(){s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,r){var a,o,n=r[0],i=r[1],l=r[2],g=0;if(n.some((function(t){return 0!==e[t]}))){for(a in i)s.o(i,a)&&(s.m[a]=i[a]);if(l)var h=l(s)}for(t&&t(r);g((0,a.dD)("data-v-a88161aa"),e=e(),(0,a.Cn)(),e),A={id:"social"},v=p((()=>(0,a._)("a",{href:"https://github.com/TwiN/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,a._)("img",{src:m,alt:"GitHub",width:"32",height:"auto"})],-1))),f=[v];function w(e,t,s,r,o,n){return(0,a.wg)(),(0,a.iD)("div",A,f)}var y={name:"Social"},x=s(744);const T=(0,x.Z)(y,[["render",w],["__scopeId","data-v-a88161aa"]]);var k=T,I=s(577);const b=(0,a._)("div",{class:"tooltip-title"},"Timestamp:",-1),R={id:"tooltip-timestamp"},S=(0,a._)("div",{class:"tooltip-title"},"Response time:",-1),D={id:"tooltip-response-time"},C=(0,a._)("div",{class:"tooltip-title"},"Conditions:",-1),B={id:"tooltip-conditions"},P=(0,a._)("br",null,null,-1),E={key:0,id:"tooltip-errors-container"},H=(0,a._)("div",{class:"tooltip-title"},"Errors:",-1),O={id:"tooltip-errors"},U=(0,a._)("br",null,null,-1);function z(e,t,s,r,o,n){return(0,a.wg)(),(0,a.iD)("div",{id:"tooltip",ref:"tooltip",class:(0,I.C_)(o.hidden?"invisible":""),style:(0,I.j5)("top:"+o.top+"px; left:"+o.left+"px")},[s.result?(0,a.WI)(e.$slots,"default",{key:0},(()=>[b,(0,a._)("code",R,(0,I.zw)(n.prettifyTimestamp(s.result.timestamp)),1),S,(0,a._)("code",D,(0,I.zw)((s.result.duration/1e6).toFixed(0))+"ms",1),C,(0,a._)("code",B,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.result.conditionResults,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Uk)((0,I.zw)(t.success?"✓":"X")+" ~ "+(0,I.zw)(t.condition),1),P])))),128))]),s.result.errors&&s.result.errors.length?((0,a.wg)(),(0,a.iD)("div",E,[H,(0,a._)("code",O,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.result.errors,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Uk)(" - "+(0,I.zw)(t),1),U])))),128))])])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)],6)}var M={name:"Services",props:{event:Event,result:Object},methods:{prettifyTimestamp(e){let t=new Date(e),s=t.getFullYear(),r=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),a=(t.getDate()<10?"0":"")+t.getDate(),o=(t.getHours()<10?"0":"")+t.getHours(),n=(t.getMinutes()<10?"0":"")+t.getMinutes(),i=(t.getSeconds()<10?"0":"")+t.getSeconds();return s+"-"+r+"-"+a+" "+o+":"+n+":"+i},htmlEntities(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},reposition(){if(this.event&&this.event.type)if("mouseenter"===this.event.type){let e=this.event.target.getBoundingClientRect().y+30,t=this.event.target.getBoundingClientRect().x,s=this.$refs.tooltip.getBoundingClientRect();t+window.scrollX+s.width+50>document.body.getBoundingClientRect().width&&(t=this.event.target.getBoundingClientRect().x-s.width+this.event.target.getBoundingClientRect().width,t<0&&(t+=-t)),e+window.scrollY+s.height+50>document.body.getBoundingClientRect().height&&e>=0&&(e=this.event.target.getBoundingClientRect().y-(s.height+10),e<0&&(e=this.event.target.getBoundingClientRect().y+30)),this.top=e,this.left=t}else"mouseleave"===this.event.type&&(this.hidden=!0)}},watch:{event:function(e){e&&e.type&&("mouseenter"===e.type?this.hidden=!1:"mouseleave"===e.type&&(this.hidden=!0))}},updated(){this.reposition()},created(){this.reposition()},data(){return{hidden:!0,top:0,left:0}}};const Q=(0,x.Z)(M,[["render",z]]);var W=Q,X={name:"App",components:{Social:k,Tooltip:W},methods:{showTooltip(e,t){this.tooltip={result:e,event:t}}},computed:{getLogo(){return window.config&&window.config.logo&&"{{ .Logo }}"!==window.config.logo?window.config.logo:""}},data(){return{tooltip:{}}}};const q=(0,x.Z)(X,[["render",d]]);var K=q,Y=s(119);function F(e,t,s,r,o,n){const i=(0,a.up)("Services"),l=(0,a.up)("Pagination"),g=(0,a.up)("Settings");return(0,a.wg)(),(0,a.iD)(a.HY,null,[(0,a.Wm)(i,{serviceStatuses:o.serviceStatuses,showStatusOnHover:!0,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["serviceStatuses","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,a.Wm)(l,{onPage:n.changePage},null,8,["onPage"]),(0,a.Wm)(g,{onRefreshData:n.fetchData},null,8,["onRefreshData"])],64)}const G={id:"settings",class:"flex bg-gray-200 border-gray-300 rounded border shadow dark:text-gray-200 dark:bg-gray-800 dark:border-gray-500"},Z=(0,a._)("div",{class:"text-xs text-gray-600 rounded-xl py-1 px-2 dark:text-gray-200"}," ↻ ",-1),j=["selected"],L=["selected"],N=["selected"],J=["selected"],V=["selected"],_=["selected"],$=(0,a.Uk)("☀"),ee=(0,a.Uk)("🌙");function te(e,t,s,r,o,n){return(0,a.wg)(),(0,a.iD)("div",G,[Z,(0,a._)("select",{class:"text-center text-gray-500 text-xs dark:text-gray-200 dark:bg-gray-800 border-r border-l border-gray-300 dark:border-gray-500",id:"refresh-rate",ref:"refreshInterval",onChange:t[0]||(t[0]=(...e)=>n.handleChangeRefreshInterval&&n.handleChangeRefreshInterval(...e))},[(0,a._)("option",{value:"10",selected:10===o.refreshInterval},"10s",8,j),(0,a._)("option",{value:"30",selected:30===o.refreshInterval},"30s",8,L),(0,a._)("option",{value:"60",selected:60===o.refreshInterval},"1m",8,N),(0,a._)("option",{value:"120",selected:120===o.refreshInterval},"2m",8,J),(0,a._)("option",{value:"300",selected:300===o.refreshInterval},"5m",8,V),(0,a._)("option",{value:"600",selected:600===o.refreshInterval},"10m",8,_)],544),(0,a._)("button",{onClick:t[1]||(t[1]=(...e)=>n.toggleDarkMode&&n.toggleDarkMode(...e)),class:"text-xs p-1"},[o.darkMode?(0,a.WI)(e.$slots,"default",{key:0},(()=>[$])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[ee]))])])}var se={name:"Settings",props:{},methods:{setRefreshInterval(e){sessionStorage.setItem("gatus:refresh-interval",e);let t=this;this.refreshIntervalHandler=setInterval((function(){t.refreshData()}),1e3*e)},refreshData(){this.$emit("refreshData")},handleChangeRefreshInterval(){this.refreshData(),clearInterval(this.refreshIntervalHandler),this.setRefreshInterval(this.$refs.refreshInterval.value)},toggleDarkMode(){"dark"===localStorage.theme?localStorage.theme="light":localStorage.theme="dark",this.applyTheme()},applyTheme(){"dark"===localStorage.theme||!("theme"in localStorage)&&window.matchMedia("(prefers-color-scheme: dark)").matches?(this.darkMode=!0,document.documentElement.classList.add("dark")):(this.darkMode=!1,document.documentElement.classList.remove("dark"))}},created(){10!==this.refreshInterval&&30!==this.refreshInterval&&60!==this.refreshInterval&&120!==this.refreshInterval&&300!==this.refreshInterval&&600!==this.refreshInterval&&(this.refreshInterval=60),this.setRefreshInterval(this.refreshInterval),this.applyTheme()},unmounted(){clearInterval(this.refreshIntervalHandler)},data(){return{refreshInterval:sessionStorage.getItem("gatus:refresh-interval")<10?60:parseInt(sessionStorage.getItem("gatus:refresh-interval")),refreshIntervalHandler:0,darkMode:!1}}};const re=(0,x.Z)(se,[["render",te]]);var ae=re;const oe={id:"results"};function ne(e,t,s,r,o,n){const i=(0,a.up)("ServiceGroup");return(0,a.wg)(),(0,a.iD)("div",oe,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.serviceGroups,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Wm)(i,{services:t.services,name:t.name,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["services","name","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])])))),128))])}const ie={class:"font-mono text-gray-400 text-xl font-medium pb-2 px-3 dark:text-gray-200 dark:hover:text-gray-500 dark:border-gray-500"},le={key:0,class:"text-green-600"},ge={key:1,class:"text-yellow-400"},he={class:"float-right service-group-arrow"};function ce(e,t,s,r,o,n){const i=(0,a.up)("Service");return(0,a.wg)(),(0,a.iD)("div",{class:(0,I.C_)(0===s.services.length?"mt-3":"mt-4")},["undefined"!==s.name?(0,a.WI)(e.$slots,"default",{key:0},(()=>[(0,a._)("div",{class:"service-group pt-2 border dark:bg-gray-800 dark:border-gray-500",onClick:t[0]||(t[0]=(...e)=>n.toggleGroup&&n.toggleGroup(...e))},[(0,a._)("h5",ie,[o.healthy?((0,a.wg)(),(0,a.iD)("span",le,"✓")):((0,a.wg)(),(0,a.iD)("span",ge,"~")),(0,a.Uk)(" "+(0,I.zw)(s.name)+" ",1),(0,a._)("span",he,(0,I.zw)(o.collapsed?"▼":"▲"),1)])])])):(0,a.kq)("",!0),o.collapsed?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",{key:1,class:(0,I.C_)("undefined"===s.name?"":"service-group-content")},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.services,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a.Wm)(i,{data:t,maximumNumberOfResults:20,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:s.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"])])))),128))],2))],2)}const ue={key:0,class:"service px-3 py-3 border-l border-r border-t rounded-none hover:bg-gray-100 dark:hover:bg-gray-700 dark:border-gray-500"},de={class:"flex flex-wrap mb-2"},me={class:"w-3/4"},pe={key:0,class:"text-gray-500 font-light"},Ae={class:"w-1/4 text-right"},ve=["title"],fe={class:"status-over-time flex flex-row"},we=["onMouseenter"],ye=["onMouseenter"],xe={class:"flex flex-wrap status-time-ago"},Te={class:"w-1/2"},ke={class:"w-1/2 text-right"},Ie=(0,a._)("div",{class:"w-1/2"}," ",-1);function be(e,t,s,r,o,n){const i=(0,a.up)("router-link");return s.data?((0,a.wg)(),(0,a.iD)("div",ue,[(0,a._)("div",de,[(0,a._)("div",me,[(0,a.Wm)(i,{to:n.generatePath(),class:"font-bold hover:text-blue-800 hover:underline dark:hover:text-blue-400",title:"View detailed service health"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,I.zw)(s.data.name),1)])),_:1},8,["to"]),s.data.results&&s.data.results.length&&s.data.results[s.data.results.length-1].hostname?((0,a.wg)(),(0,a.iD)("span",pe," | "+(0,I.zw)(s.data.results[s.data.results.length-1].hostname),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ae,[s.data.results&&s.data.results.length?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"font-light overflow-x-hidden cursor-pointer select-none",onClick:t[0]||(t[0]=(...e)=>n.toggleShowAverageResponseTime&&n.toggleShowAverageResponseTime(...e)),title:s.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},[s.showAverageResponseTime?(0,a.WI)(e.$slots,"default",{key:0},(()=>[(0,a.Uk)(" ~"+(0,I.zw)(o.averageResponseTime)+"ms ",1)])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[(0,a.Uk)((0,I.zw)(o.minResponseTime===o.maxResponseTime?o.minResponseTime:o.minResponseTime+"-"+o.maxResponseTime)+"ms ",1)]))],8,ve)):(0,a.kq)("",!0)])]),(0,a._)("div",null,[(0,a._)("div",fe,[s.data.results&&s.data.results.length?(0,a.WI)(e.$slots,"default",{key:0},(()=>[s.data.results.length[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.maximumNumberOfResults-s.data.results.length,(e=>((0,a.wg)(),(0,a.iD)("span",{key:e,class:"status rounded border border-dashed border-gray-400"}," ")))),128))])):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.data.results,(s=>(0,a.WI)(e.$slots,"default",{key:s},(()=>[s.success?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"status status-success rounded bg-success",onMouseenter:e=>n.showTooltip(s,e),onMouseleave:t[1]||(t[1]=e=>n.showTooltip(null,e))},null,40,we)):((0,a.wg)(),(0,a.iD)("span",{key:1,class:"status status-failure rounded bg-red-600",onMouseenter:e=>n.showTooltip(s,e),onMouseleave:t[2]||(t[2]=e=>n.showTooltip(null,e))},null,40,ye))])))),128))])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(s.maximumNumberOfResults,(e=>((0,a.wg)(),(0,a.iD)("span",{key:e,class:"status rounded border border-dashed border-gray-400"}," ")))),128))]))])]),(0,a._)("div",xe,[s.data.results&&s.data.results.length?(0,a.WI)(e.$slots,"default",{key:0},(()=>[(0,a._)("div",Te,(0,I.zw)(e.generatePrettyTimeAgo(s.data.results[0].timestamp)),1),(0,a._)("div",ke,(0,I.zw)(e.generatePrettyTimeAgo(s.data.results[s.data.results.length-1].timestamp)),1)])):(0,a.WI)(e.$slots,"default",{key:1},(()=>[Ie]))])])):(0,a.kq)("",!0)}const Re={methods:{generatePrettyTimeAgo(e){let t=(new Date).getTime()-new Date(e).getTime();if(t>36e5){let e=(t/36e5).toFixed(0);return e+" hour"+("1"!==e?"s":"")+" ago"}if(t>6e4){let e=(t/6e4).toFixed(0);return e+" minute"+("1"!==e?"s":"")+" ago"}return(t/1e3).toFixed(0)+" seconds ago"}}};var Se={name:"Service",props:{maximumNumberOfResults:Number,data:Object,showAverageResponseTime:Boolean},emits:["showTooltip","toggleShowAverageResponseTime"],mixins:[Re],methods:{updateMinAndMaxResponseTimes(){let e=null,t=null,s=0;for(let r in this.data.results){const a=parseInt((this.data.results[r].duration/1e6).toFixed(0));s+=a,(null==e||e>a)&&(e=a),(null==t||tn.nextPage&&n.nextPage(...e)),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},"<")):(0,a.kq)("",!0)]),(0,a._)("div",Qe,[o.currentPage>1?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:t[1]||(t[1]=(...e)=>n.previousPage&&n.previousPage(...e)),class:"bg-gray-100 hover:bg-gray-200 text-gray-500 border border-gray-200 px-2 rounded font-mono dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},">")):(0,a.kq)("",!0)])])}var Xe={name:"Pagination",components:{},emits:["page"],methods:{nextPage(){this.currentPage++,this.$emit("page",this.currentPage)},previousPage(){this.currentPage--,this.$emit("page",this.currentPage)}},data(){return{currentPage:1}}};const qe=(0,x.Z)(Xe,[["render",We]]);var Ke=qe,Ye={name:"Home",components:{Pagination:Ke,Services:Ue,Settings:ae},emits:["showTooltip","toggleShowAverageResponseTime"],methods:{fetchData(){fetch(`${Ft}/api/v1/services/statuses?page=${this.currentPage}`).then((e=>e.json())).then((e=>{JSON.stringify(this.serviceStatuses)!==JSON.stringify(e)&&(this.serviceStatuses=e)}))},changePage(e){this.currentPage=e,this.fetchData()},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.showAverageResponseTime=!this.showAverageResponseTime}},data(){return{serviceStatuses:[],currentPage:1,showAverageResponseTime:!0}},created(){this.fetchData()}};const Fe=(0,x.Z)(Ye,[["render",F]]);var Ge=Fe,Ze="data:image/png;base64,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",je="data:image/png;base64,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",Le="data:image/png;base64,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";const Ne=e=>((0,a.dD)("data-v-9b47a9ec"),e=e(),(0,a.Cn)(),e),Je=(0,a.Uk)(" ← "),Ve=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RECENT CHECKS",-1))),_e=Ne((()=>(0,a._)("hr",{class:"mb-4"},null,-1))),$e={key:1,class:"mt-12"},et=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"UPTIME",-1))),tt=Ne((()=>(0,a._)("hr",null,null,-1))),st={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},rt={class:"flex-1"},at=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1))),ot=["src"],nt={class:"flex-1"},it=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1))),lt=["src"],gt={class:"flex-1"},ht=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1))),ct=["src"],ut={key:2,class:"mt-12"},dt=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400"},"RESPONSE TIME",-1))),mt=Ne((()=>(0,a._)("hr",null,null,-1))),pt=["src"],At={class:"flex space-x-4 text-center text-2xl mt-6 relative bottom-2 mb-10"},vt={class:"flex-1"},ft=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 7 days",-1))),wt=["src"],yt={class:"flex-1"},xt=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last 24 hours",-1))),Tt=["src"],kt={class:"flex-1"},It=Ne((()=>(0,a._)("h2",{class:"text-sm text-gray-400 mb-1"},"Last hour",-1))),bt=["src"],Rt={key:3},St=Ne((()=>(0,a._)("h1",{class:"text-xl xl:text-3xl font-mono text-gray-400 mt-4"},"EVENTS",-1))),Dt=Ne((()=>(0,a._)("hr",{class:"mb-4"},null,-1))),Ct={class:"p-3 my-4"},Bt={class:"text-lg"},Pt={key:0,src:Ze,alt:"Healthy",class:"border border-green-600 rounded-full opacity-75 bg-green-100 mr-2 inline",width:"26"},Et={key:1,src:je,alt:"Unhealthy",class:"border border-red-500 rounded-full opacity-75 bg-red-100 mr-2 inline",width:"26"},Ht={key:2,src:Le,alt:"Start",class:"border border-gray-500 rounded-full opacity-75 bg-gray-100 mr-2 inline",width:"26"},Ot={class:"flex mt-1 text-sm text-gray-400"},Ut={class:"flex-1 text-left pl-10"},zt={class:"flex-1 text-right"};function Mt(e,t,s,r,o,n){const i=(0,a.up)("router-link"),l=(0,a.up)("Service"),g=(0,a.up)("Pagination"),h=(0,a.up)("Settings");return(0,a.wg)(),(0,a.iD)(a.HY,null,[(0,a.Wm)(i,{to:"../",class:"absolute top-2 left-2 inline-block px-2 pb-0.5 text-lg text-black bg-gray-100 rounded hover:bg-gray-200 focus:outline-none border border-gray-200 dark:bg-gray-700 dark:text-gray-200 dark:border-gray-500 dark:hover:bg-gray-600"},{default:(0,a.w5)((()=>[Je])),_:1}),(0,a._)("div",null,[o.serviceStatus?(0,a.WI)(e.$slots,"default",{key:0},(()=>[Ve,_e,(0,a.Wm)(l,{data:o.serviceStatus,maximumNumberOfResults:20,onShowTooltip:n.showTooltip,onToggleShowAverageResponseTime:n.toggleShowAverageResponseTime,showAverageResponseTime:o.showAverageResponseTime},null,8,["data","onShowTooltip","onToggleShowAverageResponseTime","showAverageResponseTime"]),(0,a.Wm)(g,{onPage:n.changePage},null,8,["onPage"])]),!0):(0,a.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,a.wg)(),(0,a.iD)("div",$e,[et,tt,(0,a._)("div",st,[(0,a._)("div",rt,[at,(0,a._)("img",{src:n.generateUptimeBadgeImageURL("7d"),alt:"7d uptime badge",class:"mx-auto"},null,8,ot)]),(0,a._)("div",nt,[it,(0,a._)("img",{src:n.generateUptimeBadgeImageURL("24h"),alt:"24h uptime badge",class:"mx-auto"},null,8,lt)]),(0,a._)("div",gt,[ht,(0,a._)("img",{src:n.generateUptimeBadgeImageURL("1h"),alt:"1h uptime badge",class:"mx-auto"},null,8,ct)])])])):(0,a.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,a.wg)(),(0,a.iD)("div",ut,[dt,mt,(0,a._)("img",{src:n.generateResponseTimeChartImageURL(),alt:"response time chart",class:"mt-6"},null,8,pt),(0,a._)("div",At,[(0,a._)("div",vt,[ft,(0,a._)("img",{src:n.generateResponseTimeBadgeImageURL("7d"),alt:"7d response time badge",class:"mx-auto mt-2"},null,8,wt)]),(0,a._)("div",yt,[xt,(0,a._)("img",{src:n.generateResponseTimeBadgeImageURL("24h"),alt:"24h response time badge",class:"mx-auto mt-2"},null,8,Tt)]),(0,a._)("div",kt,[It,(0,a._)("img",{src:n.generateResponseTimeBadgeImageURL("1h"),alt:"1h response time badge",class:"mx-auto mt-2"},null,8,bt)])])])):(0,a.kq)("",!0),o.serviceStatus&&o.serviceStatus.key?((0,a.wg)(),(0,a.iD)("div",Rt,[St,Dt,(0,a._)("div",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(o.events,(t=>(0,a.WI)(e.$slots,"default",{key:t},(()=>[(0,a._)("div",Ct,[(0,a._)("h2",Bt,["HEALTHY"===t.type?((0,a.wg)(),(0,a.iD)("img",Pt)):"UNHEALTHY"===t.type?((0,a.wg)(),(0,a.iD)("img",Et)):"START"===t.type?((0,a.wg)(),(0,a.iD)("img",Ht)):(0,a.kq)("",!0),(0,a.Uk)(" "+(0,I.zw)(t.fancyText),1)]),(0,a._)("div",Ot,[(0,a._)("div",Ut,(0,I.zw)(new Date(t.timestamp).toISOString()),1),(0,a._)("div",zt,(0,I.zw)(t.fancyTimeAgo),1)])])]),!0))),128))])])):(0,a.kq)("",!0)]),(0,a.Wm)(h,{onRefreshData:n.fetchData},null,8,["onRefreshData"])],64)}var Qt={name:"Details",components:{Pagination:Ke,Service:Ce,Settings:ae},emits:["showTooltip"],mixins:[Re],methods:{fetchData(){fetch(`${this.serverUrl}/api/v1/services/${this.$route.params.key}/statuses?page=${this.currentPage}`).then((e=>e.json())).then((e=>{if(JSON.stringify(this.serviceStatus)!==JSON.stringify(e)){this.serviceStatus=e,this.uptime=e.uptime;let t=[];for(let s=e.events.length-1;s>=0;s--){let r=e.events[s];if(s===e.events.length-1)"UNHEALTHY"===r.type?r.fancyText="Service is unhealthy":"HEALTHY"===r.type?r.fancyText="Service is healthy":"START"===r.type&&(r.fancyText="Monitoring started");else{let t=e.events[s+1];"HEALTHY"===r.type?r.fancyText="Service became healthy":"UNHEALTHY"===r.type?r.fancyText=t?"Service was unhealthy for "+this.prettifyTimeDifference(t.timestamp,r.timestamp):"Service became unhealthy":"START"===r.type&&(r.fancyText="Monitoring started")}r.fancyTimeAgo=this.generatePrettyTimeAgo(r.timestamp),t.push(r)}this.events=t}}))},generateUptimeBadgeImageURL(e){return`${this.serverUrl}/api/v1/services/${this.serviceStatus.key}/uptimes/${e}/badge.svg`},generateResponseTimeBadgeImageURL(e){return`${this.serverUrl}/api/v1/services/${this.serviceStatus.key}/response-times/${e}/badge.svg`},generateResponseTimeChartImageURL(){return`${this.serverUrl}/api/v1/services/${this.serviceStatus.key}/response-times/24h/chart.svg`},prettifyUptime(e){return e?(100*e).toFixed(2)+"%":"0%"},prettifyTimeDifference(e,t){let s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},changePage(e){this.currentPage=e,this.fetchData()},showTooltip(e,t){this.$emit("showTooltip",e,t)},toggleShowAverageResponseTime(){this.showAverageResponseTime=!this.showAverageResponseTime}},data(){return{serviceStatus:{},uptime:{},events:[],hourlyAverageResponseTime:{},serverUrl:"."===Ft?"..":Ft,currentPage:1,showAverageResponseTime:!0,chartLabels:[],chartValues:[]}},created(){this.fetchData()}};const Wt=(0,x.Z)(Qt,[["render",Mt],["__scopeId","data-v-9b47a9ec"]]);var Xt=Wt;const qt=[{path:"/",name:"Home",component:Ge},{path:"/services/:key",name:"Details",component:Xt}],Kt=(0,Y.p7)({history:(0,Y.PO)("/"),routes:qt});var Yt=Kt;const Ft=".";(0,r.ri)(K).use(Yt).mount("#app")}},t={};function s(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,s),o.exports}s.m=e,function(){var e=[];s.O=function(t,r,a,o){if(!r){var n=1/0;for(h=0;h=o)&&Object.keys(s.O).every((function(e){return s.O[e](r[l])}))?r.splice(l--,1):(i=!1,o0&&e[h-1][2]>o;h--)e[h]=e[h-1];e[h]=[r,a,o]}}(),function(){s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,r){var a,o,n=r[0],i=r[1],l=r[2],g=0;if(n.some((function(t){return 0!==e[t]}))){for(a in i)s.o(i,a)&&(s.m[a]=i[a]);if(l)var h=l(s)}for(t&&t(r);g