const express = require('express')
const routes = require('./routes')
const cors = require('cors')
const path = require('path')
const { request } = require('http')
require('dotenv').config()
const app = express()

var corsOptions = {
  //origin: ['http://localhost:3000', 'https://localhost:3000'],
  origin: 'https://enfuroped.com.br/',
  allowedHeaders: ['Content-Type', 'Origin', 'Authorization', 'authtoken'],
  credentials: true,
  preflightContinue: true,
}

app.use(cors(corsOptions))
app.options('*', cors(corsOptions))

app.get('/files', (req, res) => {
  request(
    { url: process.env.URL + process.env.PREFIX + '/files' },
    (error, response, body) => {
      if (error || response.statusCode !== 200) {
        return res.status(500).json({ type: 'error', message: err.message })
      }
      res.json(JSON.parse(body))
    }
  )
})

// rendering files in react using express
app.use(
  process.env.PREFIX + '/files',
  express.static(path.resolve(__dirname, 'files'))
)

app.use(express.json())
app.use(process.env.PREFIX, routes)

app.listen(process.env.PORT, () =>
  console.log('O Back está escutando a porta: ' + process.env.PORT)
)
