Merge branch 'develop' into feat/incidents-clear

This commit is contained in:
Aryaman Sharma
2025-06-25 14:20:15 +05:30
committed by GitHub
28 changed files with 2295 additions and 1269 deletions

View File

@@ -11,6 +11,9 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Extract version from tag
id: extract_tag
run: echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
@@ -93,6 +96,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -119,12 +124,16 @@ jobs:
platforms: linux/amd64,linux/arm64
labels: |
org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate
build-args: |
VITE_APP_VERSION=${{ steps.extract_tag.outputs.version }}
docker-build-and-push-server-mono:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Extract version
id: extract_tag
@@ -143,6 +152,7 @@ jobs:
-t ghcr.io/bluewave-labs/checkmate-backend-mono:${{ steps.extract_tag.outputs.version }} \
-f ./docker/dist-mono/server.Dockerfile \
--label org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate \
--build-arg VITE_APP_VERSION=${{ steps.extract_tag.outputs.version }} \
.
- name: Push Server Docker image

View File

@@ -10,6 +10,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
@@ -18,12 +20,16 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version
id: vars
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
- name: Build Client Docker image
run: |
docker build \
-t ghcr.io/bluewave-labs/checkmate-client:latest \
-f ./docker/dist/client.Dockerfile \
--label org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate \
--build-arg VITE_APP_VERSION=${{ env.VERSION }} \
.
- name: Push Client Docker image
@@ -85,6 +91,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -96,6 +104,10 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version
id: vars
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
- name: Build and push multi-arch Docker image
uses: docker/build-push-action@v5
with:
@@ -107,12 +119,16 @@ jobs:
platforms: linux/amd64,linux/arm64
labels: |
org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate
build-args: |
VITE_APP_VERSION=${{ env.VERSION }}
docker-build-and-push-server-mono:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
@@ -121,12 +137,17 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version
id: vars
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
- name: Build Server Docker image
run: |
docker build \
-t ghcr.io/bluewave-labs/checkmate-backend-mono:latest \
-f ./docker/dist-mono/server.Dockerfile \
--label org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate \
--build-arg VITE_APP_VERSION=${{ env.VERSION }} \
.
- name: Push Server Docker image

View File

@@ -10,6 +10,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
@@ -18,12 +20,16 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version
id: vars
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
- name: Build Client Docker image
run: |
docker build \
-t ghcr.io/bluewave-labs/checkmate:frontend-demo \
-f ./docker/prod/client.Dockerfile \
--label org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate \
--build-arg VITE_APP_VERSION=${{ env.VERSION }} \
.
- name: Push Client Docker image

View File

@@ -10,6 +10,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
@@ -18,12 +20,16 @@ jobs:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get version
id: vars
run: echo "VERSION=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
- name: Build Client Docker image
run: |
docker build \
-t ghcr.io/bluewave-labs/checkmate:frontend-staging \
-f ./docker/staging/client.Dockerfile \
--label org.opencontainers.image.source=https://github.com/bluewave-labs/checkmate \
--build-arg VITE_APP_VERSION=${{ env.VERSION }} \
.
- name: Push Client Docker image

View File

@@ -0,0 +1,35 @@
import { Navigate } from "react-router-dom";
import { useSelector } from "react-redux";
import PropTypes from "prop-types";
/**
* ProtectedRoute is a wrapper component that ensures only authenticated users
* can access the wrapped content. It checks authentication status (e.g., from Redux or Context).
* If the user is authenticated, it renders the children; otherwise, it redirects to the login page.
*
* @param {Object} props - The props passed to the ProtectedRoute component.
* @param {React.ReactNode} props.children - The children to render if the user is authenticated.
* @returns {React.ReactElement} The children wrapped in a protected route or a redirect to the login page.
*/
const RoleProtectedRoute = ({ roles, children }) => {
const authState = useSelector((state) => state.auth);
const userRoles = authState?.user?.role || [];
const canAccess = userRoles.some((role) => roles.includes(role));
return canAccess ? (
children
) : (
<Navigate
to="/uptime"
replace
/>
);
};
RoleProtectedRoute.propTypes = {
children: PropTypes.element.isRequired,
roles: PropTypes.array,
};
export default RoleProtectedRoute;

View File

