locals {
  dynamic_table_read_privileges       = toset(["MONITOR", "SELECT"])
  dynamic_table_write_privileges      = toset(["OPERATE"])
  dynamic_table_read_write_privileges = setunion(local.dynamic_table_read_privileges, local.dynamic_table_write_privileges)
}

module "role" {
  source           = "../../../internal/objects_access_database_role"
  database_name    = var.database
  role_name_suffix = "${var.schema}_SCHEMA_${var.dynamic_table}_DYNAMIC_TABLE_${var.enable_operate_privileges ? "READWRITE" : "READ"}"

  schema_objects_by_type_and_privileges = [
    {
      schema     = var.schema,
      type       = "dynamic table",
      objects    = [var.dynamic_table],
      privileges = var.enable_operate_privileges ? local.dynamic_table_read_write_privileges : local.dynamic_table_read_privileges,
    },
  ]
}
