// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only

import { pick } from 'lodash';

import * as log from '../logging/log';
import type { AttachmentDraftType } from '../types/Attachment';
import { isVideoAttachment } from '../types/Attachment';

export function resolveDraftAttachmentOnDisk(
  attachment: AttachmentDraftType
): AttachmentDraftType {
  let url = '';
  if (attachment.pending) {
    return attachment;
  }

  if (attachment.screenshotPath) {
    url = window.Signal.Migrations.getAbsoluteDraftPath(
      attachment.screenshotPath
    );
  } else if (!isVideoAttachment(attachment) && attachment.path) {
    url = window.Signal.Migrations.getAbsoluteDraftPath(attachment.path);
  } else {
    log.warn(
      'resolveOnDiskAttachment: Attachment was missing both screenshotPath and path fields'
    );
  }
  return {
    ...pick(attachment, [
      'blurHash',
      'caption',
      'contentType',
      'fileName',
      'path',
      'size',
      'width',
      'height',
    ]),
    pending: false,
    url,
  };
}