From 71d713529205f1b596f9fcdac8e29ca987f89069 Mon Sep 17 00:00:00 2001 From: "voxnox333@gmail.com" Date: Mon, 22 Feb 2021 16:52:46 -0600 Subject: [PATCH 1/2] test --- .env.test | 10 -------- index.js | 1 + package-lock.json | 16 ++++++++++++- providers/mock/users.js | 12 ++++++++++ services/rest_api/constants/response.js | 15 ++++++++++++ services/rest_api/router/login/login.js | 20 ++++++++++++++-- services/rest_api/services/auth.js | 32 +++++++++++++++++++++++++ services/rest_api/utils/validate.js | 18 ++++++++++++++ 8 files changed, 111 insertions(+), 13 deletions(-) delete mode 100644 .env.test create mode 100644 providers/mock/users.js create mode 100644 services/rest_api/constants/response.js create mode 100644 services/rest_api/services/auth.js create mode 100644 services/rest_api/utils/validate.js diff --git a/.env.test b/.env.test deleted file mode 100644 index 74d25c6..0000000 --- a/.env.test +++ /dev/null @@ -1,10 +0,0 @@ -PROCESS_TYPE=app -PORT=3000 -NODE_ENV=development - -DB_CONNECTION=mysql -DB_PORT=3306 -DB_HOST=localhost -DB_USERNAME=root -DB_PASSWORD= -DB_DATABASE=test diff --git a/index.js b/index.js index a233ee0..77ed6f5 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,4 @@ +const dotenv = require('dotenv').config(); const logger = require('winston'); const type = process.env.PROCESS_TYPE; diff --git a/package-lock.json b/package-lock.json index 2f895d4..b97c081 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2182,7 +2182,9 @@ } }, "dotenv": { - "version": "8.2.0" + "version": "8.2.0", + "resolved": "https://npm.yay.do/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" }, "duplexify": { "version": "3.7.1", @@ -3329,6 +3331,8 @@ }, "gulp": { "version": "4.0.2", + "resolved": "https://npm.yay.do/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", "dev": true, "requires": { "glob-watcher": "^5.0.3", @@ -4203,6 +4207,8 @@ }, "jest": { "version": "26.6.3", + "resolved": "https://npm.yay.do/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", "dev": true, "requires": { "@jest/core": "^26.6.3", @@ -4939,6 +4945,8 @@ }, "joi": { "version": "17.4.0", + "resolved": "https://npm.yay.do/joi/-/joi-17.4.0.tgz", + "integrity": "sha512-F4WiW2xaV6wc1jxete70Rw4V/VuMd6IN+a5ilZsxG4uYtUXWu2kq9W5P2dz30e7Gmw8RCbY/u/uk+dMPma9tAg==", "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -5088,6 +5096,8 @@ }, "koa": { "version": "2.13.1", + "resolved": "https://npm.yay.do/koa/-/koa-2.13.1.tgz", + "integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==", "requires": { "accepts": "^1.3.5", "cache-content-type": "^1.0.0", @@ -5150,6 +5160,8 @@ }, "koa-router": { "version": "10.0.0", + "resolved": "https://npm.yay.do/koa-router/-/koa-router-10.0.0.tgz", + "integrity": "sha512-gAE5J1gBQTvfR8rMMtMUkE26+1MbO3DGpGmvfmM2pR9Z7w2VIb2Ecqeal98yVO7+4ltffby7gWOzpCmdNOQe0w==", "requires": { "debug": "^4.1.1", "http-errors": "^1.7.3", @@ -7773,6 +7785,8 @@ }, "winston": { "version": "3.3.3", + "resolved": "https://npm.yay.do/winston/-/winston-3.3.3.tgz", + "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==", "requires": { "@dabh/diagnostics": "^2.0.2", "async": "^3.1.0", diff --git a/providers/mock/users.js b/providers/mock/users.js new file mode 100644 index 0000000..131867c --- /dev/null +++ b/providers/mock/users.js @@ -0,0 +1,12 @@ +module.exports = [ + { + email: "user1@gmail.com", + password: "pass1", + url: "https:/ruta" + }, + { + email: "user2@gmail.com", + password: "pass2", + url: "https:/ruta2" + } +] \ No newline at end of file diff --git a/services/rest_api/constants/response.js b/services/rest_api/constants/response.js new file mode 100644 index 0000000..012b32d --- /dev/null +++ b/services/rest_api/constants/response.js @@ -0,0 +1,15 @@ +exports.SUCCEFULL = { + code: 200, + message: "Succefull" +} + +exports.NOT_FOUND_EMAIL = { + code: 400, + message: "Not found Email" +} + + +exports.INCORRECT_PASSWORD = { + code: 400, + message: "Incorrect password " +} \ No newline at end of file diff --git a/services/rest_api/router/login/login.js b/services/rest_api/router/login/login.js index c6c4a23..1639ddb 100644 --- a/services/rest_api/router/login/login.js +++ b/services/rest_api/router/login/login.js @@ -1,10 +1,26 @@ const Router = require('koa-router'); - +const joi = require('joi'); +const authService = require('./../../services/auth')(); +const validate = require('../../utils/validate'); const router = new Router({ prefix: '/login', }); -router.post('/challenge', () => { +console.log(validate) + +router.post('/validate-email', + validate( + joi.object({ + email: joi.string().email().required(), + }) + ), authService.validEmail); + +router.post('/', () => { + +}); + + +router.post('/recovery-password', () => { }); diff --git a/services/rest_api/services/auth.js b/services/rest_api/services/auth.js new file mode 100644 index 0000000..df87c17 --- /dev/null +++ b/services/rest_api/services/auth.js @@ -0,0 +1,32 @@ + + +const {NOT_FOUND_EMAIL, SUCCEFULL, INCORRECT_PASSWORD } = require('../constants/response') +const authService = () => { + + const validateEmail = (req,res) => { + + let user = users.find(element => String.trim(element.email) == req.body.email ); + + if(!user){ + return res.json(NOT_FOUND_EMAIL); + } + return res.json(SUCCEFULL) + + } + + const login = (req,res) => { + + } + + const recoveryPassword = (req,res) => { + + } + + return { + validateEmail, + login, + recoveryPassword + } +} + +module.exports = authService; \ No newline at end of file diff --git a/services/rest_api/utils/validate.js b/services/rest_api/utils/validate.js new file mode 100644 index 0000000..cb694e3 --- /dev/null +++ b/services/rest_api/utils/validate.js @@ -0,0 +1,18 @@ +module.exports= (schema) => { + console.log("aaad") + return function (req,res, next) { + const { error, value } = schema.validate(req.body); + if (error) { + res.json({ + code:400, + message: 'Invalid Params', + error: error.message + }) + return; + } + console.log("ad") + next(); + } + + +} \ No newline at end of file From 1ea0257f4bebe55cc4d7d00171d724abd3d8ab99 Mon Sep 17 00:00:00 2001 From: "voxnox333@gmail.com" Date: Mon, 22 Feb 2021 19:09:11 -0600 Subject: [PATCH 2/2] test 2 --- services/rest_api/router/login/login.js | 5 ++--- services/rest_api/server.js | 1 + services/rest_api/services/auth.js | 10 ++++++---- services/rest_api/utils/validate.js | 13 +++++++------ 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/services/rest_api/router/login/login.js b/services/rest_api/router/login/login.js index 1639ddb..b2d1d78 100644 --- a/services/rest_api/router/login/login.js +++ b/services/rest_api/router/login/login.js @@ -6,14 +6,13 @@ const router = new Router({ prefix: '/login', }); -console.log(validate) - router.post('/validate-email', validate( joi.object({ email: joi.string().email().required(), }) - ), authService.validEmail); + ), authService.validateEmail + ); router.post('/', () => { diff --git a/services/rest_api/server.js b/services/rest_api/server.js index 86c2d20..74b8029 100644 --- a/services/rest_api/server.js +++ b/services/rest_api/server.js @@ -7,4 +7,5 @@ const app = new Koa(); // app.use(middleware.parseQuery({ allowDots: true })); app.use(routes.routes()); + module.exports = app; diff --git a/services/rest_api/services/auth.js b/services/rest_api/services/auth.js index df87c17..8c57cad 100644 --- a/services/rest_api/services/auth.js +++ b/services/rest_api/services/auth.js @@ -1,11 +1,13 @@ -const {NOT_FOUND_EMAIL, SUCCEFULL, INCORRECT_PASSWORD } = require('../constants/response') +const {NOT_FOUND_EMAIL, SUCCEFULL, INCORRECT_PASSWORD } = require('../constants/response'); +const users = require('../../../providers/mock/users'); + const authService = () => { - const validateEmail = (req,res) => { + const validateEmail = (ctx, next) => { - let user = users.find(element => String.trim(element.email) == req.body.email ); + let user = users.find(element => String(element.email).trim() == ctx.request.body.email ); if(!user){ return res.json(NOT_FOUND_EMAIL); @@ -15,7 +17,7 @@ const authService = () => { } const login = (req,res) => { - + } const recoveryPassword = (req,res) => { diff --git a/services/rest_api/utils/validate.js b/services/rest_api/utils/validate.js index cb694e3..cef58b1 100644 --- a/services/rest_api/utils/validate.js +++ b/services/rest_api/utils/validate.js @@ -1,16 +1,17 @@ module.exports= (schema) => { - console.log("aaad") - return function (req,res, next) { - const { error, value } = schema.validate(req.body); + + return (ctx, next) => { + + const { error, value } = schema.validate( ctx.request.body); if (error) { - res.json({ + return res.json({ code:400, message: 'Invalid Params', error: error.message }) - return; + } - console.log("ad") + next(); }