output "database_name" {
  value = snowflake_database.db.name
}

output "database_roles" {
  value = {
    account_read_role_name       = var.enable_account_roles ? snowflake_account_role.db_read_role[0].name : ""
    account_readwrite_role_name  = var.enable_account_roles ? snowflake_account_role.db_readwrite_role[0].name : ""
    database_read_role_name      = var.enable_database_roles ? "${snowflake_database.db.name}.${snowflake_database_role.db_read_role[0].name}" : ""
    database_readwrite_role_name = var.enable_database_roles ? "${snowflake_database.db.name}.${snowflake_database_role.db_readwrite_role[0].name}" : ""
  }
}

output "schemas" {
  value = { for schema in snowflake_schema.schema : schema.name => (
    local.schemas_by_name[schema.name].create_roles ? {
      account_read_role_name       = var.enable_account_roles ? snowflake_account_role.schema_read_role[schema.name].name : ""
      account_readwrite_role_name  = var.enable_account_roles ? snowflake_account_role.schema_readwrite_role[schema.name].name : ""
      database_read_role_name      = var.enable_database_roles ? "${snowflake_database.db.name}.${snowflake_database_role.schema_read_role[schema.name].name}" : ""
      database_readwrite_role_name = var.enable_database_roles ? "${snowflake_database.db.name}.${snowflake_database_role.schema_readwrite_role[schema.name].name}" : ""
    } : {})
  }
}
