resource "postgresql_default_privileges" "aggregates_reader_dna_table_ro" {
  role     = postgresql_role.aggregates_reader.name
  database = postgresql_database.aggregates.name
  schema   = postgresql_schema.dna.name

  owner       = postgresql_role.aggregates_owner.name
  object_type = "table"
  privileges  = ["SELECT"]
}

resource "postgresql_default_privileges" "dna_aggregates_reader_dna_sequence_ro" {
  role     = postgresql_role.aggregates_reader.name
  database = postgresql_database.aggregates.name
  schema   = postgresql_schema.dna.name

  owner       = postgresql_role.aggregates_owner.name
  object_type = "sequence"
  privileges  = ["SELECT", "USAGE"]
}

resource "postgresql_default_privileges" "aggregates_user_dna_table_ro" {
  role     = postgresql_role.aggregates_user.name
  database = postgresql_database.aggregates.name
  schema   = postgresql_schema.dna.name

  owner       = postgresql_role.aggregates_owner.name
  object_type = "table"
  privileges  = ["SELECT", "INSERT", "UPDATE", "DELETE"]
}

resource "postgresql_default_privileges" "aggregates_user_dna_sequence_ro" {
  role     = postgresql_role.aggregates_user.name
  database = postgresql_database.aggregates.name
  schema   = postgresql_schema.dna.name

  owner       = postgresql_role.aggregates_owner.name
  object_type = "sequence"
  privileges  = ["SELECT", "UPDATE", "USAGE"]
}

resource "postgresql_default_privileges" "aggregates_owner_dna_table_rw" {
  role     = postgresql_role.aggregates_owner.name
  database = postgresql_database.aggregates.name
  schema   = postgresql_schema.dna.name

  owner       = postgresql_role.aggregates_owner.name
  object_type = "table"
  privileges  = ["SELECT", "INSERT", "UPDATE", "DELETE", "TRUNCATE", "REFERENCES", "TRIGGER"]
}

resource "postgresql_default_privileges" "aggregates_owner_dna_sequence_rw" {
  role     = postgresql_role.aggregates_owner.name
  database = postgresql_database.aggregates.name
  schema   = postgresql_schema.dna.name

  owner       = postgresql_role.aggregates_owner.name
  object_type = "sequence"
  privileges  = ["SELECT", "UPDATE", "USAGE"]
}
