diff --git a/src/routes/api/addConstraints/+server.js b/src/routes/api/addConstraints/+server.js
new file mode 100644
index 0000000..11f4cdc
--- /dev/null
+++ b/src/routes/api/addConstraints/+server.js
@@ -0,0 +1,26 @@
+import { env } from '$env/dynamic/private';
+import { json } from '@sveltejs/kit';
+import { request as gqlrequest, gql } from 'graphql-request';
+
+/** @type {import('./$types').RequestHandler} */
+export async function POST({ request }) {
+ const mutation = gql`
+ mutation ($ancode: Int!, $constraints: ConstraintsInput!) {
+ addConstraints(ancode: $ancode, constraints: $constraints) {
+ ancode
+ }
+ }
+ `;
+
+ const { ancode, constraints } = await request.json();
+
+ const variables = {
+ ancode,
+ constraints: constraints
+ };
+ console.log('adding constraints', variables);
+
+ const data = await gqlrequest(env.PLEXAMS_SERVER, mutation, variables);
+
+ return json(data);
+}
diff --git a/src/routes/exam/constraints/+page.svelte b/src/routes/exam/constraints/+page.svelte
index 54589f1..cc5257d 100644
--- a/src/routes/exam/constraints/+page.svelte
+++ b/src/routes/exam/constraints/+page.svelte
@@ -1,7 +1,7 @@
- Constraints für Prüfung
+ Constraints
{exam.ancode}. {exam.module} ({exam.mainExamer})
-{#if constraints}
-
-
-
- {#if !constraints.notPlannedByMe}
-
-
-
- {#if constraints.excludeDays}
-
- {constraints.excludeDays}
-
- {/if}
- {#if constraints.sameSlot}
-
- Im selben Slot
-
-
- {#each constraints.sameSlotExams as sameSlotExam}
-
- | {sameSlotExam.ancode} |
- {sameSlotExam.module} |
- {sameSlotExam.mainExamer} |
-
- {/each}
-
-
-
- {/if}
-
-
{JSON.stringify(constraints, undefined, 4)}
-
- {/if}
-{:else}
+{#if !constraints}
{/if}
+
+
+
+
+{#if !constraintsInput.notPlannedByMe}
+ Raum-Constraints
+
+ Prüfungen, die im gleichen Slot stattfinden müssen
+
+
+
Verfügbare Prüfungen
+
+
+
+
+ {#each zpaExamsToPlan.filter((exam) => exam.ancode
+ .toString()
+ .includes(filterText) || exam.module
+ .toLowerCase()
+ .includes(filterText.toLowerCase()) || exam.mainExamer
+ .toLowerCase()
+ .includes(filterText.toLowerCase())) as exam (exam.ancode)}
+ -
+
+ {exam.ancode}. {exam.module} ({exam.mainExamer})
+
+
+
+ {/each}
+
+
+
+
+
+
+
Ausgewählte Prüfungen
+
+ {#each sameSlotExams as selectedExam (selectedExam.ancode)}
+ -
+
+ {selectedExam.ancode}. {selectedExam.module} ({selectedExam.mainExamer})
+
+
+
+ {/each}
+
+
+
+ Ausgeschlossene Prüfungstage
+
+ {#each days as day}
+
+ {/each}
+
+{/if}
+
+
+
+
+
+
+
+
+
+{#if showModal}
+
+
+
Constraints
+
+
{JSON.stringify(constraints, undefined, 4)}
+
+
+
+
+
+
+{/if}