mapado route -> 'mapado-api'

This commit is contained in:
isUnknown 2024-07-29 08:57:35 +02:00
parent 37a84058d1
commit dde1813f78
12 changed files with 127 additions and 42 deletions

View file

@ -24,41 +24,45 @@ async function getMapadoDates(monthNumb) {
.add(1, "month")
.format("YYYY-MM-DD");
const requestEndPoint = 'event_dates'
const requestEndPoint = "event_dates";
const requestParams = [
{ name: 'itemsPerPage', value: 100 },
{ name: 'contract', value: contractId },
{ name: 'after', value: firstDayOfMonth },
{ name: 'before', value: firstDayOfNextMonth },
{ name: 'order', value: 'asc' }
]
{ name: "itemsPerPage", value: 100 },
{ name: "contract", value: contractId },
{ name: "after", value: firstDayOfMonth },
{ name: "before", value: firstDayOfNextMonth },
{ name: "order", value: "asc" },
];
const requestFields = [
{ name: 'startDate', },
{ name: 'bookableStock', },
{ name: 'ticketing', subfields: [
{ name: "@id", },
{ name: "title", },
{ name: "slug", },
{ name: "venue", subfields: [
{ name: "startDate" },
{ name: "bookableStock" },
{
name: "ticketing",
subfields: [
{ name: "@id" },
{ name: "title" },
{ name: "slug" },
{
name: "venue",
subfields: [
{ name: "@id" },
{ name: "address" },
{ name: "zipCode" },
{ name: "city" },
{ name: "countryCode" },
{ name: "timezone" },
]
],
},
]
],
},
];
const requestOptions = {
method: 'POST',
body: JSON.stringify({requestEndPoint, requestParams, requestFields})
}
const response = await fetch('/mapado.json', requestOptions);
const requestOptions = {
method: "POST",
body: JSON.stringify({ requestEndPoint, requestParams, requestFields }),
};
const response = await fetch("/mapado-api.json", requestOptions);
const json = await response.json();
const eventDates = json["hydra:member"];
@ -75,7 +79,8 @@ async function getMapadoDates(monthNumb) {
day: getDay(eventDate),
title: eventDate.ticketing.title,
startTime: getStartTime(eventDate),
ticketingUrl: getTicketingUrl(eventDate)
ticketingUrl: getTicketingUrl(eventDate),
id: getId(eventDate),
};
});
@ -86,17 +91,41 @@ function getDay(eventDate) {
const date = eventDate.startDate.slice(0, 10);
const splittedDate = date.split("-");
const day = splittedDate[2];
return day
return day;
}
function getStartTime(eventDate) {
const rawTime = eventDate.startDate.slice(11, 19);
const time = dayjs(`2000-01-01T${rawTime}`);
const formattedTime = time.format('HH[h]mm');
return formattedTime
const formattedTime = time.format("HH[h]mm");
return formattedTime;
}
function getTicketingUrl(eventDate) {
const baseUrl = "https://cdn-besancon.mapado.com/event/"
return baseUrl + eventDate.ticketing.slug
const baseUrl = "https://cdn-besancon.mapado.com/event/";
return baseUrl + eventDate.ticketing.slug;
}
function getId(eventData) {
const endpoint = eventData.ticketing["@id"];
const splitString = endpoint.split("/");
const id = parseInt(splitString[3]);
return id;
}
async function getKirbyDates(monthNumb, dates) {
const month = dayjs().month(monthNumb).format("YYYY-MM");
const requestParams = {
month,
dates,
};
const requestOptions = {
method: "POST",
body: JSON.stringify(requestParams),
};
const response = await fetch("/month-dates.json", requestOptions);
const json = await response.json();
return json;
}