From 5d26af511cd8ee86c215fc862b2231d5c2fdd924 Mon Sep 17 00:00:00 2001 From: Joao Ramos Date: Tue, 3 Sep 2024 20:10:32 +0100 Subject: [PATCH] Initial improvements on assets for assignments validation --- src/utils/assignments.ts | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/src/utils/assignments.ts b/src/utils/assignments.ts index 941397e3..48835958 100644 --- a/src/utils/assignments.ts +++ b/src/utils/assignments.ts @@ -1,10 +1,37 @@ import moment from "moment"; import {Assignment} from "@/interfaces/results"; -export const futureAssignmentFilter = (a: Assignment) => moment(a.startDate).isAfter(moment()) && !a.archived; +export const futureAssignmentFilter = (a: Assignment) => { + if(a.archived) return false; + if(a.start) return false; -export const pastAssignmentFilter = (a: Assignment) => moment(a.endDate).isBefore(moment()) && !a.archived; + const currentDate = moment(); + + if(moment(a.startDate).isBefore(currentDate)) return true; + return false; +} + +export const pastAssignmentFilter = (a: Assignment) => { + const currentDate = moment(); + if(a.archived) { + return false; + } + + return moment(a.endDate).isBefore(currentDate); +} export const archivedAssignmentFilter = (a: Assignment) => a.archived; -export const activeAssignmentFilter = (a: Assignment) => moment(a.endDate).isAfter(moment()) && moment(a.startDate).isBefore(moment()); +export const activeAssignmentFilter = (a: Assignment) => { + const currentDate = moment(); + if(moment(a.endDate).isBefore(currentDate)) return false; + if(a.archived) return false; + + if(a.start) return true; + + if(a.autoStart && a.autoStartDate) { + return moment(a.autoStartDate).isBefore(currentDate); + } + + return false; +};