const asyncHandler =require('express-async-handler') const mongoose = require('mongoose'); let Employee = require('../../models/employee'); let WorkingTime = require('../../models/workingtime'); var fs = require('fs'); var path = require('path'); exports.exportWorktime=asyncHandler(async (req,res)=>{ const {userId} =req.params; if (!userId){ res.status(400).send('Invalid Id!'); return; } let employees=await Employee.find({}); for (employee of employees){ try{ let doc=await WorkingTime.find({"employeeId":new mongoose.Types.ObjectId(employee._id)}) let z=[]; if (!doc){ res.status(500).json({err:'No data Found!',doc:null}); return; } let data = JSON.stringify(doc) let v=JSON.parse(data) v.forEach((x)=>{ x._id='ObjectId("'+x._id.toString()+'")' x.employeeId='ObjectId("'+x.employeeId.toString()+'")' }) const exportFolder = path.join(".", './exportDB/'); // var type='img'; if (!fs.existsSync(exportFolder)){ fs.mkdirSync(exportFolder,{recursive: true}, err => {}) } const i=JSON.stringify(v,null,'\t') await fs.writeFileSync(exportFolder+'/'+employee._id,i); //console.log(i); //res.status(200).json({err:null,doc:i}); } catch(err){ // res.status(500).json({err:err,doc:null}); } } res.status(200).json("OK"); })