diff --git a/server/src/notifikace.ts b/server/src/notifikace.ts index efd984b..9929989 100644 --- a/server/src/notifikace.ts +++ b/server/src/notifikace.ts @@ -1,6 +1,6 @@ /** Notifikace pro gotify*/ -import axios, {AxiosError, AxiosResponse} from 'axios'; -import {GotifyServer, NotififaceInput, NotifikaceData, UdalostEnum} from "./types"; +import axios, { AxiosError, AxiosResponse } from 'axios'; +import { GotifyServer, NotififaceInput, NotifikaceData, UdalostEnum } from "./types"; import dotenv from 'dotenv'; import path from 'path'; @@ -10,9 +10,12 @@ dotenv.config({ path: path.resolve(__dirname, `../.env.${ENVIRONMENT}`) }); const gotifyDataRaw = process.env.GOTIFY_SERVERS_AND_KEYS || "{}"; const gotifyData: GotifyServer[] = JSON.parse(gotifyDataRaw); -export const gotifyCall = async (data: NotififaceInput, gotifyServers: GotifyServer[]): Promise => { - const urls = gotifyServers.flatMap(gotifyServer => - gotifyServer.api_keys.map(apiKey => `${gotifyServer.server}/message?token=${apiKey}`)); +export const gotifyCall = async (data: NotififaceInput, gotifyServers?: GotifyServer[]): Promise => { + if (!Array.isArray(gotifyServers)) { + return [] + } + const urls = gotifyServers.flatMap(gotifyServer => + gotifyServer.api_keys.map(apiKey => `${gotifyServer.server}/message?token=${apiKey}`)); const dataPayload = { title: "Luncher", @@ -20,7 +23,7 @@ export const gotifyCall = async (data: NotififaceInput, gotifyServers: GotifySer priority: 7, }; - const headers = {"Content-Type": "application/json"}; + const headers = { "Content-Type": "application/json" }; const promises = urls.map(url => axios.post(url, dataPayload, { headers }).then(response => { @@ -42,19 +45,19 @@ export const gotifyCall = async (data: NotififaceInput, gotifyServers: GotifySer } } // Handle unknown error without a response - console.log(error,"unknown error"); + console.log(error, "unknown error"); }) ); return promises; }; /** Zavolá notifikace na všechny konfigurované způsoby notifikace, přetížení proměných na false pro jednotlivé způsoby je vypne*/ -export const callNotifikace = async ({input, teams = true, gotify = true}: NotifikaceData) => { +export const callNotifikace = async ({ input, teams = true, gotify = true }: NotifikaceData) => { const notifications = []; if (gotify) { - const gotifyPromises = await gotifyCall(input, gotifyData); - notifications.push(...gotifyPromises); + const gotifyPromises = await gotifyCall(input, gotifyData); + notifications.push(...gotifyPromises); } /* Zatím není