feat(final-docs): hasRequired/allUploaded on FinalDocumentStatus for optional-uploads mode
This commit is contained in:
@@ -18,6 +18,8 @@ export type FinalDocumentStatus = {
|
||||
deadlinePassed: boolean
|
||||
requirements: FinalDocRequirement[]
|
||||
allRequiredUploaded: boolean
|
||||
hasRequired: boolean // any slot is marked required
|
||||
allUploaded: boolean // every listed slot has a file (false when no slots exist)
|
||||
}
|
||||
|
||||
// A LIVE_FINAL round is "open for documents" during the lead-up — while it is
|
||||
@@ -94,6 +96,8 @@ export async function getFinalDocumentStatusForProject(
|
||||
|
||||
const required = reqStatuses.filter((r) => r.isRequired)
|
||||
const allRequiredUploaded = required.length > 0 && required.every((r) => r.uploaded)
|
||||
const hasRequired = required.length > 0
|
||||
const allUploaded = reqStatuses.length > 0 && reqStatuses.every((r) => r.uploaded)
|
||||
const deadline = round.windowCloseAt ?? null
|
||||
return {
|
||||
roundId: round.id,
|
||||
@@ -102,6 +106,8 @@ export async function getFinalDocumentStatusForProject(
|
||||
deadlinePassed: deadline ? new Date() > deadline : false,
|
||||
requirements: reqStatuses,
|
||||
allRequiredUploaded,
|
||||
hasRequired,
|
||||
allUploaded,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user