UNPKG

leumas-axios

Version:

An advanced Axios wrapper with extended features and Express multi-post middleware for conversational API endpoints.

69 lines (57 loc) 1.92 kB
const express = require('express'); const bodyParser = require('body-parser'); const AdvancedAxios = require('leumas-axios'); const cors = require("cors") const app = express(); app.use(bodyParser.json()); app.use(cors()) // Multi-post route requiring "name" and "email" app.post( '/api/multi-post', AdvancedAxios.multiPostMiddleware(['name', 'email']), (req, res) => { res.json({ sessionId: req.sessionId, status: 'completed', data: req.multiPostData, }); } ); // Another multi-post route requiring "username" and "password" app.post( '/api/another-multi-post', AdvancedAxios.multiPostMiddleware(['username', 'password']), (req, res) => { res.json({ sessionId: req.sessionId, status: 'completed', data: req.multiPostData, }); } ); const kycRequiredFields = ['firstName', 'lastName', 'dateOfBirth', 'email', 'address']; // KYC multi-post endpoint using Leumas Axios multiPostMiddleware app.post('/api/kyc', AdvancedAxios.multiPostMiddleware(kycRequiredFields), (req, res) => { // When the middleware calls next(), it means all required fields are present. const kycData = req.multiPostData; // Here you might save the KYC data to your database or process it further. console.log(`KYC data received for session ${req.sessionId}:`, kycData); res.json({ sessionId: req.sessionId, status: 'completed', data: kycData, }); }); app.post('/api/generative-post', (req, res) => { // Log the received payload for debugging. console.log('Received payload at /api/generative-post:', req.body); // Echo back the complete payload along with a status. res.json({ status: 'completed', data: req.body }); }); const PORT = process.env.PORT || 7643; app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });