shoc-frontend-new/src/domain/work-orders/utils/extra-docs-aveta.ts

24 lines
766 B
TypeScript
Raw Normal View History

import type { MediaCategory, MediaFile } from "@/domain/work-orders/types/work-order-media";
/**
* Extra Docs Aveta is an explicit API media category (value 5).
* Upload stays Extra; only an explicit Aveta category counts as attached.
*/
export function resolveExtraDocCategory(file: MediaFile): MediaCategory {
if (file.purpose === "Aveta" || file.category === "Aveta") {
return "Aveta";
}
return file.category;
}
export function hasExplicitAvetaFile(files: MediaFile[]): boolean {
return files.some((item) => resolveExtraDocCategory(item) === "Aveta");
}
export function isAvetaDocumentAttached(
hasAvetaDocument: boolean | undefined,
files: MediaFile[] = [],
): boolean {
return Boolean(hasAvetaDocument) || hasExplicitAvetaFile(files);
}