const Person = require('../../../models/person'); import { NextApiRequest, NextApiResponse } from 'next'; import dbConnect from '../../../utils/helpers/dbHelpers'; import { IPerson, PersonIdsResponse, } from '../../../utils/interface/personInterface'; async function handler( req: NextApiRequest, res: NextApiResponse ) { const { method } = req; await dbConnect(); switch (method) { case 'GET': { try { const dataCount: number = await Person.countDocuments(); if (dataCount === 0) { res.status(200).json({ message: 'No data.', dataIds: [], }); break; } const dataFromDB: Array = await Person.find({}).limit(4); if (!dataFromDB) { throw new Error('No data!'); } const dataIds = dataFromDB.map((item) => item.customID); res.status(200).json({ message: 'Fetch ids successfull!', dataIds: dataIds, }); } catch (error) { if (error instanceof Error) res.status(400).json({ message: error.message }); else res.status(400).json({ message: 'Unexpected error' + error }); } break; } default: res.status(405).json({ message: 'Method not allowed' }); break; } } export default handler;