From 36a9c55f7a7fe0ebbe48a04a10a87cd2f6a216b5 Mon Sep 17 00:00:00 2001 From: vitorbss12 Date: Sat, 8 Oct 2022 21:33:08 -0300 Subject: [PATCH 1/4] feat: Adicionando camada model para Games --- server/src/models/games.model.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 server/src/models/games.model.ts diff --git a/server/src/models/games.model.ts b/server/src/models/games.model.ts new file mode 100644 index 0000000..9a7e046 --- /dev/null +++ b/server/src/models/games.model.ts @@ -0,0 +1,20 @@ +import { PrismaClient } from '@prisma/client' + +const prisma = new PrismaClient({ + log: ['query'], +}) + +export const getGames = async () => { + const games = await prisma.game.findMany( + { + include: + { + _count: { + select: { + ads: true + } + } + } + }) + return games; +} From e2cc797b72400067a3e81637215a2e1c69afb622 Mon Sep 17 00:00:00 2001 From: vitorbss12 Date: Sat, 8 Oct 2022 21:33:24 -0300 Subject: [PATCH 2/4] feat: Adicionando camada services para Games --- server/src/services/games.service.ts | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 server/src/services/games.service.ts diff --git a/server/src/services/games.service.ts b/server/src/services/games.service.ts new file mode 100644 index 0000000..e659cdc --- /dev/null +++ b/server/src/services/games.service.ts @@ -0,0 +1,5 @@ +import { getGames } from "../models/games.model"; + +export const getGamesService = async () => { + return getGames(); +} \ No newline at end of file From 092f03a0e2cb4dd8cac32a6c7db1c23075f43f1c Mon Sep 17 00:00:00 2001 From: vitorbss12 Date: Sat, 8 Oct 2022 21:33:40 -0300 Subject: [PATCH 3/4] feat: Adicionando camada controller para Games --- server/src/controllers/games.controller.ts | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 server/src/controllers/games.controller.ts diff --git a/server/src/controllers/games.controller.ts b/server/src/controllers/games.controller.ts new file mode 100644 index 0000000..1238d64 --- /dev/null +++ b/server/src/controllers/games.controller.ts @@ -0,0 +1,8 @@ +import { Request, Response } from "express"; +import { getGamesService } from "../services/games.service"; + +export const getGamesController = async (_req: Request, res: Response) => { + const games = await getGamesService(); + + res.status(200).json(games); +} \ No newline at end of file From 73f83dc3666ed76f054b4dd6c078c4fa7a6df8ea Mon Sep 17 00:00:00 2001 From: vitorbss12 Date: Sat, 8 Oct 2022 21:34:16 -0300 Subject: [PATCH 4/4] improve: Implementando uso da arquitetura MSC em Games --- server/src/routes/games.route.ts | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/server/src/routes/games.route.ts b/server/src/routes/games.route.ts index d1fa318..3522218 100644 --- a/server/src/routes/games.route.ts +++ b/server/src/routes/games.route.ts @@ -1,24 +1,8 @@ -// route para ads import { Router } from 'express'; -import { PrismaClient } from '@prisma/client' +import { getGamesController } from '../controllers/games.controller'; const gamesRouter = Router(); -const prisma = new PrismaClient({ - log: ['query'], -}) -gamesRouter.get('/', async (_req, res) => { - const games = await prisma.game.findMany({ include: - { - _count: { - select: { - ads: true - } - } - } - }) - - res.status(200).json(games); -}); +gamesRouter.get('/', getGamesController); export default gamesRouter; \ No newline at end of file