From 4a4137fd20aca4c645f9952405e3097e16e17c45 Mon Sep 17 00:00:00 2001 From: LuanHalaiko Date: Fri, 24 Dec 2021 16:56:25 -0300 Subject: [PATCH 01/10] import SquadService --- services/SquadService.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 services/SquadService.js diff --git a/services/SquadService.js b/services/SquadService.js new file mode 100644 index 0000000..5b8dea4 --- /dev/null +++ b/services/SquadService.js @@ -0,0 +1,27 @@ +const connection = require("../../infrastructure/connection"); + +class SquadService { + + async create(res, body) { + const sql = + "INSERT INTO teams (name, enterprises_id) VALUES (?,?)"; + + const {name, enterprises_id} = body; + + await connection.query( + sql, + [name, enterprises_id], + (err, results) => { + if (err) { + return err; + } + + setTimeout(() => { + return res(results); + }); + } + ); + } +} + +module.exports = SquadService; From 45af2f6da58c2421ac2b38201c726a5de778d800 Mon Sep 17 00:00:00 2001 From: LuanHalaiko Date: Fri, 24 Dec 2021 16:59:21 -0300 Subject: [PATCH 02/10] add handleCreateSquad() route into routes.js --- routes.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/routes.js b/routes.js index e4e9fce..69b3439 100644 --- a/routes.js +++ b/routes.js @@ -7,6 +7,7 @@ const jsonParser = bodyParser.json() // importar aqui os controllers const ExampleMemberNameController = require('./controllers/Example/ExampleMemberNameController'); const CategoryController = require('./controllers/CategoryController'); +const SquadController = require('./controllers/SquadController'); // 1 - utilizar .get para buscar infos e .post para cadastrar infos @@ -19,4 +20,6 @@ router.post("/membersName/create", jsonParser, new ExampleMemberNameController() router.post("/category/create", jsonParser, new CategoryController().handleCreateCategory); +router.post("/squad/create", jsonParser, new SquadController().handleCreateSquad); + module.exports = router; \ No newline at end of file From 48274659c4a2b92870824d0eaba9aa08b588baaa Mon Sep 17 00:00:00 2001 From: LuanHalaiko Date: Fri, 24 Dec 2021 17:00:06 -0300 Subject: [PATCH 03/10] import SquadController --- controllers/SquadController.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 controllers/SquadController.js diff --git a/controllers/SquadController.js b/controllers/SquadController.js new file mode 100644 index 0000000..c206dcd --- /dev/null +++ b/controllers/SquadController.js @@ -0,0 +1,17 @@ +const SquadService = require('../services/SquadService'); + +class SquadController { + + handleCreateSquad(request, response) { + + const service = new SquadService(); + const body = request.body; + + service.create(response, body).then(result => { + response.send(result); + }); + + } +} + +module.exports = SquadController; \ No newline at end of file From 91a2a84b4ba1f30d20139e3abbadb1d93cc5f0df Mon Sep 17 00:00:00 2001 From: LuHaKo Date: Mon, 17 Jan 2022 16:58:58 -0300 Subject: [PATCH 04/10] Update SquadController with new service create logic --- controllers/SquadController.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/controllers/SquadController.js b/controllers/SquadController.js index c206dcd..05c7077 100644 --- a/controllers/SquadController.js +++ b/controllers/SquadController.js @@ -5,13 +5,13 @@ class SquadController { handleCreateSquad(request, response) { const service = new SquadService(); - const body = request.body; + const {body} = request; - service.create(response, body).then(result => { - response.send(result); + service.create(body, (res) => { + return response.json(res) }); } } -module.exports = SquadController; \ No newline at end of file +module.exports = SquadController; From cfe9c50f7246e3fdece5b97655719fccff9e7c9d Mon Sep 17 00:00:00 2001 From: LuHaKo Date: Mon, 17 Jan 2022 17:04:43 -0300 Subject: [PATCH 05/10] Change the order of create() parameters --- services/SquadService.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/SquadService.js b/services/SquadService.js index 5b8dea4..42ca57d 100644 --- a/services/SquadService.js +++ b/services/SquadService.js @@ -1,8 +1,8 @@ -const connection = require("../../infrastructure/connection"); +const connection = require("../infrastructure/connection"); class SquadService { - async create(res, body) { + async create(body, res){ const sql = "INSERT INTO teams (name, enterprises_id) VALUES (?,?)"; From 5efb2f3204c8343696dab66ed25505706045fdb0 Mon Sep 17 00:00:00 2001 From: edusaitto Date: Sun, 23 Jan 2022 09:43:13 -0300 Subject: [PATCH 06/10] getCards - PointService --- controllers/MemberController.js | 13 ++++++------ controllers/PointController.js | 12 +++++++++++ index.js | 5 +++++ routes.js | 5 ++++- services/MemberService.js | 4 ++-- services/PointService.js | 37 +++++++++++++++++++++++++++++++++ 6 files changed, 66 insertions(+), 10 deletions(-) create mode 100644 controllers/PointController.js create mode 100644 services/PointService.js diff --git a/controllers/MemberController.js b/controllers/MemberController.js index 2aa21ab..2cb2caa 100644 --- a/controllers/MemberController.js +++ b/controllers/MemberController.js @@ -1,23 +1,22 @@ -const MemberService = require('../services/memberService'); +const MemberService = require('../services/MemberService'); class MemberController { handleGetMember(request, response) { const service = new MemberService(); - service.getMember((res) => { + service.get((res) => { return response.json(res) - }) + }) } - handleCreateMember(request, response) { - - const service = new MemberService(); + handleCreateMember(request, response) { + const service = new Tourada(); const body = request.body; - service.create(body, (res) => { return response.json(res) }) } + } module.exports = MemberController; \ No newline at end of file diff --git a/controllers/PointController.js b/controllers/PointController.js new file mode 100644 index 0000000..f1474f6 --- /dev/null +++ b/controllers/PointController.js @@ -0,0 +1,12 @@ +const PointService = require('../services/PointService'); + +class PointController { + handleGetCards(request, response) { + const service = new PointService(); + service.getCards((res) => { + return response.json(res) + }) + } +} + +module.exports = PointController; diff --git a/index.js b/index.js index 0129f92..95f6e01 100644 --- a/index.js +++ b/index.js @@ -10,6 +10,11 @@ try { app.use(router); app.use(express.json()); + app.use(function(req, res, next) { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); + next(); + }); app.listen('3001', () => { console.log('Servidor rodando na porta 3001') }) diff --git a/routes.js b/routes.js index 85b0611..ca80d89 100644 --- a/routes.js +++ b/routes.js @@ -10,6 +10,7 @@ const ExampleMemberNameController = require('./controllers/Example/ExampleMember const CategoryController = require('./controllers/CategoryController'); const RuleController = require('./controllers/RuleController'); const MemberController = require('./controllers/MemberController'); +const PointController = require('./controllers/PointController'); const origin = 'localhost:3000' const allowCors = cors({origin}) @@ -23,7 +24,7 @@ router.get("/membersName", new ExampleMemberNameController().handleGetMemberName router.get("/rules", allowCors, new RuleController().handleGetRule); -router.get("/members", allowCors, new MemberController().handleGetMember); +router.get("/members", cors({origin: 'http://localhost:3000'}), new MemberController().handleGetMember); router.post("/membersName/create", allowCors, jsonParser, new ExampleMemberNameController().handleCreateMemberName); @@ -33,4 +34,6 @@ router.post("/members/create", allowCors, jsonParser, new MemberController().han router.post("/rules/create", allowCors, jsonParser, new RuleController().handleCreateRule); +router.get("/points", allowCors, jsonParser, new PointController().handleGetCards); + module.exports = router; \ No newline at end of file diff --git a/services/MemberService.js b/services/MemberService.js index 056983f..6af038a 100644 --- a/services/MemberService.js +++ b/services/MemberService.js @@ -1,7 +1,7 @@ const connection = require('../infrastructure/connection'); class MemberService { - async getMember(res) { + async get(res) { const sql = 'SELECT * FROM members'; await connection.query(sql, (err, results) => { if (err) { @@ -24,7 +24,7 @@ class MemberService { return res(results); }); }); - } + } } module.exports = MemberService; \ No newline at end of file diff --git a/services/PointService.js b/services/PointService.js new file mode 100644 index 0000000..697accd --- /dev/null +++ b/services/PointService.js @@ -0,0 +1,37 @@ +const connection = require('../infrastructure/connection'); + +class PointService { + async getCards(res) { + let cards = []; + const sqlScores = 'select multiplier_value, rules_id from scores'; + const sqlRules = 'select id, point, optional_point from rules'; + await connection.query(sqlScores, async (err, resultScores) => { + if (err) { + return err; + } + await connection.query(sqlRules, (err, resultRules) => { + if (err) { + return err; + } + let expected = 0, total = 0, percentage = 0; + resultScores.map((score) => { + resultRules.map((rule) => { + if (score.rules_id === rule.id) { + total = total + (score.multiplier_value * rule.point) + if (rule.optional_point === 0) { + expected = expected + (score.multiplier_value * rule.point) + } + } + }) + }) + percentage = (total/expected)*100 + cards = [expected, total, percentage]; + }); + setTimeout(() => { + return res(cards); + }); + }); + } +} + +module.exports = PointService; \ No newline at end of file From 2c8866bca9cdd51af5eaaea17acba403bd90c3a7 Mon Sep 17 00:00:00 2001 From: Niip07 Date: Sun, 23 Jan 2022 10:26:18 -0300 Subject: [PATCH 07/10] cors point --- routes.js | 2 +- services/PointService.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/routes.js b/routes.js index ca80d89..039dee5 100644 --- a/routes.js +++ b/routes.js @@ -34,6 +34,6 @@ router.post("/members/create", allowCors, jsonParser, new MemberController().han router.post("/rules/create", allowCors, jsonParser, new RuleController().handleCreateRule); -router.get("/points", allowCors, jsonParser, new PointController().handleGetCards); +router.get("/points", cors({origin: 'http://localhost:3000'}), jsonParser, new PointController().handleGetCards); module.exports = router; \ No newline at end of file diff --git a/services/PointService.js b/services/PointService.js index 697accd..e0695cf 100644 --- a/services/PointService.js +++ b/services/PointService.js @@ -24,7 +24,7 @@ class PointService { } }) }) - percentage = (total/expected)*100 + percentage = parseInt((total/expected)*100); cards = [expected, total, percentage]; }); setTimeout(() => { From 600dbfbdf83cf2dce2e3262b9049a2059f957635 Mon Sep 17 00:00:00 2001 From: Luan Cachoroski Halaiko Date: Thu, 27 Jan 2022 16:07:17 -0300 Subject: [PATCH 08/10] Update CategoryController wih new service create logic --- controllers/CategoryController.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/controllers/CategoryController.js b/controllers/CategoryController.js index f8c94a3..36d22e0 100644 --- a/controllers/CategoryController.js +++ b/controllers/CategoryController.js @@ -1,14 +1,14 @@ -const CategoryService = require('../services/categoryService'); +const CategoryService = require('../services/CategoryService'); class CategoryController { handleCreateCategory(request, response) { const service = new CategoryService(); - const body = request.body; + const {body} = request; - service.create(response, body).then(result => { - response.send(result); + service.create(body, (res) => { + return response.json(res) }); } From b052c6937dc6f7047e48c60d33cbcdc52ee0e6d6 Mon Sep 17 00:00:00 2001 From: Luan Cachoroski Halaiko Date: Thu, 27 Jan 2022 16:12:12 -0300 Subject: [PATCH 09/10] Change the order of create() parameters in CategoryService --- services/CategoryService.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/CategoryService.js b/services/CategoryService.js index c7180e4..e6074eb 100644 --- a/services/CategoryService.js +++ b/services/CategoryService.js @@ -2,7 +2,7 @@ const connection = require("../infrastructure/connection"); class CategoryService { - async create(res, body) { + async create(body, res){ const sql = "INSERT INTO categories (name, description, enterprises_id) VALUES (?,?,?)"; From a27774b27d8683f4ce6c945febd0c94f2888b792 Mon Sep 17 00:00:00 2001 From: Eduardo Portella Date: Sat, 5 Feb 2022 15:05:49 -0300 Subject: [PATCH 10/10] get category (done) --- controllers/CategoryController.js | 7 +++++++ services/CategoryService.js | 12 ++++++++++++ services/Example/ExampleMemberNameService.js | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/controllers/CategoryController.js b/controllers/CategoryController.js index 36d22e0..1ed7e51 100644 --- a/controllers/CategoryController.js +++ b/controllers/CategoryController.js @@ -2,6 +2,13 @@ const CategoryService = require('../services/CategoryService'); class CategoryController { + handleGetCategory(request, response){ + const service = new CategoryService(); + service.get((res) => { + return response.json(res); + }) + } + handleCreateCategory(request, response) { const service = new CategoryService(); diff --git a/services/CategoryService.js b/services/CategoryService.js index e6074eb..87b1912 100644 --- a/services/CategoryService.js +++ b/services/CategoryService.js @@ -22,6 +22,18 @@ class CategoryService { } ); } + + async get(res){ + const sql = 'SELECT * FROM categories'; + await connection.query(sql, (err, results) => { + if (err) { + return err; + } + setTimeout(() => { + return res(results); + }); + }); + } } module.exports = CategoryService; diff --git a/services/Example/ExampleMemberNameService.js b/services/Example/ExampleMemberNameService.js index 7ec59a2..f003dd8 100644 --- a/services/Example/ExampleMemberNameService.js +++ b/services/Example/ExampleMemberNameService.js @@ -2,7 +2,7 @@ const connection = require('../../infrastructure/connection'); // criação de classe para ser exportada -class ExampleMemberNameService { +class ExampleMemberNameService { // criação da função a ser utilizada no controller // sempre passar o res como parâmetro async getMemberName(res) {