From 84d34597819a0fcb379a85ab7efe53a468367d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Veronika=20Feh=C3=A9rv=C3=ADziov=C3=A1?= <128744051+VeronikaFeherviziova@users.noreply.github.com> Date: Sat, 1 Nov 2025 20:04:13 +0100 Subject: [PATCH] feat: add function for getting possible new internship statuses based on current one --- frontend/app/types/internship_status.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/frontend/app/types/internship_status.ts b/frontend/app/types/internship_status.ts index 5789229..5a57726 100644 --- a/frontend/app/types/internship_status.ts +++ b/frontend/app/types/internship_status.ts @@ -32,4 +32,21 @@ export function prettyInternshipStatus(status: InternshipStatus) { default: throw new Error("Unknown status"); } +} + +export function possibleNextStates(status: InternshipStatus) { + switch (status) { + case InternshipStatus.SUBMITTED: + return [InternshipStatus.CONFIRMED, InternshipStatus.DENIED]; + case InternshipStatus.CONFIRMED: + return [InternshipStatus.SUBMITTED, InternshipStatus.DENIED, InternshipStatus.DEFENDED, InternshipStatus.NOT_DEFENDED]; + case InternshipStatus.DENIED: + return [InternshipStatus.SUBMITTED, InternshipStatus.CONFIRMED]; + case InternshipStatus.DEFENDED: + return []; + case InternshipStatus.NOT_DEFENDED: + return []; + default: + throw new Error("Unknown status"); + } } \ No newline at end of file