# Policies shared by multiple lambdas

data "aws_iam_policy" "opensearch_rw_policy" {
  name = "Elasticsearch-${var.os_domain_name}-RW-policy"
}

data "aws_sqs_queue" "store_product_queue" {
  name = "${var.environment}-content-review-store-product-queue"
}

data "aws_iam_policy_document" "content_review_store_product_queue_policy_document" {
  statement {
    effect = "Allow"
    actions = [
      "sqs:GetQueueAttributes",
      "sqs:GetQueueUrl",
      "sqs:ListQueueTags",
      "sqs:TagQueue",
      "sqs:UntagQueue",
      "sqs:SendMessageBatch",
      "sqs:SendMessage",
      "sqs:ReceiveMessage",
      "sqs:DeleteMessage"
    ]
    resources = [
      data.aws_sqs_queue.store_product_queue.arn
    ]
  }
}

resource "aws_iam_policy" "content_review_store_product_queue_policy" {
  name        = "SQS-${var.environment}-content-review-store-product"
  description = "Store product queue IAM policy"
  policy      = data.aws_iam_policy_document.content_review_store_product_queue_policy_document.json
}
