import * as certManager from 'aws-cdk-lib/aws-certificatemanager';
import { Construct } from 'constructs';

// Create or reference an ACM certificate
export const certificate = (scope: Construct, accountStage: string, cloudFlare: boolean) => {
  if (accountStage === 'staging') {
    if (cloudFlare) {
      return certManager.Certificate.fromCertificateArn(
        scope,
        'ApiGatewayCertificate' + 'CloudFlare',
        'arn:aws:acm:us-east-2:590183763515:certificate/373f5558-6bd8-4662-a664-a283d2e3b400'
      );
    }
    return certManager.Certificate.fromCertificateArn(
      scope,
      'ApiGatewayCertificate',
      'arn:aws:acm:us-east-2:590183763515:certificate/39fc2086-d72c-430a-bf4d-f776d9ee3e93'
    );
  }
  if (accountStage === 'prod') {
    if (cloudFlare) {
      return certManager.Certificate.fromCertificateArn(
        scope,
        'ApiGatewayCertificate' + 'CloudFlare',
        'arn:aws:acm:us-east-2:734185074900:certificate/6a2927eb-3463-4b20-b8f2-bea765b8b717'
      );
    }
    return certManager.Certificate.fromCertificateArn(
      scope,
      'ApiGatewayCertificate',
      'arn:aws:acm:us-east-2:734185074900:certificate/25359a18-026e-41b1-b30c-a8fa3df42819'
    );
  }
  return certManager.Certificate.fromCertificateArn(
    scope,
    'ApiGatewayCertificate',
    'arn:aws:acm:us-east-2:590183763515:certificate/39fc2086-d72c-430a-bf4d-f776d9ee3e93'
  );
};
