diff --git a/ExpressAPI/src/helpers/Prisma/Extensions/AssignmentResultExtension.ts b/ExpressAPI/src/helpers/Prisma/Extensions/AssignmentResultExtension.ts
new file mode 100644
index 0000000000000000000000000000000000000000..56819c91d853807036d4848fd6b9fbefcc128792
--- /dev/null
+++ b/ExpressAPI/src/helpers/Prisma/Extensions/AssignmentResultExtension.ts
@@ -0,0 +1,36 @@
+import { Prisma }   from '@prisma/client';
+import { Exercise } from '../../../types/DatabaseTypes';
+import db           from '../../DatabaseHelper';
+import LazyVal      from '../../../shared/helpers/LazyVal';
+
+
+async function getCorrections(assignment: { name: string }): Promise<Array<Exercise> | undefined> {
+    try {
+        return await db.exercise.findMany({
+                                              where: {
+                                                  assignmentName  : assignment.name,
+                                                  correctionCommit: {
+                                                      not: Prisma.JsonNull
+                                                  }
+                                              }
+                                          }) as Array<Exercise> ?? undefined;
+    } catch ( e ) {
+        return undefined;
+    }
+}
+
+export default Prisma.defineExtension(client => {
+    return client.$extends({
+                               result: {
+                                   assignment: {
+                                       corrections: {
+                                           compute(assignment) {
+                                               return new LazyVal<Array<Exercise> | undefined>(() => {
+                                                   return getCorrections(assignment);
+                                               });
+                                           }
+                                       }
+                                   }
+                               }
+                           });
+});
\ No newline at end of file
diff --git a/ExpressAPI/src/helpers/Prisma/Extensions/ExerciseResultExtension.ts b/ExpressAPI/src/helpers/Prisma/Extensions/ExerciseResultExtension.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e11b4e247e78b59b49e0ebd52cb669857954d431
--- /dev/null
+++ b/ExpressAPI/src/helpers/Prisma/Extensions/ExerciseResultExtension.ts
@@ -0,0 +1,19 @@
+import { Prisma } from '@prisma/client';
+
+
+export default Prisma.defineExtension(client => {
+    return client.$extends({
+                               result: {
+                                   exercise: {
+                                       isCorrection: {
+                                           needs: {
+                                               correctionCommit: true
+                                           },
+                                           compute(exercise) {
+                                               return exercise.correctionCommit != null;
+                                           }
+                                       }
+                                   }
+                               }
+                           });
+});
\ No newline at end of file