import { Prisma } from '@prisma/client'; import { Exercise } from '../types/DatabaseTypes'; import db from '../helpers/DatabaseHelper'; class ExerciseManager { async get(idOrUrl: string, include: Prisma.ExerciseInclude | undefined = undefined): Promise<Exercise | undefined> { const id = idOrUrl.replace('.git', '').split('_').pop()!; return await db.exercise.findUnique({ where : { id: id }, include: include }) as unknown as Exercise ?? undefined; } async getFromAssignment(assignmentName: string, include: Prisma.ExerciseInclude | undefined = undefined): Promise<Array<Exercise> | undefined> { return await db.exercise.findMany({ where : { assignmentName: assignmentName }, include: include }) as Array<Exercise> ?? undefined; } } export default new ExerciseManager();