require('dotenv').config();
const { notarize } = require('electron-notarize');

exports.default = async function notarizing(context) {
  const { electronPlatformName, appOutDir } = context;  
  if (electronPlatformName !== 'darwin') {
    return;
  }

  if (!process.env.KOPIA_UI_NOTARIZE) {
    console.log('Not notarizing because KOPIA_UI_NOTARIZE is not set');
    return;
  }

  const appName = context.packager.appInfo.productFilename;

  console.log('Submitting app for Apple notarization...')
  let timerId = setInterval(() => { console.log('Still waiting for notarization response...') }, 30000);
  let x =  await notarize({
    appBundleId: 'io.kopia.ui',
    appPath: `${appOutDir}/${appName}.app`,
    appleId: process.env.APPLEID,
    appleIdPassword: process.env.APPLEIDPASS,
  });
  clearTimeout(timerId);
  return x;
};