@@ -49,6 +49,8 @@ import { useDispatch, useSelector } from "react-redux";
import { useTranslation } from "react-i18next";
import { clearAuthState } from "../../Features/Auth/authSlice";
import { toggleSidebar } from "../../Features/UI/uiSlice";
import { TurnedIn } from "@mui/icons-material";
import { rules } from "eslint-plugin-react-refresh";
const getMenu = (t) => [
{ name: t("menu.uptime"), path: "uptime", icon: <Monitors /> },
@@ -121,7 +123,6 @@ function Sidebar() {
const { t } = useTranslation();
const authState = useSelector((state) => state.auth);
const menu = getMenu(t);
const otherMenuItems = getOtherMenuItems(t);
const accountMenuItems = getAccountMenuItems(t);
const collapsed = useSelector((state) => state.ui.sidebar.collapsed);
@@ -133,6 +134,13 @@ function Sidebar() {
const sidebarRef = useRef(null);
const [sidebarReady, setSidebarReady] = useState(false);
const TRANSITION_DURATION = 200;
let menu = getMenu(t);
menu = menu.filter((item) => {
if (item.path === "logs") {
return user.role?.includes("admin") || user.role?.includes("superadmin");
}
return true;
});
useEffect(() => {
if (!collapsed) {

View File

@@ -168,7 +168,7 @@ const TeamPanel = () => {
});
} catch (error) {
createToast({
body: error.message || "Unknown error.",
body: error?.response?.data?.msg || error.message || "Unknown error.",
});
} finally {
setIsSendingInvite(false);
@@ -268,7 +268,7 @@ const TeamPanel = () => {
value={toInvite.email}
onChange={handleChange}
error={errors.email ? true : false}
helperText={errors.email}
helperText={t(errors.email)}
/>
<Select
id="team-member-role"

View File

@@ -48,6 +48,7 @@ import Settings from "../Pages/Settings";
import Maintenance from "../Pages/Maintenance";
import ProtectedRoute from "../Components/ProtectedRoute";
import RoleProtectedRoute from "../Components/RoleProtectedRoute";
import CreateNewMaintenanceWindow from "../Pages/Maintenance/CreateMaintenance";
import withAdminCheck from "../Components/HOC/withAdminCheck";
import BulkImport from "../Pages/Uptime/BulkImport";
@@ -190,7 +191,11 @@ const Routes = () => {
<Route
path="logs"
element={<Logs />}
element={
<RoleProtectedRoute roles={["admin", "superadmin"]}>
<Logs />
</RoleProtectedRoute>
}
/>
</Route>

View File

@@ -3,38 +3,11 @@
"title": "",
"distributedStatusHeaderText": "",
"distributedStatusSubHeaderText": "",
"settingsGeneralSettings": "",
"settingsDisplayTimezone": "",
"settingsDisplayTimezoneDescription": "",
"settingsAppearance": "",
"settingsAppearanceDescription": "",
"settingsThemeMode": "",
"settingsLanguage": "",
"settingsEnabled": "",
"settingsDisabled": "",
"settingsHistoryAndMonitoring": "",
"settingsHistoryAndMonitoringDescription": "",
"settingsTTLLabel": "",
"settingsTTLOptionalLabel": "",
"settingsClearAllStats": "",
"settingsClearAllStatsButton": "",
"settingsClearAllStatsDialogTitle": "",
"settingsClearAllStatsDialogDescription": "",
"settingsClearAllStatsDialogConfirm": "",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "",
"settingsDevelopedBy": "",
"settingsSave": "",
"settingsSuccessSaved": "",
"settingsFailedToSave": "",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
@@ -360,16 +333,10 @@
"noFileSelected": "",
"fallbackPage": ""
},
"settingsSystemReset": "",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "",
"DeleteAccountButton": "",
"publicLink": "",
"maskedPageSpeedKeyPlaceholder": "",
"pageSpeedApiKeyFieldTitle": "",
"pageSpeedApiKeyFieldLabel": "",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "",
"team": "",
"logOut": "",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "",
"settingsEmailDescription": "",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "",
"state": "",
"statusBreadCrumbsStatusPages": "",
"statusBreadCrumbsDetails": "",
"settingsThemeModeLight": "",
"settingsThemeModeDark": "",
"settingsClearAllStatsDialogCancel": "",
"commonSaving": "",
"navControls": "",
"incidentsPageTitle": "",
@@ -461,26 +419,18 @@
"passwordRequirements": "",
"saving": ""
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "",
"distributedStatusHeaderText": "",
"distributedStatusSubHeaderText": "",
"settingsGeneralSettings": "Obecná nastavení",
"settingsDisplayTimezone": "",
"settingsDisplayTimezoneDescription": "",
"settingsAppearance": "Vzhled",
"settingsAppearanceDescription": "",
"settingsThemeMode": "",
"settingsLanguage": "Jazyk",
"settingsEnabled": "Zapnuto",
"settingsDisabled": "Vypnuto",
"settingsHistoryAndMonitoring": "Historie a monitorování",
"settingsHistoryAndMonitoringDescription": "",
"settingsTTLLabel": "",
"settingsTTLOptionalLabel": "",
"settingsClearAllStats": "",
"settingsClearAllStatsButton": "",
"settingsClearAllStatsDialogTitle": "",
"settingsClearAllStatsDialogDescription": "",
"settingsClearAllStatsDialogConfirm": "",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "",
"settingsDevelopedBy": "Vyvinuto společností Bluewave Labs.",
"settingsSave": "Uložit",
"settingsSuccessSaved": "Nastavení bylo úspěšně uloženo",
"settingsFailedToSave": "Nepodařilo se uložit nastavení",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
@@ -360,16 +333,10 @@
"noFileSelected": "",
"fallbackPage": ""
},
"settingsSystemReset": "",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "",
"DeleteAccountButton": "",
"publicLink": "",
"maskedPageSpeedKeyPlaceholder": "",
"pageSpeedApiKeyFieldTitle": "",
"pageSpeedApiKeyFieldLabel": "",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "",
"team": "",
"logOut": "",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "",
"settingsEmailDescription": "",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "",
"state": "",
"statusBreadCrumbsStatusPages": "",
"statusBreadCrumbsDetails": "",
"settingsThemeModeLight": "",
"settingsThemeModeDark": "",
"settingsClearAllStatsDialogCancel": "",
"commonSaving": "",
"navControls": "",
"incidentsPageTitle": "",
@@ -461,26 +419,18 @@
"passwordRequirements": "",
"saving": ""
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,57 +3,30 @@
"title": "Titel",
"distributedStatusHeaderText": "",
"distributedStatusSubHeaderText": "",
"settingsGeneralSettings": "Einstellungen",
"settingsDisplayTimezone": "Zeitzone anzeigen",
"settingsDisplayTimezoneDescription": "",
"settingsAppearance": "",
"settingsAppearanceDescription": "",
"settingsThemeMode": "Theme modus",
"settingsLanguage": "Sprache",
"settingsEnabled": "Aktiv",
"settingsDisabled": "",
"settingsHistoryAndMonitoring": "",
"settingsHistoryAndMonitoringDescription": "",
"settingsTTLLabel": "",
"settingsTTLOptionalLabel": "",
"settingsClearAllStats": "",
"settingsClearAllStatsButton": "",
"settingsClearAllStatsDialogTitle": "",
"settingsClearAllStatsDialogDescription": "",
"settingsClearAllStatsDialogConfirm": "",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "",
"settingsDevelopedBy": "",
"settingsSave": "",
"settingsSuccessSaved": "",
"settingsFailedToSave": "",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsDisabled": "Inaktiv",
"settingsSuccessSaved": "Einstellungen erfolgreich gespeichert",
"settingsFailedToSave": "Fehler beim Speichern der Einstellungen",
"settingsStatsCleared": "Statistiken gelöscht",
"settingsFailedToClearStats": "Fehler beim löschen der Statistiken",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
"starPromptTitle": "",
"starPromptDescription": "",
"https": "",
"http": "",
"https": "HTTPS",
"http": "HTTP",
"monitor": "",
"aboutus": "",
"now": "",
"delete": "",
"configure": "",
"responseTime": "",
"ms": "",
"aboutus": "Über uns",
"now": "Jetzt",
"delete": "Löschen",
"configure": "Einstellungen",
"responseTime": "Antwortzeit",
"ms": "ms",
"bar": "",
"area": "",
"country": "",
"city": "",
"response": "",
"country": "Land",
"city": "Stadt",
"response": "Antwort",
"monitorStatusUp": "",
"monitorStatusDown": "",
"webhookSendSuccess": "",
@@ -67,7 +40,7 @@
"distributedUptimeCreateChecksDescription": "",
"distributedUptimeCreateIncidentNotification": "",
"distributedUptimeCreateIncidentDescription": "",
"distributedUptimeCreateAdvancedSettings": "",
"distributedUptimeCreateAdvancedSettings": "Erweiterte Einstellungen",
"distributedUptimeDetailsNoMonitorHistory": "",
"distributedUptimeDetailsStatusHeaderUptime": "",
"distributedUptimeDetailsStatusHeaderLastUpdate": "",
@@ -76,33 +49,33 @@
"testNotification": "",
"addOrEditNotifications": "",
"slack": {
"label": "",
"label": "Slack",
"description": "",
"webhookLabel": "",
"webhookLabel": "Webhook URL",
"webhookPlaceholder": "",
"webhookRequired": ""
},
"discord": {
"label": "",
"label": "Discord",
"description": "",
"webhookLabel": "",
"webhookLabel": "Discord Webhook URL",
"webhookPlaceholder": "",
"webhookRequired": ""
},
"telegram": {
"label": "",
"label": "Telegram",
"description": "",
"tokenLabel": "",
"tokenPlaceholder": "",
"tokenPlaceholder": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"chatIdLabel": "",
"chatIdPlaceholder": "",
"chatIdPlaceholder": "-1001234567890",
"fieldsRequired": ""
},
"webhook": {
"label": "",
"label": "Webhooks",
"description": "",
"urlLabel": "",
"urlPlaceholder": "",
"urlLabel": "Webhook URL",
"urlPlaceholder": "https://your-server.com/webhook",
"urlRequired": ""
},
"testNotificationDevelop": "",
@@ -151,14 +124,14 @@
"distributedUptimeStatusLogoUploadButton": "",
"distributedUptimeStatusStandardMonitorsHeader": "",
"distributedUptimeStatusStandardMonitorsDescription": "",
"distributedUptimeStatusCreateYour": "",
"distributedUptimeStatusEditYour": "",
"distributedUptimeStatusCreateYour": "Erstelle Dein",
"distributedUptimeStatusEditYour": "Ändere Dein",
"distributedUptimeStatusPublishedLabel": "",
"distributedUptimeStatusCompanyNameLabel": "",
"distributedUptimeStatusCompanyNameLabel": "Firmenname",
"distributedUptimeStatusPageAddressLabel": "",
"distributedUptimeStatus30Days": "",
"distributedUptimeStatus60Days": "",
"distributedUptimeStatus90Days": "",
"distributedUptimeStatus30Days": "30 Tage",
"distributedUptimeStatus60Days": "60 Tage",
"distributedUptimeStatus90Days": "90 Tage",
"distributedUptimeStatusPageNotSetUp": "",
"distributedUptimeStatusContactAdmin": "",
"distributedUptimeStatusPageNotPublic": "",
@@ -360,16 +333,10 @@
"noFileSelected": "",
"fallbackPage": ""
},
"settingsSystemReset": "",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "",
"DeleteAccountButton": "",
"publicLink": "",
"maskedPageSpeedKeyPlaceholder": "",
"pageSpeedApiKeyFieldTitle": "",
"pageSpeedApiKeyFieldLabel": "",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "",
"team": "",
"logOut": "",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "",
"settingsEmailDescription": "",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "",
"state": "",
"statusBreadCrumbsStatusPages": "",
"statusBreadCrumbsDetails": "",
"settingsThemeModeLight": "",
"settingsThemeModeDark": "",
"settingsClearAllStatsDialogCancel": "",
"commonSaving": "",
"navControls": "",
"incidentsPageTitle": "",
@@ -461,26 +419,18 @@
"passwordRequirements": "",
"saving": ""
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -3,38 +3,11 @@
"title": "Titulo",
"distributedStatusHeaderText": "",
"distributedStatusSubHeaderText": "",
"settingsGeneralSettings": "",
"settingsDisplayTimezone": "",
"settingsDisplayTimezoneDescription": "",
"settingsAppearance": "",
"settingsAppearanceDescription": "",
"settingsThemeMode": "",
"settingsLanguage": "",
"settingsEnabled": "",
"settingsDisabled": "",
"settingsHistoryAndMonitoring": "",
"settingsHistoryAndMonitoringDescription": "",
"settingsTTLLabel": "",
"settingsTTLOptionalLabel": "",
"settingsClearAllStats": "",
"settingsClearAllStatsButton": "",
"settingsClearAllStatsDialogTitle": "",
"settingsClearAllStatsDialogDescription": "",
"settingsClearAllStatsDialogConfirm": "",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "",
"settingsDevelopedBy": "",
"settingsSave": "",
"settingsSuccessSaved": "",
"settingsFailedToSave": "",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
@@ -360,16 +333,10 @@
"noFileSelected": "",
"fallbackPage": ""
},
"settingsSystemReset": "",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "",
"DeleteAccountButton": "",
"publicLink": "",
"maskedPageSpeedKeyPlaceholder": "",
"pageSpeedApiKeyFieldTitle": "",
"pageSpeedApiKeyFieldLabel": "",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "",
"team": "",
"logOut": "",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "",
"settingsEmailDescription": "",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "",
"state": "",
"statusBreadCrumbsStatusPages": "",
"statusBreadCrumbsDetails": "",
"settingsThemeModeLight": "",
"settingsThemeModeDark": "",
"settingsClearAllStatsDialogCancel": "",
"commonSaving": "",
"navControls": "",
"incidentsPageTitle": "",
@@ -461,26 +419,18 @@
"passwordRequirements": "",
"saving": ""
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "Otsikko",
"distributedStatusHeaderText": "Reaaliaikainen kattavuus oikeilla laitteilla",
"distributedStatusSubHeaderText": "Miljoonien laitteiden voimin ympäri maailman näet järjestelmän suorituskyvyn maailman alueittain, maittain tai kaupungeittain",
"settingsGeneralSettings": "Yleiset asetukset",
"settingsDisplayTimezone": "Näytä aikavyöhyke",
"settingsDisplayTimezoneDescription": "Valitse sovelluksessa käytettävä aikavyöhyke päivämäärien ja aikojen näyttämiseen.",
"settingsAppearance": "Ulkonäkö",
"settingsAppearanceDescription": "Vaihda teema vaaleaksi tai tummaksi tai vaihda käyttöliittymän kieli",
"settingsThemeMode": "Teematila",
"settingsLanguage": "Kieli",
"settingsEnabled": "Käytössä",
"settingsDisabled": "Poistettu käytöstä",
"settingsHistoryAndMonitoring": "Valvonnan historia",
"settingsHistoryAndMonitoringDescription": "Määritä, kuinka pitkään haluat säilyttää historiallisia tietoja. Voit myös tyhjentää kaikki olemassa olevat tiedot.",
"settingsTTLLabel": "Kuinka monta päivää haluat säilyttää valvontahistorian.",
"settingsTTLOptionalLabel": "0 on ääretön",
"settingsClearAllStats": "Tyhjennä kaikki tilastot. Tämä on peruuttamaton.",
"settingsClearAllStatsButton": "Tyhjennä kaikki tilastot",
"settingsClearAllStatsDialogTitle": "Haluatko tyhjentää kaikki tilastot?",
"settingsClearAllStatsDialogDescription": "Kun valvontahistoria ja tilastot on poistettu, niitä ei voi palauttaa.",
"settingsClearAllStatsDialogConfirm": "",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "Tietoja",
"settingsDevelopedBy": "Kehittänyt Bluewave Labs.",
"settingsSave": "Tallenna",
"settingsSuccessSaved": "",
"settingsFailedToSave": "",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
@@ -360,16 +333,10 @@
"noFileSelected": "Ei valittua tiedostoa",
"fallbackPage": ""
},
"settingsSystemReset": "Järjestelmän palautus",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "Poista tili",
"DeleteAccountButton": "Poista tili",
"publicLink": "Julkinen linkki",
"maskedPageSpeedKeyPlaceholder": "*************************************",
"pageSpeedApiKeyFieldTitle": "Google PageSpeed API-avain",
"pageSpeedApiKeyFieldLabel": "PageSpeed API-avain",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "Palauta",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "Salasana",
"team": "Tiimi",
"logOut": "Kirjaudu ulos",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "Sähköpostiasetukset",
"settingsEmailDescription": "Määritä sähköpostiasetukset",
"settingsEmailHost": "",
"settingsEmailPort": "Sähköpostin portti - Portti johon yhdistetään",
"settingsEmailAddress": "Sähköpostiosoite - Käytetään tunnistautumiseen",
"settingsEmailPassword": "Sähköpostin salasana - Salasana tunnistautumiseen",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "Salasana on asetettu. Paina Palauta vaihtaaksesi sen.",
"state": "Tila",
"statusBreadCrumbsStatusPages": "Tilasivut",
"statusBreadCrumbsDetails": "Tiedot",
"settingsThemeModeLight": "Vaalea",
"settingsThemeModeDark": "Tumma",
"settingsClearAllStatsDialogCancel": "Peruuta",
"commonSaving": "Tallennetaan...",
"navControls": "Ohjaimet",
"incidentsPageTitle": "Häiriöt",
@@ -461,26 +419,18 @@
"passwordRequirements": "Uuden salasanan on oltava vähintään 8 merkkiä pitkä ja sen on sisältävä vähintään yksi iso kirjain, yksi pieni kirjain, yksi numero sekä yksi erikoismerkki.",
"saving": "Tallennetaan..."
},
"settingsEmailConnectionHost": "",
"emailSent": "Sähköpostin lähetys onnistui",
"failedToSendEmail": "Sähköpostin lähetys epäonnistui",
"settingsTestEmail": "Lähetä testi sähköposti",
"settingsTestEmailSuccess": "Testisähköpostin lähetys onnistui",
"settingsTestEmailFailed": "Testisähköpostin lähetys epäonnistui",
"settingsTestEmailFailedWithReason": "Testisähköpostin lähetys epäonnistui: {{reason}}",
"settingsTestEmailUnknownError": "Tuntematon virhe",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "Valvonta on keskeytetty.",
"up": "Sivusi on ylhäällä.",
"down": "Sivusi on alhaalla.",
"pending": "Odottaa..."
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "Titre",
"distributedStatusHeaderText": "",
"distributedStatusSubHeaderText": "",
"settingsGeneralSettings": "Paramètres généraux",
"settingsDisplayTimezone": "Fuseau horaire d'affichage",
"settingsDisplayTimezoneDescription": "Le fuseau horaire du tableau de bord que vous affichez publiquement.",
"settingsAppearance": "Apparence",
"settingsAppearanceDescription": "",
"settingsThemeMode": "",
"settingsLanguage": "Langue",
"settingsEnabled": "Activé",
"settingsDisabled": "Désactivé",
"settingsHistoryAndMonitoring": "",
"settingsHistoryAndMonitoringDescription": "",
"settingsTTLLabel": "",
"settingsTTLOptionalLabel": "0 pour infini",
"settingsClearAllStats": "Effacer les stats. C'est irréversible.",
"settingsClearAllStatsButton": "Effacer les stats",
"settingsClearAllStatsDialogTitle": "Voulez-vous effacer toutes les stats ?",
"settingsClearAllStatsDialogDescription": "",
"settingsClearAllStatsDialogConfirm": "Oui, effacer les stats",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "",
"settingsDevelopedBy": "",
"settingsSave": "",
"settingsSuccessSaved": "",
"settingsFailedToSave": "",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
@@ -360,16 +333,10 @@
"noFileSelected": "",
"fallbackPage": ""
},
"settingsSystemReset": "",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "Supprimer le compte",
"DeleteAccountButton": "Supprimer le compte",
"publicLink": "",
"maskedPageSpeedKeyPlaceholder": "",
"pageSpeedApiKeyFieldTitle": "",
"pageSpeedApiKeyFieldLabel": "",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "",
"team": "",
"logOut": "Déconnexion",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "Email",
"settingsEmailDescription": "",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "",
"state": "",
"statusBreadCrumbsStatusPages": "",
"statusBreadCrumbsDetails": "",
"settingsThemeModeLight": "Clair",
"settingsThemeModeDark": "Sombre",
"settingsClearAllStatsDialogCancel": "Annuler",
"commonSaving": "Sauvegarde...",
"navControls": "",
"incidentsPageTitle": "Incidents",
@@ -461,26 +419,18 @@
"passwordRequirements": "Le nouveau mot de passe doit contenir au moins 8 caractères et au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial.",
"saving": "Sauvegarde..."
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "Erreur inconnue",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "Título",
"distributedStatusHeaderText": "Cobertura em tempo real e em dispositivos reais",
"distributedStatusSubHeaderText": "Impulsionado por milhões de dispositivos em todo o mundo, visualize o desempenho do sistema por região global, país ou cidade",
"settingsGeneralSettings": "Configurações gerais",
"settingsDisplayTimezone": "Fuso horário",
"settingsDisplayTimezoneDescription": "Selecione o fuso horário usado para exibir datas e horas em todo o aplicativo.",
"settingsAppearance": "Aparência",
"settingsAppearanceDescription": "Alterne entre o modo claro e escuro ou altere o idioma da interface do usuário",
"settingsThemeMode": "Tema",
"settingsLanguage": "Linguagem",
"settingsEnabled": "Habilitado",
"settingsDisabled": "Desabilitado",
"settingsHistoryAndMonitoring": "Histórico de monitoramento",
"settingsHistoryAndMonitoringDescription": "Defina por quanto tempo você deseja manter os dados de histórico. Você também pode limpar todos os dados existentes.",
"settingsTTLLabel": "Os dias em que você deseja manter os dados de histórico.",
"settingsTTLOptionalLabel": "0 para infinito",
"settingsClearAllStats": "Limpe todas as estatísticas. Isso é irreversível.",
"settingsClearAllStatsButton": "Limpar todas as estatísticas",
"settingsClearAllStatsDialogTitle": "Você quer limpar todas as estatísticas?",
"settingsClearAllStatsDialogDescription": "Uma vez limpo, o histórico de monitoramento e as estatísticas não podem ser recuperados.",
"settingsClearAllStatsDialogConfirm": "Sim, limpar todas as estatísticas",
"settingsDemoMonitors": "Monitores de demonstração",
"settingsDemoMonitorsDescription": "Adicione monitores de genéricos para fins de demonstração.",
"settingsAddDemoMonitorsButton": "Adicionar monitores de demonstração",
"settingsRemoveAllMonitorsButton": "Remover todos os monitores",
"settingsRemoveAllMonitorsDialogTitle": "Você deseja remover todos os monitores?",
"settingsRemoveAllMonitorsDialogConfirm": "Sim, remova todos os monitores",
"settingsAbout": "Sobre",
"settingsDevelopedBy": "Desenvolvido pela Bluewave Labs.",
"settingsSave": "Salvar",
"settingsSuccessSaved": "Configurações salvas com sucesso",
"settingsFailedToSave": "Falha ao salvar as configurações",
"settingsStatsCleared": "Estatísticas limpas com sucesso",
"settingsFailedToClearStats": "Falha ao limpar estatísticas",
"settingsDemoMonitorsAdded": "Monitores de demonstração adicionados com sucesso",
"settingsFailedToAddDemoMonitors": "Falha ao adicionar monitores de demonstração",
"settingsMonitorsDeleted": "Todos os monitores foram excluídos com sucesso",
"settingsFailedToDeleteMonitors": "Falha ao excluir todos os monitores",
@@ -310,7 +283,6 @@
"statusPageCreateTabsContentFeaturesDescription": "Mostrar mais detalhes na página de status",
"showCharts": "Mostrar gráficos",
"showUptimePercentage": "Mostrar porcentagem de Uptime",
"showAdminLoginLink": "Mostrar o link \"Administrador? Efetue login aqui\" na página de status",
"removeLogo": "Remover logo",
"statusPageStatus": "Uma página de status pública não está configurada.",
"statusPageStatusContactAdmin": "Entre em contato com seu administrador",
@@ -361,16 +333,10 @@
"noFileSelected": "Nenhum arquivo selecionado",
"fallbackPage": "Importe um arquivo para enviar uma lista de servidores em massa"
},
"settingsSystemReset": "Resetar sistema",
"settingsSystemResetDescription": "Remova todos os monitores do seu sistema.",
"DeleteAccountTitle": "Remover conta",
"DeleteAccountButton": "Remover conta",
"publicLink": "Link publico",
"maskedPageSpeedKeyPlaceholder": "*************************************",
"pageSpeedApiKeyFieldTitle": "Google PageSpeed API key",
"pageSpeedApiKeyFieldLabel": "PageSpeed API key",
"pageSpeedApiKeyFieldDescription": "Insira sua chave da API do Google PageSpeed para ativar o monitoramento de velocidade de página. Clique em Resetar para atualizar a chave.",
"pageSpeedApiKeyFieldResetLabel": "A chave de API está definida. Clique em Resetar para alterá-la.",
"reset": "Resetar",
"ignoreTLSError": "Ignorar erro TLS/SSL",
"tlsErrorIgnored": "Erros TLS/SSL ignorados",
@@ -432,22 +398,13 @@
"password": "Senha",
"team": "Equipe",
"logOut": "Sair",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "E-mail",
"settingsEmailDescription": "Configurações de e-mail do seu sistema. Elas são usadas para enviar notificações e alertas.",
"settingsEmailHost": "Host de e-mail - Nome do host ou endereço IP do servidor SMTP",
"settingsEmailPort": "Porta de e-mail - Porta para conectar",
"settingsEmailAddress": "Endereço de e-mail - Usado para autenticação",
"settingsEmailPassword": "Senha de e-mail - Senha para autenticação",
"settingsEmailUser": "Usuário de e-mail - Nome de usuário para autenticação, substitui o endereço de e-mail, se especificado",
"settingsEmailFieldResetLabel": "A senha foi definida. Clique em Redefinir para alterá-la.",
"state": "Estado",
"statusBreadCrumbsStatusPages": "Pagina de status",
"statusBreadCrumbsDetails": "Detalhes",
"settingsThemeModeLight": "Claro",
"settingsThemeModeDark": "Escuro",
"settingsClearAllStatsDialogCancel": "Cancelar",
"commonSaving": "Salvando...",
"navControls": "Controles",
"incidentsPageTitle": "Incidentes",
@@ -462,26 +419,18 @@
"passwordRequirements": "A nova senha deve conter pelo menos 8 caracteres e deve ter pelo menos uma letra maiúscula, uma letra minúscula, um número e um caractere especial.",
"saving": "Salvando..."
},
"settingsEmailConnectionHost": "Host de conexão de e-mail - Nome do host a ser usado na saudação HELO/EHLO",
"emailSent": "E-mail enviado com sucesso",
"failedToSendEmail": "Falha ao enviar e-mail",
"settingsTestEmail": "Enviar e-mail de teste",
"settingsTestEmailSuccess": "E-mail de teste enviado com sucesso",
"settingsTestEmailFailed": "Falha ao enviar e-mail de teste",
"settingsTestEmailFailedWithReason": "Falha ao enviar e-mail de teste: {{reason}}",
"settingsTestEmailUnknownError": "Erro desconhecido",
"settingsEmailRequiredFields": "O host e a porta do e-mail são obrigatórios",
"statusMsg": {
"paused": "O monitoramento está pausado.",
"up": "Seu site está no ar.",
"down": "Seu site está fora do ar.",
"pending": "Pendente..."
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -740,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "Название",
"distributedStatusHeaderText": "Охват реального времени и реального устройства",
"distributedStatusSubHeaderText": "Работает на миллионах устройств по всему миру, просматривайте производительность системы по глобальному региону, стране или городу",
"settingsGeneralSettings": "Общие настройки",
"settingsDisplayTimezone": "Отображать часовой пояс",
"settingsDisplayTimezoneDescription": "Часовой пояс панели мониторинга, которую вы публично отображаете.",
"settingsAppearance": "Внешний вид",
"settingsAppearanceDescription": "Переключение между светлым и темным режимом или изменение языка пользовательского интерфейса",
"settingsThemeMode": "Тема",
"settingsLanguage": "Язык",
"settingsEnabled": "Включено",
"settingsDisabled": "Выключено",
"settingsHistoryAndMonitoring": "История и мониторинг",
"settingsHistoryAndMonitoringDescription": "Определите здесь, как долго вы хотите хранить данные. Вы также можете удалить все прошлые данные.",
"settingsTTLLabel": "Дни, за которыми вы хотите следить.",
"settingsTTLOptionalLabel": "0 для бесконечности",
"settingsClearAllStats": "Очистить всю статистику. Это необратимо.",
"settingsClearAllStatsButton": "Очистить всю статистику",
"settingsClearAllStatsDialogTitle": "Хотите очистить всю статистику?",
"settingsClearAllStatsDialogDescription": "После удаления ваши мониторы не могут быть восстановлены.",
"settingsClearAllStatsDialogConfirm": "Да, очистить всю статистику",
"settingsDemoMonitors": "Демо мониторы",
"settingsDemoMonitorsDescription": "Здесь вы можете добавлять и удалять демонстрационные мониторы.",
"settingsAddDemoMonitorsButton": "Добавьте демонстрационные мониторы",
"settingsRemoveAllMonitorsButton": "Удалить все демонстрационные мониторы",
"settingsRemoveAllMonitorsDialogTitle": "Хотите удалить все мониторы?",
"settingsRemoveAllMonitorsDialogConfirm": "Да, очистить все мониторы",
"settingsAbout": "О",
"settingsDevelopedBy": "Developed by Bluewave Labs.",
"settingsSave": "Сохранить",
"settingsSuccessSaved": "Настройки успешно сохранены",
"settingsFailedToSave": "Не удалось сохранить настройки",
"settingsStatsCleared": "Статистика успешно очищена",
"settingsFailedToClearStats": "Не удалось очистить статистику",
"settingsDemoMonitorsAdded": "Успешно добавлены демонстрационные мониторы",
"settingsFailedToAddDemoMonitors": "Не удалось добавить демонстрационные мониторы",
"settingsMonitorsDeleted": "Успешно удалены все мониторы",
"settingsFailedToDeleteMonitors": "Не удалось удалить все мониторы",
@@ -360,16 +333,10 @@
"noFileSelected": "Файл не выбран",
"fallbackPage": "Импортируйте файл для массовой загрузки списка серверов"
},
"settingsSystemReset": "Сброс системы",
"settingsSystemResetDescription": "Удалите все мониторы из вашей системы.",
"DeleteAccountTitle": "Удалить аккаунт",
"DeleteAccountButton": "Удалить аккаунт",
"publicLink": "Публичная ссылка",
"maskedPageSpeedKeyPlaceholder": "*************************************",
"pageSpeedApiKeyFieldTitle": "Ключ API Google PageSpeed",
"pageSpeedApiKeyFieldLabel": "Ключ API PageSpeed",
"pageSpeedApiKeyFieldDescription": "Введите свой API-ключ Google PageSpeed, чтобы включить мониторинг скорости страницы. Нажмите \"Сброс\", чтобы обновить ключ.",
"pageSpeedApiKeyFieldResetLabel": "Установлен ключ API. Нажмите \"Сброс\", чтобы изменить его.",
"reset": "Сброс",
"ignoreTLSError": "Игнорировать ошибку TLS/SSL",
"tlsErrorIgnored": "Ошибки TLS/SSL игнорируются",
@@ -431,22 +398,13 @@
"password": "Пароль",
"team": "Команда",
"logOut": "Выйти",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "Настройки Email",
"settingsEmailDescription": "Настройка параметров email",
"settingsEmailHost": "Email host",
"settingsEmailPort": "Email port",
"settingsEmailAddress": "Email address",
"settingsEmailPassword": "Email пароль",
"settingsEmailUser": "Email пользователь",
"settingsEmailFieldResetLabel": "Пароль установлен. Нажмите \"Сброс\", чтобы изменить его.",
"state": "Состояние",
"statusBreadCrumbsStatusPages": "Страницы статуса",
"statusBreadCrumbsDetails": "Подробности",
"settingsThemeModeLight": "Светлая",
"settingsThemeModeDark": "Тёмная",
"settingsClearAllStatsDialogCancel": "Отменить",
"commonSaving": "Сохранение...",
"navControls": "Управления",
"incidentsPageTitle": "Инциденты",
@@ -461,26 +419,18 @@
"passwordRequirements": "Новый пароль должен содержать не менее 8 символов и содержать как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ.",
"saving": "Сохранение..."
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "Başlık",
"distributedStatusHeaderText": "Gerçek zamanlı, Gerçek cihazlar kapsamı",
"distributedStatusSubHeaderText": "Dünya çapında milyonlarca cihaz tarafından desteklenen sistem performansını küresel bölgeye, ülkeye veya şehre göre görüntüleyin",
"settingsGeneralSettings": "Genel ayarlar",
"settingsDisplayTimezone": "Görüntüleme saat dilimi",
"settingsDisplayTimezoneDescription": "Herkese açık olarak görüntülediğiniz kontrol panelinin saat dilimi.",
"settingsAppearance": "Görünüm",
"settingsAppearanceDescription": "Açık ve koyu mod arasında geçiş yapın veya kullanıcı arayüzü dilini değiştirin",
"settingsThemeMode": "Tema",
"settingsLanguage": "Dil",
"settingsEnabled": "Etkin",
"settingsDisabled": "Devre dışı",
"settingsHistoryAndMonitoring": "Geçmiş ve izleme",
"settingsHistoryAndMonitoringDescription": "Verileri ne kadar süreyle saklamak istediğinizi burada tanımlayın. Ayrıca tüm geçmiş verileri kaldırabilirsiniz.",
"settingsTTLLabel": "İzleme geçmişini saklamak istediğiniz gün sayısı.",
"settingsTTLOptionalLabel": "Sınırsız için 0",
"settingsClearAllStats": "Tüm istatistikleri temizle. Bu geri alınamaz.",
"settingsClearAllStatsButton": "Tüm istatistikleri temizle",
"settingsClearAllStatsDialogTitle": "Tüm istatistikleri temizlemek istiyor musunuz?",
"settingsClearAllStatsDialogDescription": "Silindikten sonra, monitörleriniz geri alınamaz.",
"settingsClearAllStatsDialogConfirm": "Evet, tüm istatistikleri temizle",
"settingsDemoMonitors": "Demo monitörler",
"settingsDemoMonitorsDescription": "Burada demo monitörler ekleyebilir ve kaldırabilirsiniz.",
"settingsAddDemoMonitorsButton": "Demo monitörler ekle",
"settingsRemoveAllMonitorsButton": "Tüm monitörleri kaldır",
"settingsRemoveAllMonitorsDialogTitle": "Tüm monitörleri kaldırmak istiyor musunuz?",
"settingsRemoveAllMonitorsDialogConfirm": "Evet, tüm monitörleri temizle",
"settingsAbout": "Hakkında",
"settingsDevelopedBy": "Bluewave Labs tarafından geliştirilmiştir.",
"settingsSave": "Kaydet",
"settingsSuccessSaved": "Ayarlar başarıyla kaydedildi",
"settingsFailedToSave": "Ayarlar kaydedilemedi",
"settingsStatsCleared": "İstatistikler başarıyla temizlendi",
"settingsFailedToClearStats": "İstatistikler temizlenemedi",
"settingsDemoMonitorsAdded": "Demo monitörler başarıyla eklendi",
"settingsFailedToAddDemoMonitors": "Demo monitörler eklenemedi",
"settingsMonitorsDeleted": "Tüm monitörler başarıyla silindi",
"settingsFailedToDeleteMonitors": "Monitörler silinemedi",
@@ -360,16 +333,10 @@
"noFileSelected": "Hiçbir dosya seçilmedi",
"fallbackPage": "Toplu olarak sunucu listesini yüklemek için bir dosyayı içe aktarın"
},
"settingsSystemReset": "Sistem sıfırla",
"settingsSystemResetDescription": "Sistemdeki tüm monitörleri silin",
"DeleteAccountTitle": "Hesabı sil",
"DeleteAccountButton": "Hesabı sil",
"publicLink": "Herkese açık bağlantı",
"maskedPageSpeedKeyPlaceholder": "*************************************",
"pageSpeedApiKeyFieldTitle": "Google PageSpeed API anahtarı",
"pageSpeedApiKeyFieldLabel": "PageSpeed API anahtarı",
"pageSpeedApiKeyFieldDescription": "Sayfa hızı izlemeyi etkinleştirmek için Google PageSpeed API anahtarınızı girin. Anahtarı güncellemek için Sıfırla'ya tıklayın.",
"pageSpeedApiKeyFieldResetLabel": "API anahtarı ayarlandı. Değiştirmek için Sıfırla'ya tıklayın.",
"reset": "Sıfırla",
"ignoreTLSError": "TLS/SSL hatalarını gözardı et",
"tlsErrorIgnored": "TLS/SSL hataları gözardı ediliyor",
@@ -431,22 +398,13 @@
"password": "Parola",
"team": "Ekip",
"logOut": ıkış yap",
"notifications": "Bildirimler"
"notifications": "Bildirimler",
"logs": ""
},
"settingsEmail": "Eposta",
"settingsEmailDescription": "Sistem için eposta ayarlarını düzenleyin. Bu işlem eposta üzerinden bildirim ve alarm almak için gereklidir.",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "E-posta şifresi - Kimlik doğrulama şifresi.",
"settingsEmailUser": "E-posta kullanıcısı Kimlik doğrulama için kullanıcı adı; belirtilirse e-posta adresinin yerine geçer.",
"settingsEmailFieldResetLabel": "Şifre ayarlandı. Değiştirmek için \"Sıfırla\"ya tıklayın.",
"state": "Durum",
"statusBreadCrumbsStatusPages": "Durum sayfası",
"statusBreadCrumbsDetails": "Detaylar",
"settingsThemeModeLight": "Aydınlat",
"settingsThemeModeDark": "Karart",
"settingsClearAllStatsDialogCancel": "İptal",
"commonSaving": "Kaydediliyor.",
"navControls": "Kontroller",
"incidentsPageTitle": "Olaylar",
@@ -461,26 +419,18 @@
"passwordRequirements": "Yeni şifreniz en az 8 karakterden oluşmalı ve en az bir büyük harf, bir küçük harf, bir rakam ve bir özel karakter içermelidir.",
"saving": "Kaydediliyor..."
},
"settingsEmailConnectionHost": "E-posta bağlantı ana bilgisayarı - HELO/EHLO selamlamasında kullanılacak ana bilgisayar adı",
"emailSent": "E-posta başarı ile gönderildi.",
"failedToSendEmail": "E-posta gönderimi başarısız.",
"settingsTestEmail": "Test E-postası gönder.",
"settingsTestEmailSuccess": "Test E-postası başarı ile gönderildi.",
"settingsTestEmailFailed": "Test E-postası gönderimi başarısız.",
"settingsTestEmailFailedWithReason": "Test E-postası gönderimi başarısız: {{reason}}",
"settingsTestEmailUnknownError": "Bilinmeyen hata.",
"settingsEmailRequiredFields": "E-posta sunucusu ve portu gereklidir.",
"statusMsg": {
"paused": "İzleme duraklatıldı.",
"up": "Siteniz yayında.",
"down": "Siteniz kapalı.",
"pending": "Sırada.."
},
"settingsURLTitle": "Durum Sayfasında IP/URL'yi İzle",
"settingsURLDescription": "Genel Durum sayfasında monitörün IP adresini veya URL'sini görüntüleyin. Devre dışı bırakılırsa, hassas bilgileri korumak için yalnızca monitör adı gösterilecektir.",
"settingsURLSelectTitle": "Durum sayfasında IP/URL'yi görüntüle",
"settingsURLEnabled": "Etkinleştirilmiş",
"settingURLDisabled": "Devre dışı bırakılmış",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": "beklemede"
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "Güvenli - SSL kullan",
"settingsEmailPool": "",
"sendTestNotifications": "Bildirimleri dene",
"selectAll": "Tümünü seç"
"selectAll": "Tümünü seç",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -3,38 +3,11 @@
"title": "名稱",
"distributedStatusHeaderText": "實時、真實設備覆蓋",
"distributedStatusSubHeaderText": "由全球數百萬個設備提供支持,您可以按全球區域、國家或城市查看系統效能",
"settingsGeneralSettings": "一般設定",
"settingsDisplayTimezone": "顯示時區",
"settingsDisplayTimezoneDescription": "您公開顯示的儀表板的時區。",
"settingsAppearance": "外觀",
"settingsAppearanceDescription": "",
"settingsThemeMode": "主題",
"settingsLanguage": "語言",
"settingsEnabled": "啟動",
"settingsDisabled": "",
"settingsHistoryAndMonitoring": "",
"settingsHistoryAndMonitoringDescription": "",
"settingsTTLLabel": "",
"settingsTTLOptionalLabel": "",
"settingsClearAllStats": "",
"settingsClearAllStatsButton": "",
"settingsClearAllStatsDialogTitle": "",
"settingsClearAllStatsDialogDescription": "",
"settingsClearAllStatsDialogConfirm": "",
"settingsDemoMonitors": "",
"settingsDemoMonitorsDescription": "",
"settingsAddDemoMonitorsButton": "",
"settingsRemoveAllMonitorsButton": "",
"settingsRemoveAllMonitorsDialogTitle": "",
"settingsRemoveAllMonitorsDialogConfirm": "",
"settingsAbout": "",
"settingsDevelopedBy": "",
"settingsSave": "",
"settingsSuccessSaved": "",
"settingsFailedToSave": "",
"settingsStatsCleared": "",
"settingsFailedToClearStats": "",
"settingsDemoMonitorsAdded": "",
"settingsFailedToAddDemoMonitors": "",
"settingsMonitorsDeleted": "",
"settingsFailedToDeleteMonitors": "",
@@ -360,16 +333,10 @@
"noFileSelected": "",
"fallbackPage": ""
},
"settingsSystemReset": "",
"settingsSystemResetDescription": "",
"DeleteAccountTitle": "",
"DeleteAccountButton": "",
"publicLink": "",
"maskedPageSpeedKeyPlaceholder": "",
"pageSpeedApiKeyFieldTitle": "",
"pageSpeedApiKeyFieldLabel": "",
"pageSpeedApiKeyFieldDescription": "",
"pageSpeedApiKeyFieldResetLabel": "",
"reset": "",
"ignoreTLSError": "",
"tlsErrorIgnored": "",
@@ -431,22 +398,13 @@
"password": "",
"team": "",
"logOut": "",
"notifications": ""
"notifications": "",
"logs": ""
},
"settingsEmail": "",
"settingsEmailDescription": "",
"settingsEmailHost": "",
"settingsEmailPort": "",
"settingsEmailAddress": "",
"settingsEmailPassword": "",
"settingsEmailUser": "",
"settingsEmailFieldResetLabel": "",
"state": "",
"statusBreadCrumbsStatusPages": "",
"statusBreadCrumbsDetails": "",
"settingsThemeModeLight": "",
"settingsThemeModeDark": "",
"settingsClearAllStatsDialogCancel": "",
"commonSaving": "",
"navControls": "",
"incidentsPageTitle": "",
@@ -461,26 +419,18 @@
"passwordRequirements": "",
"saving": ""
},
"settingsEmailConnectionHost": "",
"emailSent": "",
"failedToSendEmail": "",
"settingsTestEmail": "",
"settingsTestEmailSuccess": "",
"settingsTestEmailFailed": "",
"settingsTestEmailFailedWithReason": "",
"settingsTestEmailUnknownError": "",
"settingsEmailRequiredFields": "",
"statusMsg": {
"paused": "",
"up": "",
"down": "",
"pending": ""
},
"settingsURLTitle": "",
"settingsURLDescription": "",
"settingsURLSelectTitle": "",
"settingsURLEnabled": "",
"settingURLDisabled": "",
"uptimeGeneralInstructions": {
"http": "",
"ping": "",
@@ -739,12 +689,147 @@
"paused": ""
},
"advancedMatching": "",
"settingsEmailTLSServername": "",
"settingsEmailIgnoreTLS": "",
"settingsEmailRequireTLS": "",
"settingsEmailRejectUnauthorized": "",
"settingsEmailSecure": "",
"settingsEmailPool": "",
"sendTestNotifications": "",
"selectAll": ""
"selectAll": "",
"showAdminLoginLink": "",
"logsPage": {
"title": "",
"description": "",
"tabs": {
"queue": "",
"logs": ""
},
"toast": {
"fetchLogsSuccess": ""
},
"logLevelSelect": {
"title": "",
"values": {
"all": "",
"info": "",
"warn": "",
"error": "",
"debug": ""
}
}
},
"queuePage": {
"title": "",
"refreshButton": "",
"flushButton": "",
"jobTable": {
"title": "",
"idHeader": "",
"urlHeader": "",
"typeHeader": "",
"activeHeader": "",
"lockedAtHeader": "",
"runCountHeader": "",
"failCountHeader": "",
"lastRunHeader": "",
"lastFinishedAtHeader": "",
"lastRunTookHeader": ""
},
"metricsTable": {
"title": "",
"metricHeader": "",
"valueHeader": ""
},
"failedJobTable": {
"title": "",
"monitorIdHeader": "",
"monitorUrlHeader": "",
"failCountHeader": "",
"failedAtHeader": "",
"failReasonHeader": ""
}
},
"export": {
"title": "",
"success": "",
"failed": ""
},
"monitorActions": {
"title": "",
"import": "",
"export": ""
},
"settingsPage": {
"aboutSettings": {
"labelDevelopedBy": "",
"labelVersion": "",
"title": ""
},
"demoMonitorsSettings": {
"buttonAddMonitors": "",
"description": "",
"title": ""
},
"emailSettings": {
"buttonSendTestEmail": "",
"description": "",
"descriptionTransport": "",
"labelAddress": "",
"labelConnectionHost": "",
"labelHost": "",
"labelIgnoreTLS": "",
"labelPassword": "",
"labelPasswordSet": "",
"labelPool": "",
"labelPort": "",
"labelRejectUnauthorized": "",
"labelRequireTLS": "",
"labelSecure": "",
"labelTLSServername": "",
"labelUser": "",
"linkTransport": "",
"placeholderUser": "",
"title": ""
},
"pageSpeedSettings": {
"description": "",
"labelApiKeySet": "",
"labelApiKey": "",
"title": ""
},
"saveButtonLabel": "",
"statsSettings": {
"clearAllStatsButton": "",
"clearAllStatsDescription": "",
"clearAllStatsDialogConfirm": "",
"clearAllStatsDialogDescription": "",
"clearAllStatsDialogTitle": "",
"description": "",
"labelTTL": "",
"labelTTLOptional": "",
"title": ""
},
"systemResetSettings": {
"buttonRemoveAllMonitors": "",
"description": "",
"dialogConfirm": "",
"dialogDescription": "",
"dialogTitle": "",
"title": ""
},
"timezoneSettings": {
"description": "",
"label": "",
"title": ""
},
"title": "",
"uiSettings": {
"description": "",
"labelLanguage": "",
"labelTheme": "",
"title": ""
},
"urlSettings": {
"description": "",
"label": "",
"selectDisabled": "",
"selectEnabled": "",
"title": ""
}
}
}

