/*
|--------------------------------------------------------------------------
| Agência PSI — whitelist de campos do agenda_eventos
|--------------------------------------------------------------------------
| Whitelist canônica de campos aceitos na tabela agenda_eventos pra INSERT/
| UPDATE via cliente. Filtra qualquer chave não-prevista (defesa contra bug
| onde payload acidentalmente carrega field defaultado pelo banco — como
| modalidade='presencial' do bug de 2026-05-16).
|
| Memoria: project_pickdbfields_whitelist.md — antes era inline em
| useMelissaAgenda.js. Extraído na Fase A.
|--------------------------------------------------------------------------
*/

const ALLOWED_FIELDS = [
    'owner_id', 'terapeuta_id', 'patient_id',
    'tipo', 'status', 'titulo', 'observacoes', 'modalidade',
    'inicio_em', 'fim_em', 'visibility_scope',
    'mirror_of_event_id', 'mirror_source',
    'determined_commitment_id', 'titulo_custom', 'extra_fields',
    'recurrence_id', 'recurrence_date',
    'price', 'insurance_plan_id', 'insurance_guide_number',
    'insurance_value', 'insurance_plan_service_id'
];

export function pickDbFields(obj) {
    const out = {};
    for (const k of ALLOWED_FIELDS) {
        if (obj[k] !== undefined) out[k] = obj[k];
    }
    return out;
}

export { ALLOWED_FIELDS };
