diff --git a/src/components/modules/calendar/CalendarModule.tsx b/src/components/modules/calendar/CalendarModule.tsx index 49624e0bc..f90784142 100644 --- a/src/components/modules/calendar/CalendarModule.tsx +++ b/src/components/modules/calendar/CalendarModule.tsx @@ -63,7 +63,7 @@ export default function CalendarComponent(props: any) { if (!service || !service.apiKey) { return Promise.resolve({ data: [] }); } - return axios.post(`/api/modules/calendar?type=${type}`, { ...service }); + return axios.post(`/api/modules/calendar?type=${type}`, { id: service.id }); } useEffect(() => { diff --git a/src/pages/api/modules/calendar.ts b/src/pages/api/modules/calendar.ts index 43d5965bf..6f179c862 100644 --- a/src/pages/api/modules/calendar.ts +++ b/src/pages/api/modules/calendar.ts @@ -1,9 +1,24 @@ import axios from 'axios'; +import { getCookie } from 'cookies-next'; import { NextApiRequest, NextApiResponse } from 'next'; -import { serviceItem } from '../../../tools/types'; +import { getConfig } from '../../../tools/getConfig'; +import { Config } from '../../../tools/types'; async function Post(req: NextApiRequest, res: NextApiResponse) { // Parse req.body as a ServiceItem + const serviceId = req.body; + const configName = getCookie('config-name', { req }); + const { config }: { config: Config } = getConfig(configName?.toString() ?? 'default').props; + // Find service with serviceId in config + const service = config.services.find((service) => service.id === serviceId); + if (!service) { + return res.status(500).json({ + statusCode: 500, + message: 'Missing service', + }); + } + const { type } = req.query; + const nextMonth = new Date(new Date().setMonth(new Date().getMonth() + 2)).toISOString(); const lastMonth = new Date(new Date().setMonth(new Date().getMonth() - 2)).toISOString(); const TypeToUrl: { service: string; url: string }[] = [ @@ -24,8 +39,6 @@ async function Post(req: NextApiRequest, res: NextApiResponse) { url: '/api/v1/calendar', }, ]; - const service: serviceItem = req.body; - const { type } = req.query; if (!type) { return res.status(400).json({ message: 'Missing required parameter in url: type',