const express = require('express');
const app = express();
const port = 3000;

app.use(express.json());

app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});


// GET API with query and path parameters
app.get('/info/:pathParam', (req, res) => {
    const pathParam = req.params.pathParam;
    const queryParam = req.query.queryParam; 

    res.json({
        message: "GET API Response",
        pathParam: pathParam,
        queryParam: queryParam || "No query param provided"
    });
});

// POST API that accepts JSON data and returns an array
app.post('/data', (req, res) => {
    const inputData = req.body; 

    if (!inputData || Object.keys(inputData).length === 0) {
        return res.status(400).json({ message: "No data provided" });
    }

    const responseArray = Array.isArray(inputData) ? inputData : [inputData];

    res.json({
        message: "POST API Response",
        data: responseArray
    });
});