From 18baf935babb4adb26b81da5baf593a8e47bb406 Mon Sep 17 00:00:00 2001 From: Daniel-Alvarenga Date: Mon, 5 Aug 2024 20:31:16 -0300 Subject: [PATCH] Add all get tables for admin --- .../modules/controllers/adminControllers.ts | 84 +++++++++++++++++-- .../Coordenadores.ts} | 3 +- .../services/admin/Get/CoordenasdoresNames.ts | 16 ++++ .../src/modules/services/admin/Get/Cursos.ts | 11 +++ .../modules/services/admin/Get/Estagios.ts | 11 +++ .../modules/services/admin/Get/Funcionario.ts | 11 +++ .../ProfessorNames.ts} | 6 +- .../modules/services/admin/Get/Professores.ts | 21 +++++ .../src/modules/services/admin/Get/Turmas.ts | 11 +++ server/src/router/routes/admin.routes.ts | 10 ++- server/src/router/routes/imports/admin.ts | 23 +++-- 11 files changed, 189 insertions(+), 18 deletions(-) rename server/src/modules/services/admin/{GetCoordenadoresUseCase.ts => Get/Coordenadores.ts} (78%) create mode 100644 server/src/modules/services/admin/Get/CoordenasdoresNames.ts create mode 100644 server/src/modules/services/admin/Get/Cursos.ts create mode 100644 server/src/modules/services/admin/Get/Estagios.ts create mode 100644 server/src/modules/services/admin/Get/Funcionario.ts rename server/src/modules/services/admin/{GetAllProfessorUseCase.ts => Get/ProfessorNames.ts} (76%) create mode 100644 server/src/modules/services/admin/Get/Professores.ts create mode 100644 server/src/modules/services/admin/Get/Turmas.ts diff --git a/server/src/modules/controllers/adminControllers.ts b/server/src/modules/controllers/adminControllers.ts index c7c408a..801373f 100644 --- a/server/src/modules/controllers/adminControllers.ts +++ b/server/src/modules/controllers/adminControllers.ts @@ -1,6 +1,4 @@ import { Request, Response } from "express"; -import { GetAllProfessorUseCase } from "../services/admin/GetAllProfessorUseCase"; -import { GetCoordenadorUseCase } from "../services/admin/GetCoordenadoresUseCase"; import { LoginAdminUseCase } from "../services/admin/LoginAdminUseCase"; import { RegisterCoordenadorUseCase } from '../services/admin/RegisterCoordenadorUseCase'; import { RegisterCursosUseCase } from '../services/admin/RegisterCursosUseCase'; @@ -8,19 +6,49 @@ import { RegisterFuncionarioUseCase } from '../services/admin/RegisterFuncionari import { RegisterProfessorUseCase } from '../services/admin/RegisterProfessorUseCase'; import { RegisterTurmasUseCase } from '../services/admin/RegisterTurmasUseCase'; import { RefreshTokenUseCase } from "../services/admin/RefreshTokenUseCase"; +import { GetProfessoresUseCase } from "../services/admin/Get/Professores"; +import { GetFullTurmasUseCase } from "../services/admin/Get/Turmas"; +import { GetFullFuncionariosUseCase } from "../services/admin/Get/Funcionario"; +import { GetFullEstagiosUseCase } from "../services/admin/Get/Estagios"; +import { GetFullCursosUseCase } from "../services/admin/Get/Cursos"; +import { GetCoordenadorUseCase } from "../services/admin/Get/Coordenadores"; +import { GetAllProfessoresNamesUseCase } from "../services/admin/Get/ProfessorNames"; +import { GetCoordenadoresNamesUseCase } from "../services/admin/Get/CoordenasdoresNames"; + +export class GetAllProfessoresController { + async handle(req: Request, res: Response) { + + const getProfessoresUseCase = new GetAllProfessoresNamesUseCase(); + + const result = await getProfessoresUseCase.execute(); + + return res.status(201).json(result); + } +} + +export class GetAllCoordenadoresController { + async handle(req: Request, res: Response) { + + const getCoordenadorUseCase = new GetCoordenadoresNamesUseCase(); + + const result = await getCoordenadorUseCase.execute(); -export class GetAllProfessorController { + return res.status(201).json(result); + } +} + +export class GetFullProfessoresController { async handle(req: Request, res: Response) { - const getAllProfessorUseCase = new GetAllProfessorUseCase(); + const getProfessoresUseCase = new GetProfessoresUseCase(); - const result = await getAllProfessorUseCase.execute(); + const result = await getProfessoresUseCase.execute(); return res.status(201).json(result); } } -export class GetCoordenadorController { +export class GetFullCoordenadoresController { async handle(req: Request, res: Response) { const getCoordenadorUseCase = new GetCoordenadorUseCase(); @@ -111,6 +139,50 @@ export class RefreshTokenController { const result = await refreshTokenUseCase.execute(email); + return res.status(201).json(result); + } +} + +export class GetFullTurmasController { + async handle(req: Request, res: Response) { + + const getFullTurmasUseCase = new GetFullTurmasUseCase(); + + const result = await getFullTurmasUseCase.execute(); + + return res.status(201).json(result); + } +} + +export class GetFullEstagiosController { + async handle(req: Request, res: Response) { + + const getFullEstagiosUseCase = new GetFullEstagiosUseCase(); + + const result = await getFullEstagiosUseCase.execute(); + + return res.status(201).json(result); + } +} + +export class GetFullFuncionariosController { + async handle(req: Request, res: Response) { + + const getFullFuncionariosUseCase = new GetFullFuncionariosUseCase(); + + const result = await getFullFuncionariosUseCase.execute(); + + return res.status(201).json(result); + } +} + +export class GetFullCursosController { + async handle(req: Request, res: Response) { + + const getFullCursosUseCase = new GetFullCursosUseCase(); + + const result = await getFullCursosUseCase.execute(); + return res.status(201).json(result); } } \ No newline at end of file diff --git a/server/src/modules/services/admin/GetCoordenadoresUseCase.ts b/server/src/modules/services/admin/Get/Coordenadores.ts similarity index 78% rename from server/src/modules/services/admin/GetCoordenadoresUseCase.ts rename to server/src/modules/services/admin/Get/Coordenadores.ts index 08b28ab..af817eb 100644 --- a/server/src/modules/services/admin/GetCoordenadoresUseCase.ts +++ b/server/src/modules/services/admin/Get/Coordenadores.ts @@ -1,5 +1,4 @@ -import { prisma } from "../../../prisma/client"; -import { AppError } from "../../../errors/error"; +import { prisma } from "../../../../prisma/client"; import { Coordenador } from "@prisma/client"; export class GetCoordenadorUseCase { diff --git a/server/src/modules/services/admin/Get/CoordenasdoresNames.ts b/server/src/modules/services/admin/Get/CoordenasdoresNames.ts new file mode 100644 index 0000000..c7abf18 --- /dev/null +++ b/server/src/modules/services/admin/Get/CoordenasdoresNames.ts @@ -0,0 +1,16 @@ +import { prisma } from "../../../../prisma/client"; +import { AppError } from "../../../../errors/error"; +import { Coordenador } from "@prisma/client"; + +export class GetCoordenadoresNamesUseCase { + async execute(): Promise[]> { + + const coordenadores = await prisma.coordenador.findMany({}); + + return coordenadores.map(coordenador => { + return { + name: coordenador.name + } + }); + } +} \ No newline at end of file diff --git a/server/src/modules/services/admin/Get/Cursos.ts b/server/src/modules/services/admin/Get/Cursos.ts new file mode 100644 index 0000000..5c2a73b --- /dev/null +++ b/server/src/modules/services/admin/Get/Cursos.ts @@ -0,0 +1,11 @@ +import { prisma } from "../../../../prisma/client"; +import { Curso } from "@prisma/client"; + +export class GetFullCursosUseCase { + async execute(): Promise { + + const cursos = await prisma.curso.findMany({}); + + return cursos; + } +} \ No newline at end of file diff --git a/server/src/modules/services/admin/Get/Estagios.ts b/server/src/modules/services/admin/Get/Estagios.ts new file mode 100644 index 0000000..647e478 --- /dev/null +++ b/server/src/modules/services/admin/Get/Estagios.ts @@ -0,0 +1,11 @@ +import { prisma } from "../../../../prisma/client"; +import { Vaga } from "@prisma/client"; + +export class GetFullEstagiosUseCase { + async execute(): Promise { + + const estagios = await prisma.vaga.findMany({}); + + return estagios; + } +} \ No newline at end of file diff --git a/server/src/modules/services/admin/Get/Funcionario.ts b/server/src/modules/services/admin/Get/Funcionario.ts new file mode 100644 index 0000000..c273c1a --- /dev/null +++ b/server/src/modules/services/admin/Get/Funcionario.ts @@ -0,0 +1,11 @@ +import { prisma } from "../../../../prisma/client"; +import { Funcionario } from "@prisma/client"; + +export class GetFullFuncionariosUseCase { + async execute(): Promise { + + const funcionarios = await prisma.funcionario.findMany({}); + + return funcionarios; + } +} \ No newline at end of file diff --git a/server/src/modules/services/admin/GetAllProfessorUseCase.ts b/server/src/modules/services/admin/Get/ProfessorNames.ts similarity index 76% rename from server/src/modules/services/admin/GetAllProfessorUseCase.ts rename to server/src/modules/services/admin/Get/ProfessorNames.ts index e38e227..0b38243 100644 --- a/server/src/modules/services/admin/GetAllProfessorUseCase.ts +++ b/server/src/modules/services/admin/Get/ProfessorNames.ts @@ -1,9 +1,9 @@ -import { prisma } from "../../../prisma/client"; -import { AppError } from "../../../errors/error"; +import { prisma } from "../../../../prisma/client"; +import { AppError } from "../../../../errors/error"; import { Professor } from "@prisma/client"; import { Coordenador } from "@prisma/client"; -export class GetAllProfessorUseCase { +export class GetAllProfessoresNamesUseCase { async execute(): Promise[]> { const professores = await prisma.professor.findMany({ diff --git a/server/src/modules/services/admin/Get/Professores.ts b/server/src/modules/services/admin/Get/Professores.ts new file mode 100644 index 0000000..e99c703 --- /dev/null +++ b/server/src/modules/services/admin/Get/Professores.ts @@ -0,0 +1,21 @@ +import { prisma } from "../../../../prisma/client"; +import { Professor } from "@prisma/client"; + +export class GetProfessoresUseCase { + async execute(): Promise[]> { + + const professores = await prisma.professor.findMany({ + where: { + coordenador: { + none: {} + } + } + }); + + return professores.map(professor => { + return { + name: professor.name + } + }); + } +} \ No newline at end of file diff --git a/server/src/modules/services/admin/Get/Turmas.ts b/server/src/modules/services/admin/Get/Turmas.ts new file mode 100644 index 0000000..678be7c --- /dev/null +++ b/server/src/modules/services/admin/Get/Turmas.ts @@ -0,0 +1,11 @@ +import { prisma } from "../../../../prisma/client"; +import { Turma } from "@prisma/client"; + +export class GetFullTurmasUseCase { + async execute(): Promise { + + const turmas = await prisma.turma.findMany({}); + + return turmas; + } +} \ No newline at end of file diff --git a/server/src/router/routes/admin.routes.ts b/server/src/router/routes/admin.routes.ts index 5e18872..914c509 100644 --- a/server/src/router/routes/admin.routes.ts +++ b/server/src/router/routes/admin.routes.ts @@ -19,9 +19,15 @@ adminRoutes.get("/auth", (req, res) => { res.status(200).send("Admin autenticado com sucesso."); }); -adminRoutes.get("/professores", controllers.getAllProfessorController.handle); -adminRoutes.get("/coordenadores", controllers.getCoordenadoresController.handle); +adminRoutes.get("/professores", controllers.getAllProfessoresController.handle); +adminRoutes.get("/coordenadores", controllers.getAllCoordenadoresController.handle); adminRoutes.get("/cursos", controllers.getCursosController.handle); adminRoutes.get("/token/refresh", controllers.refreshTokenController.handle); +adminRoutes.get("table/professores", controllers.getFullProfessoresController.handle); +adminRoutes.get("table/coordenadores", controllers.getFullCoordenadoresController.handle); +adminRoutes.get("table/cursos", controllers.getFullCursosController.handle); +adminRoutes.get("table/estagios", controllers.getFullEstagiosController.handle); +adminRoutes.get("table/funcionarios", controllers.getFullFuncionariosController.handle); +adminRoutes.get("table/turmas", controllers.getFullTurmasController.handle); export { adminRoutes }; \ No newline at end of file diff --git a/server/src/router/routes/imports/admin.ts b/server/src/router/routes/imports/admin.ts index 3e51bc1..836c116 100644 --- a/server/src/router/routes/imports/admin.ts +++ b/server/src/router/routes/imports/admin.ts @@ -7,10 +7,16 @@ import { RegisterProfessorController, RegisterFuncionarioController, RegisterCoordenadorController, - GetAllProfessorController, - GetCoordenadorController, + GetAllProfessoresController, + GetAllCoordenadoresController, RegisterTurmaController, - RefreshTokenController + RefreshTokenController, + GetFullProfessoresController, + GetFullCoordenadoresController, + GetFullCursosController, + GetFullEstagiosController, + GetFullFuncionariosController, + GetFullTurmasController } from "../../../modules/controllers/adminControllers"; export const createControllers = () => ({ @@ -20,8 +26,15 @@ export const createControllers = () => ({ registerFuncionarioController: new RegisterFuncionarioController(), registerCoordenadorController: new RegisterCoordenadorController(), registerTurmaController: new RegisterTurmaController(), - getAllProfessorController: new GetAllProfessorController(), - getCoordenadoresController: new GetCoordenadorController(), getCursosController: new GetCursosController(), refreshTokenController: new RefreshTokenController(), + getAllProfessoresController: new GetAllProfessoresController(), + getAllCoordenadoresController: new GetAllCoordenadoresController(), + getFullProfessoresController: new GetFullProfessoresController(), + getFullCoordenadoresController: new GetFullCoordenadoresController(), + getFullCursosController: new GetFullCursosController(), + getFullEstagiosController: new GetFullEstagiosController(), + getFullFuncionariosController: new GetFullFuncionariosController(), + getFullTurmasController: new GetFullTurmasController() + }); \ No newline at end of file