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


export const getCelerySecretsFromSecretsManager = (scope: Construct, accountStage: string) => {
  if (accountStage === 'staging') {
    return secretsmanager.Secret.fromSecretAttributes(scope, 'studio-api-celery-staging-envs', {
      secretCompleteArn: 'arn:aws:secretsmanager:us-east-2:590183763515:secret:studio-api-celery-staging-envs-mTIb63',
    });
  } else if (accountStage === 'prod') {
    return secretsmanager.Secret.fromSecretAttributes(scope, 'studio-api-celery-prod-envs', {
      secretCompleteArn: 'arn:aws:secretsmanager:us-east-2:734185074900:secret:studio-api-celery-prod-envs-rR9CQr',
    });
  } else {
    throw new Error('Please set celery accountStage to staging or prod.');
  }
}

export const celerySecrets = (scope: Construct, accountStage: string) => {
  const secret = getCelerySecretsFromSecretsManager(scope, accountStage);
  let secrets = {
    DD_SERVICE: ecs.Secret.fromSecretsManager(secret, 'DD_SERVICE'),
  } as { [key: string]: ecs.Secret };

  return secrets;
};