View File

@@ -5,14 +5,7 @@ import { execSync } from "child_process";
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd(), "");
let version;
try {
version =
env.VITE_APP_VERSION ||
execSync("git describe --tags --abbrev=0").toString().trim();
} catch (error) {
version = "unknown";
}
let version = 2.2;
return {
base: "/",

View File

@@ -77,11 +77,16 @@ class InviteController {
name: firstname,
link: `${clientHost}/register/${inviteToken.token}`,
});
await this.emailService.sendEmail(
const result = await this.emailService.sendEmail(
req.body.email,
"Welcome to Uptime Monitor",
html
);
if (!result) {
return res.error({
msg: "Failed to send invite e-mail... Please verify your settings.",
});
}
} catch (error) {
logger.warn({
message: error.message,

View File

@@ -80,7 +80,7 @@ const getChecksByMonitor = async ({
// Match
const matchStage = {
monitorId: ObjectId.createFromHexString(monitorId),
monitorId: new ObjectId(monitorId),
...(typeof status !== "undefined" && { status }),
...(typeof ack !== "undefined" && ackStage),
...(dateRangeLookup[dateRange] && {

View File

@@ -19,7 +19,7 @@ const getMonitorsByTeamIdExecutionStats = async (req) => {
order = "asc";
}
// Build match stage
const matchStage = { teamId: ObjectId.createFromHexString(req.params.teamId) };
const matchStage = { teamId: new ObjectId(req.params.teamId) };
if (type !== undefined) {
matchStage.type = Array.isArray(type) ? { $in: type } : type;
}

View File

@@ -523,7 +523,7 @@ const getMonitorsByTeamId = async ({
order = "asc";
}
// Build match stage
const matchStage = { teamId: ObjectId.createFromHexString(teamId) };
const matchStage = { teamId: new ObjectId(teamId) };
if (type !== undefined) {
matchStage.type = Array.isArray(type) ? { $in: type } : type;
}
@@ -563,8 +563,7 @@ const getMonitorsByTeamId = async ({
const getMonitorsAndSummaryByTeamId = async ({ type, explain, teamId }) => {
try {
const parsedTeamId = ObjectId.createFromHexString(teamId);
const matchStage = { teamId: parsedTeamId };
const matchStage = { teamId: new ObjectId(teamId) };
if (type !== undefined) {
matchStage.type = Array.isArray(type) ? { $in: type } : type;
}
@@ -606,9 +605,8 @@ const getMonitorsWithChecksByTeamId = async ({
field = "name";
order = "asc";
}
const parsedTeamId = ObjectId.createFromHexString(teamId);
// Build match stage
const matchStage = { teamId: parsedTeamId };
const matchStage = { teamId: new ObjectId(teamId) };
if (type !== undefined) {
matchStage.type = Array.isArray(type) ? { $in: type } : type;
}

View File

@@ -4,7 +4,7 @@ const buildUptimeDetailsPipeline = (monitorId, dates, dateString) => {
return [
{
$match: {
monitorId: ObjectId.createFromHexString(monitorId),
monitorId: new ObjectId(monitorId),
createdAt: { $gte: dates.start, $lte: dates.end },
},
},
@@ -407,6 +407,16 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => {
],
},
},
{ $unwind: "$checks" },
{ $sort: { "checks._id": 1 } },
{
$group: {
_id: "$_id",
checks: { $push: "$checks" },
aggregateData: { $first: "$aggregateData" },
upChecks: { $first: "$upChecks" },
},
},
{
$project: {
aggregateData: {
@@ -415,12 +425,7 @@ const buildHardwareDetailsPipeline = (monitor, dates, dateString) => {
upChecks: {
$arrayElemAt: ["$upChecks", 0],
},
checks: {
$sortArray: {
input: "$checks",
sortBy: { _id: 1 },
},
},
checks: 1,
},
},
];
@@ -734,7 +739,7 @@ const buildGetMonitorsByTeamIdPipeline = (req) => {
order = "asc";
}
// Build the match stage
const matchStage = { teamId: ObjectId.createFromHexString(req.params.teamId) };
const matchStage = { teamId: new ObjectId(req.params.teamId) };
if (type !== undefined) {
matchStage.type = Array.isArray(type) ? { $in: type } : type;
}

View File

@@ -134,6 +134,9 @@ const getStatusPage = async (url) => {
},
},
},
{ $match: { "monitors.orderIndex": { $ne: -1 } } },
{ $sort: { "monitors.orderIndex": 1 } },
{
$group: {
_id: "$_id",
@@ -156,20 +159,7 @@ const getStatusPage = async (url) => {
showAdminLoginLink: 1,
url: 1,
},
monitors: {
$filter: {
input: {
$sortArray: {
input: "$monitors",
sortBy: { orderIndex: 1 },
},
},
as: "monitor",
cond: {
$ne: ["$$monitor.orderIndex", -1],
},
},
},
monitors: 1,
},
},
]);

View File

@@ -137,6 +137,17 @@ class EmailService {
};
this.transporter = this.nodemailer.createTransport(emailConfig);
try {
await this.transporter.verify();
} catch (error) {
this.logger.warn({
message: "Email transporter verification failed",
service: SERVICE_NAME,
method: "verifyTransporter",
});
return false;
}
try {
const info = await this.transporter.sendMail({
to: to,

View File

@@ -76,7 +76,7 @@ class Logger {
info(config) {
const logEntry = this.buildLogEntry("info", config);
this.cacheLog(logEntry);
this.logger.info(config.message, logEntry);
this.logger.info(logEntry);
}
/**
@@ -90,7 +90,7 @@ class Logger {
warn(config) {
const logEntry = this.buildLogEntry("warn", config);
this.cacheLog(logEntry);
this.logger.warn(config.message, logEntry);
this.logger.warn(logEntry);
}
/**
@@ -104,7 +104,7 @@ class Logger {
error(config) {
const logEntry = this.buildLogEntry("error", config);
this.cacheLog(logEntry);
this.logger.error(config.message, logEntry);
this.logger.error(logEntry);
}
/**
* Logs a debug message.
@@ -117,7 +117,7 @@ class Logger {
debug(config) {
const logEntry = this.buildLogEntry("debug", config);
this.cacheLog(logEntry);
this.logger.debug(config.message, logEntry);
this.logger.debug(logEntry);
}
cacheLog(entry) {