/**
 * Helpers purs de l'onglet Adresse transporteur (M4 Transport, ERP-167) — miroir
 * SIMPLIFIÉ de `providerAddress` (M3) / `SupplierAddressBlock` (M2), sans sites /
 * catégories / contacts (les sites du M4 vivent dans l'onglet Prix). Testables
 * sans Vue.
 */

import type { CarrierAddressFormDraft } from '~/modules/transport/types/carrierForm'

/**
 * Payload de la sous-ressource address (groupe `carrier:write:addresses`). Les
 * scalaires sont nullable côté entité : on envoie `null` quand le champ est vide
 * (le `CarrierAddressProcessor` re-valide la présence si affrété — RG-4.05 — et
 * renvoie une 422 par champ).
 */
export function buildCarrierAddressPayload(address: CarrierAddressFormDraft): Record<string, unknown> {
    return {
        country: address.country,
        postalCode: address.postalCode || null,
        city: address.city || null,
        street: address.street || null,
        streetComplement: address.streetComplement || null,
    }
}
