import {
  DEVICE_CERTIFICATE_FILE_NAME,
  DEVICE_PRIVATE_KEY_FILE_NAME,
  DEVICE_ROOT_CERT_FILE_NAME
} from '../../infrastructure/certificate-paths';
import { Spawner } from '../../util/spawner';

export async function writeCertificate({
  spawner,
  certificate,
  privateKey,
  rootCa
}: {
  spawner: Spawner;
  certificate: string;
  privateKey: string;
  rootCa: string;
}) {
  await spawner.mkdirp();

  // save certificate
  await spawner.writeFile(DEVICE_CERTIFICATE_FILE_NAME, certificate);

  // Save private key
  await spawner.writeFile(DEVICE_PRIVATE_KEY_FILE_NAME, privateKey);

  // save root cert
  await spawner.writeFile(DEVICE_ROOT_CERT_FILE_NAME, rootCa);
}
