Skip to content

Commit

Permalink
Add all get tables for admin
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel-Alvarenga committed Aug 5, 2024
1 parent d0bc43b commit 18baf93
Show file tree
Hide file tree
Showing 11 changed files with 189 additions and 18 deletions.
84 changes: 78 additions & 6 deletions server/src/modules/controllers/adminControllers.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,54 @@
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';
import { RegisterFuncionarioUseCase } from '../services/admin/RegisterFuncionarioUseCase';
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();
Expand Down Expand Up @@ -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);
}
}
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
16 changes: 16 additions & 0 deletions server/src/modules/services/admin/Get/CoordenasdoresNames.ts
Original file line number Diff line number Diff line change
@@ -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<Pick<Coordenador, 'name'>[]> {

const coordenadores = await prisma.coordenador.findMany({});

return coordenadores.map(coordenador => {
return {
name: coordenador.name
}
});
}
}
11 changes: 11 additions & 0 deletions server/src/modules/services/admin/Get/Cursos.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { prisma } from "../../../../prisma/client";
import { Curso } from "@prisma/client";

export class GetFullCursosUseCase {
async execute(): Promise<Curso[]> {

const cursos = await prisma.curso.findMany({});

return cursos;
}
}
11 changes: 11 additions & 0 deletions server/src/modules/services/admin/Get/Estagios.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { prisma } from "../../../../prisma/client";
import { Vaga } from "@prisma/client";

export class GetFullEstagiosUseCase {
async execute(): Promise<Vaga[]> {

const estagios = await prisma.vaga.findMany({});

return estagios;
}
}
11 changes: 11 additions & 0 deletions server/src/modules/services/admin/Get/Funcionario.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { prisma } from "../../../../prisma/client";
import { Funcionario } from "@prisma/client";

export class GetFullFuncionariosUseCase {
async execute(): Promise<Funcionario[]> {

const funcionarios = await prisma.funcionario.findMany({});

return funcionarios;
}
}
Original file line number Diff line number Diff line change
@@ -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<Pick<Professor, 'name'>[]> {

const professores = await prisma.professor.findMany({
Expand Down
21 changes: 21 additions & 0 deletions server/src/modules/services/admin/Get/Professores.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { prisma } from "../../../../prisma/client";
import { Professor } from "@prisma/client";

export class GetProfessoresUseCase {
async execute(): Promise<Pick<Professor, 'name'>[]> {

const professores = await prisma.professor.findMany({
where: {
coordenador: {
none: {}
}
}
});

return professores.map(professor => {
return {
name: professor.name
}
});
}
}
11 changes: 11 additions & 0 deletions server/src/modules/services/admin/Get/Turmas.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { prisma } from "../../../../prisma/client";
import { Turma } from "@prisma/client";

export class GetFullTurmasUseCase {
async execute(): Promise<Turma[]> {

const turmas = await prisma.turma.findMany({});

return turmas;
}
}
10 changes: 8 additions & 2 deletions server/src/router/routes/admin.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 };
23 changes: 18 additions & 5 deletions server/src/router/routes/imports/admin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 = () => ({
Expand All @@ -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()

});

0 comments on commit 18baf93

Please sign in to comment.