import { uniqueConstructeurIds } from '../constructeurUtils' export interface DefinitionOverridePayload { name?: string reference?: string constructeurIds?: string[] prix?: string } export const sanitizeDefinitionOverrides = (definition: any): DefinitionOverridePayload | null => { if (!definition || typeof definition !== 'object') { return null } const payload: DefinitionOverridePayload = {} if (typeof definition.name === 'string') { const name = definition.name.trim() if (name.length > 0) { payload.name = name } } if (typeof definition.reference === 'string') { const reference = definition.reference.trim() if (reference.length > 0) { payload.reference = reference } } const constructeurIds = uniqueConstructeurIds( definition.constructeurIds, definition.constructeurId, definition.constructeur, definition.constructeurs, ) if (constructeurIds.length) { payload.constructeurIds = constructeurIds } if (definition.prix !== undefined && definition.prix !== null && definition.prix !== '') { const parsed = Number(definition.prix) if (!Number.isNaN(parsed)) { payload.prix = String(parsed) } } return Object.keys(payload).length ? payload : null }