If anyone from Webflow staff shows up here, I realized you guys could do something similar to this:
interface request {
body: {
startAt?: string;
endAt?: string;
};
}
interface mongoFilter {
acceptedOn?: {
$gte?: number;
$lte?: number;
};
}
function sampleHttp(req: request, res) {
// Mongo's order model
const OrderModel = {
find: (filterObj): any => {},
};
const filterObj: mongoFilter = {};
const { startAt, endAt } = req.body;
if (startAt) {
const startDate = new Date(startAt);
const epochMsTime = startDate.getTime();
// Checks validity of the date obj
if (!isNaN(epochMsTime)) filterObj.acceptedOn.$gte = epochMsTime;
}
if (endAt) {
const endDate = new Date(startAt);
const epochMsTime = endDate.getTime();
// Checks validity of the date obj
if (!isNaN(epochMsTime)) filterObj.acceptedOn.$lte = epochMsTime;
}
const query = OrderModel.find(filterObj);
query.exec((err, docs) => {
if (err) return res.status(500).json({ error: err.message });
return res.status(200).json({ docs });
});
}