import { ActivityPayload, FullActivity } from './activity.interface';

export const buildEmailAttachments = (
  payload: ActivityPayload,
  files,
  quotationFile?: string,
) => {
  if (payload.type === 'files')
    return (
      files?.map((file) => ({
        name: file.fileType ? `${file.name}.${file.fileType}` : file.name,
        url: file.fileUrl,
      })) ?? []
    );

  if (payload.type === 'quote' && quotationFile)
    return [
      {
        name: 'quotation.pdf',
        url: quotationFile,
      },
    ];

  return [];
};

export const buildWhatsappFilePayload = (
  payload: ActivityPayload,
  fullActivity: FullActivity,
): string => {
  if (payload.type === 'files')
    return (
      fullActivity.files
        ?.map((file) => `${file.name} - ${file.fileUrl}`)
        .join('\n') || 'N/A'
    );

  if (payload.type === 'quote') return fullActivity.quotationFile || 'N/A';

  return 'N/A';
};

export const shouldSendEmail = (payload: ActivityPayload) => {
  if (payload.type === 'quote') return true;
  if (payload.type === 'files' && payload.isEmail) return true;
  return false;
};

export const shouldSendWhatsapp = (payload: ActivityPayload): boolean => {
  if (payload.type === 'quote') return true;

  if (payload.type === 'files' && !payload.isEmail) return true;

  return false;
};
