const fs = require('fs')
const path = require('path')
const router = require('express').Router()
const mongoose = require('mongoose')

const pkg = require('../package.json')

require('./utils/mongoose')
const folderPath = path.resolve(__dirname, './routers')
const folders = fs.readdirSync(folderPath)

router.get('/', async (req, res) => {
  // throw new Error('check error message')
  res.send(`
        <h1>multy stub is working v${pkg.version}</h1>
        <ul>
            ${folders.map((f) => `<li>${f}</li>`).join('')}
        </ul>

        <h2>models</h2>
        <ul>${
          (await Promise.all(
            (await mongoose.modelNames()).map(async (name) => {
                const count = await mongoose.model(name).countDocuments()
                return `<li>${name} - ${count}</li>`
              }
            )
          )).map(t => t).join(' ')
        }</ul>
    `)
})

module.exports = router