Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
var
www
dmgmultieventapihandlerdev.bitkit.dk
httpdocs
File Content:
server.js
// server.js const express = require("express"); const axios = require("axios"); const cors = require("cors"); require("dotenv").config(); const app = express(); const PORT = process.env.PORT || 3015; const API_URL = process.env.API_URL_STG; const API_KEY = process.env.API_KEY_STG; app.use(cors()); app.use(express.json()); // API endpoint to handle requests from React app app.get("/", async (req, res) => { res.send("Hi, Nothing to see here!"); }); app.get("/api/published-sessions", async (req, res) => { // console.log('hit'); const { slug } = req.query; // console.log(slug); try { const response = await axios.get( `${API_URL}/api/session/published-sessions?paging=All`, { headers: { accept: "*/*", role: "event_admin", "slug-name": slug, Authorization: `Bearer ${API_KEY}`, "Content-type": "application/json", }, } ); // console.log(response.data); const data = await response.data; for (let session of data.published_sessions["data"]) { let speakers = session.published_data.users; let speaker_array = []; for (let speaker of speakers) { // console.log(speaker); speaker.fax = null; speaker.city = null; speaker.email = null; speaker.phone = null; speaker.state = null; speaker.mobile = null; speaker.poBox = null; speaker.po_box = null; speaker.street = null; speaker.postCode = null; speaker.linkedinLink = null; speaker.linkedin_link = null; speaker.company_address = null; speaker.companyAddress = null; speaker.companyCountry = null; speaker.company_country = null; speaker.pS_User_CreatedDate = null; speaker.company_logo = null; speaker.pS_User_ModifiedDate = null; speaker.post_code = null; speaker.avatar = { value: speaker.avatar?.value }; speaker_array.push(speaker); } session.published_data.users = speaker_array; } res.json(data); } catch (error) { console.error("Error fetching data:", error); res.status(500).json({ error: "Error fetching data" }); } }); app.get("/api/category-list", async (req, res) => { const { slug } = req.query; const promises = slug.split(",").map(async (s) => { try { const response = await axios.get( `${API_URL}/api/session/category-settings/list?paging=All`, { headers: { accept: "*/*", role: "event_admin", "slug-name": s, Authorization: `Bearer ${API_KEY}`, "Content-type": "application/json", }, } ); // console.log(response.data); response.data.data.categories.forEach(item => { item.event_slug = s; }); return response.data; } catch (error) { console.error("Error fetching data:", error); return null; // res.status(500).json({ error: 'Error fetching data' }); } }); const result = { status: true, data: { enabled: true, settings_id: "session_form_settings", label: "", categories: [], }, }; // Wait for all promises to resolve using Promise.all const results = await Promise.all(promises); // Filter out any null responses (in case some API calls failed) const validResults = results.filter((result) => result !== null); // console.log(validResults); for (vr of validResults) { result.data.categories = result.data.categories.concat(vr.data.categories); } // console.log(result); // Combine and process the results as needed // For example, sending the combined result as a JSON response res.json(result); }); app.get("/api/date-list", async (req, res) => { const { slug } = req.query; const promises = slug.split(",").map(async (s) => { try { const response = await axios.get( `${API_URL}/api/session/chair-person/list?paging=All`, { headers: { accept: "*/*", role: "event_admin", "slug-name": s, Authorization: `Bearer ${API_KEY}`, "Content-type": "application/json", }, } ); const data = await response.data; let new_list = {}; for (let date in data.chair_persons) { // console.log(date); // console.log(data.chair_persons[date]); new_items = []; for (let speaker of data.chair_persons[date]) { // console.log(item.user); speaker.user.fax = null; speaker.user.city = null; speaker.user.email = null; speaker.user.phone = null; speaker.user.state = null; speaker.user.mobile = null; speaker.user.poBox = null; speaker.user.po_box = null; speaker.user.street = null; speaker.user.postCode = null; speaker.user.linkedinLink = null; speaker.user.linkedin_link = null; speaker.user.company_address = null; speaker.user.companyAddress = null; speaker.user.companyCountry = null; speaker.user.company_country = null; speaker.user.pS_User_CreatedDate = null; speaker.user.company_logo = null; speaker.user.pS_User_ModifiedDate = null; speaker.user.post_code = null; new_items.push(speaker); } new_list[date] = new_items; } // console.log(new_list); return new_list; // const new_response = { status: data.status, chair_persons: new_list }; // return new_response; // res.json(new_response); } catch (error) { console.error("Error fetching data:", error); return null; // res.status(500).json({ error: "Error fetching data" }); } }); const result = { status: true, chair_persons: {}, }; const results = await Promise.all(promises); // Filter out any null responses (in case some API calls failed) const validResults = results.filter((result) => result !== null); // console.log(validResults); for (vr of validResults) { for(date in vr) { result.chair_persons[date] = vr[date]; } } // console.log(result); // Combine and process the results as needed // For example, sending the combined result as a JSON response res.json(result); }); app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
Edit
Download
Unzip
Chmod
Delete