export function campaignMailProfileReferenceOnly(value: Record): Record { const server = isRecord(value.server) ? value.server : {}; const profileId = textId(server.mail_profile_id); const smtpServerId = textId(server.smtp_server_id); const smtpCredentialId = textId(server.smtp_credential_id); const imapServerId = textId(server.imap_server_id); const imapCredentialId = textId(server.imap_credential_id); const reference: Record = {}; if (profileId) reference.mail_profile_id = profileId; if (profileId && smtpServerId) reference.smtp_server_id = smtpServerId; if (profileId && smtpServerId && smtpCredentialId) reference.smtp_credential_id = smtpCredentialId; if (profileId && imapServerId) reference.imap_server_id = imapServerId; if (profileId && imapServerId && imapCredentialId) reference.imap_credential_id = imapCredentialId; return { ...value, server: reference }; } function textId(value: unknown): string { return typeof value === "string" ? value.trim() : ""; } function isRecord(value: unknown): value is Record { return Boolean(value) && typeof value === "object" && !Array.isArray(value); }