mirror of
https://github.com/detleph/server.git
synced 2026-09-04 08:36:06 +02:00
[create-pull-request] push formatted files
This commit is contained in:
@@ -29,7 +29,9 @@ export const getAllAdmins = async (req: Request, res: Response) => {
|
||||
}
|
||||
|
||||
// TODO: Add exception handling
|
||||
const users = await prisma.admin.findMany({ select: { pid: true, name: true, permission_level: true, groups: { select: { pid: true } } } });
|
||||
const users = await prisma.admin.findMany({
|
||||
select: { pid: true, name: true, permission_level: true, groups: { select: { pid: true } } },
|
||||
});
|
||||
|
||||
res.status(200).json({
|
||||
type: "success",
|
||||
|
||||
@@ -168,7 +168,14 @@ export const createDiscipline = async (req: Request<{ eventPid: string }, {}, Cr
|
||||
|
||||
try {
|
||||
const discipline = await prisma.discipline.create({
|
||||
data: { name, minTeamSize, maxTeamSize, briefDescription, fullDescription, event: { connect: { pid: req.params.eventPid } } },
|
||||
data: {
|
||||
name,
|
||||
minTeamSize,
|
||||
maxTeamSize,
|
||||
briefDescription,
|
||||
fullDescription,
|
||||
event: { connect: { pid: req.params.eventPid } },
|
||||
},
|
||||
select: basicDiscipline,
|
||||
});
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ const detailedGroup = {
|
||||
organisation: { select: { pid: true, name: true } },
|
||||
participants: { select: { pid: true, firstName: true, lastName: true } },
|
||||
admins: { select: { pid: true, name: true } },
|
||||
}
|
||||
};
|
||||
|
||||
export const _getAllGroups = async (res: Response, organisationId: string | undefined) => {
|
||||
const groups = await prisma.group.findMany({
|
||||
@@ -88,12 +88,12 @@ export const getGroup = async (req: Request<GetGroupQueryParams>, res: Response)
|
||||
where: { pid },
|
||||
select: req.auth?.isAuthenticated
|
||||
? {
|
||||
pid: true,
|
||||
name: true,
|
||||
organisation: { select: { pid: true, name: true } },
|
||||
admins: { select: { pid: true, name: true } },
|
||||
participants: { select: { pid: true } },
|
||||
}
|
||||
pid: true,
|
||||
name: true,
|
||||
organisation: { select: { pid: true, name: true } },
|
||||
admins: { select: { pid: true, name: true } },
|
||||
participants: { select: { pid: true } },
|
||||
}
|
||||
: basicGroup,
|
||||
});
|
||||
|
||||
@@ -112,15 +112,15 @@ export const getGroup = async (req: Request<GetGroupQueryParams>, res: Response)
|
||||
},
|
||||
...(req.auth?.isAuthenticated
|
||||
? {
|
||||
admins: group.admins?.map((admin) => ({
|
||||
...admin,
|
||||
_links: [{ rel: "self", type: "GET", href: `/api/admins/${admin.pid}` }],
|
||||
})),
|
||||
participants: group.participants?.map((participant) => ({
|
||||
...participant,
|
||||
_links: [{ rel: "self", type: "GET", href: `/api/participant/${participant.pid}` }],
|
||||
})),
|
||||
}
|
||||
admins: group.admins?.map((admin) => ({
|
||||
...admin,
|
||||
_links: [{ rel: "self", type: "GET", href: `/api/admins/${admin.pid}` }],
|
||||
})),
|
||||
participants: group.participants?.map((participant) => ({
|
||||
...participant,
|
||||
_links: [{ rel: "self", type: "GET", href: `/api/participant/${participant.pid}` }],
|
||||
})),
|
||||
}
|
||||
: {}),
|
||||
},
|
||||
},
|
||||
|
||||
@@ -224,7 +224,6 @@ export const linkMedia = async (req: Request<{ pid: string }, {}, { mediaPid: st
|
||||
|
||||
throw e;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export const unlinkMedia = async (req: Request<{ pid: string; mediaPid: string }>, res: Response) => {
|
||||
|
||||
@@ -64,13 +64,13 @@ export const createParticipant = async (req: Request<{ teamPid: string }>, res:
|
||||
try {
|
||||
const discipline = await prisma.team.findUnique({
|
||||
where: { pid: teamPid },
|
||||
select: { discipline: true }
|
||||
select: { discipline: true },
|
||||
});
|
||||
|
||||
const maxteamsize = discipline?.discipline.maxTeamSize;
|
||||
|
||||
const userCount = await prisma.participant.count({
|
||||
where: { team: { pid: teamPid } }
|
||||
where: { team: { pid: teamPid } },
|
||||
});
|
||||
|
||||
if (maxteamsize == userCount) {
|
||||
@@ -88,7 +88,7 @@ export const createParticipant = async (req: Request<{ teamPid: string }>, res:
|
||||
select: returnedParticipant,
|
||||
});
|
||||
|
||||
return res.status(201).json({ type: "success", payload: { participant }, });
|
||||
return res.status(201).json({ type: "success", payload: { participant } });
|
||||
} catch (e) {
|
||||
if (e instanceof PrismaClientKnownRequestError && e.code === "P2025") {
|
||||
return res
|
||||
@@ -176,9 +176,7 @@ export const deleteParticipant = async (req: Request<{ pid: string }>, res: Resp
|
||||
};
|
||||
|
||||
export async function getGroupByParticipantPid(partPid: string) {
|
||||
const parti = (
|
||||
await prisma.participant.findUnique({ where: { pid: partPid }, select: { group: true } })
|
||||
)?.group.pid;
|
||||
const parti = (await prisma.participant.findUnique({ where: { pid: partPid }, select: { group: true } }))?.group.pid;
|
||||
|
||||
if (!parti) {
|
||||
throw new NotFoundError("participant", partPid);
|
||||
|
||||
@@ -106,7 +106,11 @@ export async function assignParticipantToRole(req: Request<{ pid: string }>, res
|
||||
}
|
||||
|
||||
try {
|
||||
const schema = await prisma.role.update({ where: { pid }, data: { participant: { connect: { pid: participantPid } } }, select: detailedRole });
|
||||
const schema = await prisma.role.update({
|
||||
where: { pid },
|
||||
data: { participant: { connect: { pid: participantPid } } },
|
||||
select: detailedRole,
|
||||
});
|
||||
|
||||
return res.status(200).json({
|
||||
type: "success",
|
||||
|
||||
@@ -119,7 +119,7 @@ export const deleteTeam = async (req: Request, res: Response) => {
|
||||
}
|
||||
|
||||
if (req.auth?.permission_level == "STANDARD") {
|
||||
throw new AuthError("STANDARD Admins are not allowed to delete Teams!")
|
||||
throw new AuthError("STANDARD Admins are not allowed to delete Teams!");
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -137,7 +137,7 @@ export const deleteTeam = async (req: Request, res: Response) => {
|
||||
|
||||
export async function checkTeamExistence(teamPid: string) {
|
||||
const teamCount = await prisma.team.count({
|
||||
where: { pid: teamPid, }
|
||||
where: { pid: teamPid },
|
||||
});
|
||||
if (teamCount == 0) {
|
||||
throw new NotFoundError("team", teamPid);
|
||||
@@ -145,13 +145,14 @@ export async function checkTeamExistence(teamPid: string) {
|
||||
}
|
||||
|
||||
export async function getGroupsByTeamPid(teamPid: string) {
|
||||
const team = (
|
||||
await prisma.team.findUnique({ where: { pid: teamPid }, select: { participants: { select: { group: true } } } })
|
||||
);
|
||||
const team = await prisma.team.findUnique({
|
||||
where: { pid: teamPid },
|
||||
select: { participants: { select: { group: true } } },
|
||||
});
|
||||
|
||||
let groups: string[] = [];
|
||||
|
||||
team?.participants.forEach(participant => {
|
||||
team?.participants.forEach((participant) => {
|
||||
groups.push(participant.group.pid);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user