moved deleteUnverifiedTeams to event router

This commit is contained in:
La_Felx
2023-01-03 22:34:30 +01:00
parent e8c7dfc5e6
commit e8941f5f18
3 changed files with 18 additions and 19 deletions
+10 -13
View File
@@ -44,7 +44,7 @@ const detailedTeam = {
const verified = { const verified = {
verified: { verified: {
equals: true, equals: true,
} },
}; };
export const getTeams = async (req: Request, res: Response) => { export const getTeams = async (req: Request, res: Response) => {
@@ -66,7 +66,7 @@ export const getTeam = async (req: Request<{ pid: string }>, res: Response) => {
} }
const team = await prisma.team.findUnique({ const team = await prisma.team.findUnique({
where: {pid: pid}, where: { pid: pid },
select: detailedTeam, select: detailedTeam,
}); });
@@ -150,13 +150,13 @@ export const deleteTeam = async (req: Request, res: Response) => {
} }
}; };
export const deleteUnverifiedTeams =async (req: Request, res: Response) => { export const deleteUnverifiedTeams = async (req: Request, res: Response) => {
const { pid } = req.params; const { pid } = req.params;
await _deleteUnverifiedTeams(pid); await _deleteUnverifiedTeams(pid);
res.status(204).end(); res.status(204).end();
} };
export async function checkTeamExistence(teamPid: string) { export async function checkTeamExistence(teamPid: string) {
const teamCount = await prisma.team.count({ const teamCount = await prisma.team.count({
@@ -165,7 +165,7 @@ export async function checkTeamExistence(teamPid: string) {
if (teamCount == 0) { if (teamCount == 0) {
throw new NotFoundError("team", teamPid); throw new NotFoundError("team", teamPid);
} }
}; }
export async function getGroupsByTeamPid(teamPid: string) { export async function getGroupsByTeamPid(teamPid: string) {
const team = await prisma.team.findUnique({ const team = await prisma.team.findUnique({
@@ -175,20 +175,17 @@ export async function getGroupsByTeamPid(teamPid: string) {
let groups: string[] = []; let groups: string[] = [];
team?.participants.forEach((participant: { group: { pid: string; }; }) => { team?.participants.forEach((participant: { group: { pid: string } }) => {
groups.push(participant.group.pid); groups.push(participant.group.pid);
}); });
return groups; return groups;
}; }
export async function _deleteUnverifiedTeams(eventPid: string) { export async function _deleteUnverifiedTeams(eventPid: string) {
await prisma.team.deleteMany({ await prisma.team.deleteMany({
where: { where: {
AND: [{discipline: {event: {pid: eventPid}}}, AND: [{ discipline: { event: { pid: eventPid } } }, { verified: { equals: false } }],
{verified: {equals: false}} },
]
}
}); });
}; }
+8 -1
View File
@@ -1,7 +1,8 @@
import Express from "express"; import Express from "express";
import { string } from "zod"; import { string } from "zod";
import { addEvent, deleteEvent, getAllEvents, getEvent, updateEvent } from "../Controllers/event.controller"; import { addEvent, deleteEvent, getAllEvents, getEvent, updateEvent } from "../Controllers/event.controller";
import { requireAuthentication } from "../Middleware/auth/auth"; import { requireAuthentication, requireConfiguredAuthentication } from "../Middleware/auth/auth";
import { deleteUnverifiedTeams } from "../Controllers/team.controller";
const router = Express.Router(); const router = Express.Router();
router.get("/", getAllEvents); router.get("/", getAllEvents);
@@ -14,4 +15,10 @@ router.patch<"/:pid/", { pid: string }>("/:pid/", requireAuthentication, updateE
router.delete<"/:pid/", { pid: string }>("/:pid/", requireAuthentication, deleteEvent); router.delete<"/:pid/", { pid: string }>("/:pid/", requireAuthentication, deleteEvent);
router.delete<"/:pid/deleteUnverified/", {pid: string}>(
"/:pid/deleteUnverified/",
requireConfiguredAuthentication({optional: false, type: "admin"}),
deleteUnverifiedTeams
);
export default router; export default router;
-5
View File
@@ -22,10 +22,5 @@ router.delete<"/:pid/", { pid: string }>(
requireConfiguredAuthentication({ optional: false, type: { admin: true, teamleader: true } }), requireConfiguredAuthentication({ optional: false, type: { admin: true, teamleader: true } }),
deleteTeam deleteTeam
); );
router.delete<"/:pid/deleteUnverified/", {pid: string}>(
"/:pid/deleteUnverified/",
requireConfiguredAuthentication({optional: false, type: "admin"}),
deleteUnverifiedTeams
);
export default router; export default router;