# locals {
#   notifications_worker_secrets = [
#     "AUTH0_CLIENT_SECRET",
#     "SENTRY_DSN"
#   ]
# }
#
# data "aws_ecr_repository" "notifications_worker_ecr" {
#   name = "rti/lambda/notifications-worker"
# }
#
# resource "aws_cloudwatch_log_group" "notifications_worker_log_group" {
#   name              = "/aws/lambda/${local.name_prefix}-notifications_worker"
#   retention_in_days = module.cloudwatch_logs_retention_by_env[local.env_prefix]
#
#   tags = merge(
#     local.common_tags,
#     {
#       project                  = "User Preferences",
#       service                  = "CloudWatch",
#       plat_env_project_service = "${local.aggregated_tag}_UP_CW"
#     }
#   )
# }
#
# resource "aws_secretsmanager_secret" "notifications_worker_secret" {
#   for_each = toset(local.notifications_worker_secrets)
#
#   name       = "${local.secrets_name_prefix}/notifications_worker/${each.value}"
#   kms_key_id = data.aws_kms_key.secrets_general_key.id
#
#   tags = merge(
#     local.common_tags,
#     {
#       project                  = "Infrastructure",
#       service                  = "Secrets Manager",
#       plat_env_project_service = "${local.aggregated_tag}_INFRA_SCRT"
#     }
#   )
# }
#
# module "notifications_worker_role" {
#   source = "../../../modules/iam/roles/lambda_role"
#
#   name_prefix                = local.name_prefix
#   name                       = "notifications_worker_role"
#   allow_execution_inside_vpc = true
#
#   common_tags = merge(
#     local.common_tags,
#     {
#       project                  = "User Preferences",
#       service                  = "Lambda",
#       plat_env_project_service = "${local.aggregated_tag}_UP_LMB"
#     }
#   )
#
#   policies_list = [
#     data.aws_iam_policy.logging_policy.arn,
#     data.aws_iam_policy.secrets-services-ro.arn,
#     data.aws_iam_policy.notifications_consumer_policy.arn,
#     data.aws_iam_policy.notifications_bucket_ro_policy.arn,
#   ]
# }
#
# resource "aws_lambda_function" "notifications_worker_lambda" {
#   function_name = "${local.name_prefix}-notifications_worker"
#   image_uri     = "${data.aws_ecr_repository.notifications_worker_ecr.repository_url}:develop"
#   package_type  = "Image"
#   role          = module.notifications_worker_role.role.arn
#   description   = "Managed by Terraform."
#
#   timeout     = 90
#   memory_size = 256
#
#   vpc_config {
#     security_group_ids = [data.aws_security_group.lambda.id]
#     subnet_ids         = data.aws_subnets.private_subnets.ids
#   }
#
#   environment {
#     variables = {
#       DEBUG                           = "*"
#       ENVIRONMENT                     = local.environment
#       SENTRY_DSN                      = "${local.secrets_name_prefix}/notifications_worker/SENTRY_DSN"
#       DD_API_KEY                      = "${local.secrets_name_prefix}/common/DD_API_KEY"
#       DELPHI_API_CLIENT_ID            = "${local.secrets_name_prefix}/api/DELPHI_API_CLIENT_ID"
#       DELPHI_API_CLIENT_SECRET        = "${local.secrets_name_prefix}/api/DELPHI_API_CLIENT_SECRET"
#       DELPHI_API_URL                  = "https://delphi-api-ext.delphiplatform.io/v3"
#       USER_PREFERENCES_URL            = "https://dev-user-preferences.sma.stream"
#       AUTH0_AUDIENCE                  = "https://sme-dna.auth0.com/api/v2/"
#       AUTH0_CLIENT_ID                 = "haa4GEaM71pDXmr9yjefxQaDY1t3uJjV"
#       AUTH0_CLIENT_SECRET             = "${local.secrets_name_prefix}/notifications_worker/AUTH0_CLIENT_SECRET"
#       AUTH0_MANAGEMENT_API            = "https://sme-dna.auth0.com/"
#       AUTH0_PERMISSION_CONTEXT        = "https://dev-api.sma.stream"
#       AUTH0_SUPERUSER_PERMISSION_NAME = "superuser"
#     }
#   }
#
#   tags = merge(
#     local.common_tags,
#     {
#       project                  = "User Preferences",
#       service                  = "Lambda",
#       plat_env_project_service = "${local.aggregated_tag}_UP_LMB"
#     }
#   )
#
#   depends_on = [
#     aws_secretsmanager_secret.notifications_worker_secret,
#     aws_cloudwatch_log_group.notifications_worker_log_group,
#     module.notifications_worker_role,
#   ]
#
#   lifecycle {
#     ignore_changes = [
#       image_uri
#     ]
#   }
# }
#
# resource "aws_lambda_event_source_mapping" "notifications_worker_lambda_sqs" {
#   event_source_arn = data.aws_sqs_queue.notifications_queue.arn
#   function_name    = aws_lambda_function.notifications_worker_lambda.arn
# }
