diff --git a/schema.graphql b/schema.graphql
index 7a012b1..2b22c48 100644
--- a/schema.graphql
+++ b/schema.graphql
@@ -301,6 +301,7 @@ type Mutation {
online(ancode: Int!): Boolean!
placesWithSockets(ancode: Int!): Boolean!
possibleDays(ancode: Int!, days: [String!]!): Boolean!
+ prePlanRoom(ancode: Int!, mtknr: String, reserve: Boolean!, roomName: String!): Boolean!
removePrimussExam(input: PrimussExamInput): Boolean!
rmConstraints(ancode: Int!): Boolean!
rmExamFromSlot(ancode: Int!): Boolean!
diff --git a/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte b/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte
index eb4d979..4a4a0c9 100644
--- a/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte
+++ b/src/lib/exam/ExamWithNTAsForRoomPlanning.svelte
@@ -3,7 +3,6 @@
export let showOnlyExamsWithNTAs;
export let details;
export let showRooms;
- // import { onMount } from 'svelte';
let exam = plannedExam.zpaExam;
let constraints = plannedExam.constraints;
@@ -154,6 +153,25 @@
}
}
}
+
+ async function prePlanRoom(ancode, room) {
+ const roomName = room.room.name;
+ const reserve = room.reserve;
+ const mtknr = room.ntaMtknr;
+
+ console.log(`ancode: ${ancode}\nroomName: ${roomName}\nreserve: ${reserve}\nmtknr: ${mtknr}`);
+
+ const res = await fetch('/api/prePlanRoom', {
+ method: 'POST',
+ body: JSON.stringify({ ancode, roomName, reserve, mtknr }),
+ headers: {
+ 'content-type': 'application/json'
+ }
+ });
+
+ const result = await res.json();
+ console.log(`result: ${JSON.stringify(result, null, 2)}`);
+ }
{#if show && showRoom}
@@ -222,6 +240,13 @@
+ {:else}
+
{/if}
{room.room.name} (
{#each room.studentsInRoom as student}
@@ -252,6 +277,13 @@
+ {:else}
+
{/if}
{room.room.name}
{#if room.room.name != 'ONLINE' && room.room.name != 'No Room'}
diff --git a/src/routes/api/prePlanRoom/+server.ts b/src/routes/api/prePlanRoom/+server.ts
new file mode 100644
index 0000000..d2c9465
--- /dev/null
+++ b/src/routes/api/prePlanRoom/+server.ts
@@ -0,0 +1,26 @@
+import { env } from '$env/dynamic/private';
+import RoomNamesInSlot from '$lib/slot/RoomNamesInSlot.svelte';
+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!, $roomName: String!, $reserve: Boolean!, $mtknr: String) {
+ prePlanRoom(ancode: $ancode, roomName: $roomName, reserve: $reserve, mtknr: $mtknr)
+ }
+ `;
+
+ const { ancode, roomName, reserve, mtknr } = await request.json();
+
+ const variables = {
+ ancode,
+ roomName,
+ reserve,
+ mtknr
+ };
+
+ const data = await gqlrequest(env.PLEXAMS_SERVER, mutation, variables);
+
+ return json(data);
+}