1
0
mirror of https://github.com/tormachris/cf-workers-status-page.git synced 2025-09-21 16:35:15 +02:00

refactor: switch css framework to tailwind

This commit is contained in:
Alex
2020-11-20 17:05:13 +01:00
parent 42f422c455
commit fb134bbf74
20 changed files with 1997 additions and 416 deletions

View File

@ -1,10 +1,6 @@
import config from '../../config.yaml'
import {
setKV,
getKVWithMetadata,
notifySlack,
} from './helpers'
import { setKV, getKVWithMetadata, notifySlack } from './helpers'
function getDate() {
return new Date().toISOString().split('T')[0]
@ -12,7 +8,10 @@ function getDate() {
export async function processCronTrigger(event) {
// Get monitors state from KV
let {value: monitorsState, metadata: monitorsStateMetadata} = await getKVWithMetadata('monitors_data', 'json')
let {
value: monitorsState,
metadata: monitorsStateMetadata,
} = await getKVWithMetadata('monitors_data', 'json')
// Create empty state objects if not exists in KV storage yet
if (!monitorsState) {
@ -28,7 +27,7 @@ export async function processCronTrigger(event) {
for (const monitor of config.monitors) {
// Create default monitor state if does not exist yet
if (typeof monitorsState[monitor.id] === 'undefined') {
monitorsState[monitor.id] = {failedDays: []}
monitorsState[monitor.id] = { failedDays: [] }
}
console.log(`Checking ${monitor.name} ...`)
@ -43,15 +42,22 @@ export async function processCronTrigger(event) {
}
const checkResponse = await fetch(monitor.url, init)
const monitorOperational = checkResponse.status === (monitor.expectStatus || 200)
const monitorOperational =
checkResponse.status === (monitor.expectStatus || 200)
// Send Slack message on monitor change
if (monitorsState[monitor.id].operational !== monitorOperational && typeof SECRET_SLACK_WEBHOOK_URL !== 'undefined' && SECRET_SLACK_WEBHOOK_URL !== 'default-gh-action-secret') {
event.waitUntil(notifySlack(monitor, monitorOperational))
if (
monitorsState[monitor.id].operational !== monitorOperational &&
typeof SECRET_SLACK_WEBHOOK_URL !== 'undefined' &&
SECRET_SLACK_WEBHOOK_URL !== 'default-gh-action-secret'
) {
event.waitUntil(notifySlack(monitor, monitorOperational))
}
monitorsState[monitor.id].operational = checkResponse.status === (monitor.expectStatus || 200)
monitorsState[monitor.id].firstCheck = monitorsState[monitor.id].firstCheck || getDate()
monitorsState[monitor.id].operational =
checkResponse.status === (monitor.expectStatus || 200)
monitorsState[monitor.id].firstCheck =
monitorsState[monitor.id].firstCheck || getDate()
// Set monitorsOperational and push current day to failedDays
if (!monitorOperational) {
@ -72,11 +78,15 @@ export async function processCronTrigger(event) {
const loc = res.headers.get('cf-ray').split('-')[1]
monitorsStateMetadata.lastUpdate = {
loc,
time: Date.now()
time: Date.now(),
}
// Save monitorsState and monitorsStateMetadata to KV storage
await setKV('monitors_data', JSON.stringify(monitorsState), monitorsStateMetadata)
await setKV(
'monitors_data',
JSON.stringify(monitorsState),
monitorsStateMetadata,
)
return new Response('OK')
}