diff --git a/.eslintignore b/.eslintignore index ef1d1bd..9515cb8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ */models/index.js -*/migrations/* \ No newline at end of file +*/migrations/* +/tests \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index 3a6e0b8..8522969 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,13 @@ { - "extends": "eslint-config-trybe-backend" -} \ No newline at end of file + "extends": "eslint-config-trybe-backend", + "rules": { + "max-lines-per-function": [ + "error", + { + "max": 2000, + "skipBlankLines": true, + "skipComments": true + } + ] + } +} diff --git a/.github/workflow/main.yml b/.github/workflow/main.yml new file mode 100644 index 0000000..561ac51 --- /dev/null +++ b/.github/workflow/main.yml @@ -0,0 +1,14 @@ +name: heroku-back-end + +on: [push, pull_request] + +jobs: + eslint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Instala dependĂȘncias + run: npm install + - name: Roda ESlint + run: npm run lint \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..31eccbf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM node:alpine + +WORKDIR /app + +COPY package.json . + +RUN npm install + +COPY . . + +CMD ["node", "src/api/server.js"] \ No newline at end of file diff --git a/heroku.yml b/heroku.yml new file mode 100644 index 0000000..07338e9 --- /dev/null +++ b/heroku.yml @@ -0,0 +1,5 @@ +build: + docker: + web: Dockerfile +run: + web: node src/api/server.js \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 34ef327..6a163bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5955,7 +5955,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-inspect": { "version": "1.11.0", diff --git a/package.json b/package.json index a42645a..cd7a62a 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "test": "jest tests", "start": "node src/api/server", - "dev": "nodemon src/api/server" + "dev": "nodemon src/api/server", + "lint": "eslint --no-inline-config --ext .js,.jsx --no-error-on-unmatched-pattern -c .eslintrc.json ." }, "keywords": [], "author": "", diff --git a/src/api/app.js b/src/api/app.js index d7e7a62..e4de604 100644 --- a/src/api/app.js +++ b/src/api/app.js @@ -1,12 +1,15 @@ const express = require('express'); const rescue = require('express-rescue'); +const cors = require('cors'); const UserController = require('../controllers/user'); const errorMiddleware = require('../middlewares/error'); - +// miguek const app = express(); +app.use(cors()); + app.get('/users', rescue(UserController)); -app.use(errorMiddleware); +app.use(errorMiddleware); module.exports = app; diff --git a/src/api/server.js b/src/api/server.js index bdcc2b9..bba635a 100644 --- a/src/api/server.js +++ b/src/api/server.js @@ -1,5 +1,6 @@ const app = require('./app'); - -const PORT = 3000; +require('dotenv/config'); +// hoi +const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Rodando na porta ${PORT}`)); diff --git a/src/sequelize/config/config.js b/src/sequelize/config/config.js index cff33d5..3e5d3c4 100644 --- a/src/sequelize/config/config.js +++ b/src/sequelize/config/config.js @@ -1,23 +1,30 @@ +require('dotenv/config'); + +const { HOST, PASSWORD_POSTGRES, DATABASE, DB_USERNAME, DB_PORT } = process.env; + module.exports = { development: { - username: 'root', - password: null, - database: 'database_development', - host: '127.0.0.1', + username: DB_USERNAME, + password: PASSWORD_POSTGRES, + database: DATABASE, + host: HOST, + port: DB_PORT, dialect: 'postgres', }, test: { - username: 'root', - password: null, - database: 'database_test', - host: '127.0.0.1', + username: DB_USERNAME, + password: PASSWORD_POSTGRES, + database: DATABASE, + host: HOST, + port: DB_PORT, dialect: 'postgres', }, production: { - username: 'root', - password: null, - database: 'database_test', - host: '127.0.0.1', + username: DB_USERNAME, + password: PASSWORD_POSTGRES, + database: DATABASE, + host: HOST, + port: DB_PORT, dialect: 'postgres', }, }; \ No newline at end of file diff --git a/src/sequelize/migrations/20211020194502-create-user.js b/src/sequelize/migrations/20211020194502-create-user.js index 7c47ebc..d0aec16 100644 --- a/src/sequelize/migrations/20211020194502-create-user.js +++ b/src/sequelize/migrations/20211020194502-create-user.js @@ -26,7 +26,7 @@ module.exports = { }, }); }, - down: async (queryInterface, Sequelize) => { + down: async (queryInterface, _Sequelize) => { await queryInterface.dropTable('Users'); }, -}; \ No newline at end of file +};