locals {
  cortex_search_service_write_privileges = ["OPERATE"]
  cortex_search_service_read_privileges  = ["USAGE"]
}

module "role" {
  source           = "../../../internal/object_type_access_database_role"
  database_name    = var.database
  role_name_suffix = "${var.schema}_SCHEMA_CORTEX_SEARCH_SERVICES_${var.enable_write_privileges ? "READWRITE" : "READ"}"

  schema_additional_permissions = var.enable_write_privileges ? ["CREATE CORTEX SEARCH SERVICE"] : []

  schema_object_types_and_privileges = [
    {
      schema     = var.schema,
      type       = "CORTEX SEARCH SERVICES",
      privileges = var.enable_write_privileges ? toset(concat(local.cortex_search_service_write_privileges, local.cortex_search_service_read_privileges)) : toset(local.cortex_search_service_read_privileges)
    },
  ]
}
