import { apiRequest } from './api'; export interface FindingCatalogMergeItem { id: string; categoryId: string; categoryCode: string; categoryName: string; code: string; sourceNumber: number; title: string; legalBasis: string | null; glossary: string | null; importNote: string | null; suggestedSeverity: number | null; revision: number; isActive: boolean; } export interface FindingCatalogMergeAlias { id: string; code: string; title: string; reason: string; mergedAt: string; depth: number; } export interface FindingCatalogMergeStatus { requested: FindingCatalogMergeItem; isMerged: boolean; canonical: FindingCatalogMergeItem; aliases: FindingCatalogMergeAlias[]; } export interface FindingCatalogMergeResult { merge: { id: string; sourceItemId: string; canonicalItemId: string; reason: string; mergedAt: string; mergedBy: string; requestId: string; }; source: FindingCatalogMergeItem; canonical: FindingCatalogMergeItem; historyPolicy: 'EMITTED_FINDINGS_PRESERVED'; } export function getFindingCatalogMergeStatus(itemId: string) { return apiRequest(`/finding-catalog/items/${itemId}/merge-status`); } export function mergeFindingCatalogItem( sourceItemId: string, input: { canonicalItemId: string; reason: string }, ) { return apiRequest(`/finding-catalog/items/${sourceItemId}/merge`, { method: 'POST', body: JSON.stringify(input), }); }