import * as ecs from 'aws-cdk-lib/aws-ecs';
import { Construct } from 'constructs';
import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager';

// Retrieve the secret from AWS Secrets Manager
export const ablyApiKeySecret = (scope: Construct, accountStage: string) => {
  if (accountStage === 'staging') {
    return secretsmanager.Secret.fromSecretAttributes(scope, 'ably-api-key', {
      secretCompleteArn: 'arn:aws:secretsmanager:us-east-2:590183763515:secret:ably-api-key-HsBe1C',
    });
  }
  if (accountStage === 'prod') {
    return secretsmanager.Secret.fromSecretAttributes(scope, 'ably-api-key', {
      secretCompleteArn: 'arn:aws:secretsmanager:us-east-2:734185074900:secret:ably-api-key-7SBvEh',
    });
  }
  return secretsmanager.Secret.fromSecretAttributes(scope, 'ably-api-key', {
    secretCompleteArn: 'arn:aws:secretsmanager:us-east-2:590183763515:secret:ably-api-key-bBdsOo',
  });
};

export const fluteSecrets = (scope: Construct, accountStage: string, useReplica: boolean) => {
  const secret = ablyApiKeySecret(scope, accountStage);
  let secrets = {
    ABLY_API_KEY: ecs.Secret.fromSecretsManager(secret, 'ABLY_API_KEY'),
  } as { [key: string]: ecs.Secret };

  return secrets;
};
