import type { DmsFileCenterItem } from '#/api/x/dms/fileCenter';

export function canCompareFile(item?: DmsFileCenterItem) {
  return !!item?.documentId && item.resourceType === 'FILE_VERSION' && /\.docx$/i.test(item.fileName || item.name);
}

export function comparableVersions(current: DmsFileCenterItem, versions: DmsFileCenterItem[]) {
  return versions
    .filter(
      (item) =>
        canCompareFile(item) &&
        item.documentId === current.documentId &&
        item.id !== current.id &&
        typeof item.versionNo === 'number' &&
        typeof current.versionNo === 'number' &&
        item.versionNo < current.versionNo,
    )
    .sort((a, b) => (b.versionNo || 0) - (a.versionNo || 0));
}

export function versionLabel(item?: DmsFileCenterItem) {
  return item?.versionLabel || `v${item?.versionNo ?? '—'}`;
}
