diff --git a/src/Controllers/team.controller.ts b/src/Controllers/team.controller.ts index dd73e24..3d64fbb 100644 --- a/src/Controllers/team.controller.ts +++ b/src/Controllers/team.controller.ts @@ -150,6 +150,14 @@ export const deleteTeam = async (req: Request, res: Response) => { } }; +export const deleteUnverifiedTeams =async (req: Request, res: Response) => { + const { pid } = req.params; + + await _deleteUnverifiedTeams(pid); + + res.status(204).end(); +} + export async function checkTeamExistence(teamPid: string) { const teamCount = await prisma.team.count({ where: { pid: teamPid }, @@ -173,3 +181,14 @@ export async function getGroupsByTeamPid(teamPid: string) { return groups; }; + +export async function _deleteUnverifiedTeams(eventPid: string) { + await prisma.team.deleteMany({ + where: { + AND: [{discipline: {event: {pid: eventPid}}}, + {verified: {equals: false}} + ] + } + + }); +}; diff --git a/src/Routes/team.routes.ts b/src/Routes/team.routes.ts index 7a79ea1..aac4c2f 100644 --- a/src/Routes/team.routes.ts +++ b/src/Routes/team.routes.ts @@ -1,6 +1,6 @@ import express from "express"; import { requireConfiguredAuthentication } from "../Middleware/auth/auth"; -import { deleteTeam, getTeam, getTeams, updateTeam } from "../Controllers/team.controller"; +import { deleteTeam, deleteUnverifiedTeams, getTeam, getTeams, updateTeam } from "../Controllers/team.controller"; import { getRolesForTeam } from "../Controllers/role.controller"; const router = express.Router(); @@ -22,5 +22,10 @@ router.delete<"/:pid/", { pid: string }>( requireConfiguredAuthentication({ optional: false, type: { admin: true, teamleader: true } }), deleteTeam ); +router.delete<"/:pid/deleteUnverified/", {pid: string}>( + "/:pid/deleteUnverified/", + requireConfiguredAuthentication({optional: false, type: "admin"}), + deleteUnverifiedTeams +); export default router;