Hide calendar module sensitive data

Working towards #259
This commit is contained in:
ajnart
2022-07-22 18:07:36 +02:00
parent 81a7789f9c
commit 5ccdf735ae
2 changed files with 17 additions and 4 deletions

View File

@@ -63,7 +63,7 @@ export default function CalendarComponent(props: any) {
if (!service || !service.apiKey) { if (!service || !service.apiKey) {
return Promise.resolve({ data: [] }); 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(() => { useEffect(() => {

View File

@@ -1,9 +1,24 @@
import axios from 'axios'; import axios from 'axios';
import { getCookie } from 'cookies-next';
import { NextApiRequest, NextApiResponse } from '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) { async function Post(req: NextApiRequest, res: NextApiResponse) {
// Parse req.body as a ServiceItem // 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 nextMonth = new Date(new Date().setMonth(new Date().getMonth() + 2)).toISOString();
const lastMonth = 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 }[] = [ const TypeToUrl: { service: string; url: string }[] = [
@@ -24,8 +39,6 @@ async function Post(req: NextApiRequest, res: NextApiResponse) {
url: '/api/v1/calendar', url: '/api/v1/calendar',
}, },
]; ];
const service: serviceItem = req.body;
const { type } = req.query;
if (!type) { if (!type) {
return res.status(400).json({ return res.status(400).json({
message: 'Missing required parameter in url: type', message: 'Missing required parameter in url: type',