Files
CRM-LeadRadar/apps/api/src/lib/patch.ts
T
yuriandClaude Opus 5.5 9749da5ae7 Lead Radar: исходный код
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-25 23:11:04 +04:00

10 lines
704 B
TypeScript

/**
* Для PATCH-запросов: оставляет из разобранного тела только поля, которые клиент действительно
* прислал. Схема с `.partial()` подставляет значения по умолчанию и в пропущенные поля — без
* этой фильтрации правка одного поля сбрасывала бы остальные.
*/
export function onlySent<T extends object>(body: unknown, parsed: T): Partial<T> {
const sent = body !== null && typeof body === 'object' ? body : {};
return Object.fromEntries(Object.entries(parsed).filter(([key]) => key in sent)) as Partial<T>;
}