module "streamlit_roles" {
  source   = "git@github.com:theorchard/terraform-snowflake.git//modules/roles/schema_streamlits_access?ref=7.7.8"
  for_each = toset(["DEV", "QA", "PROD"])

  database                = module.database.database_name
  schema                  = each.value
  enable_write_privileges = true
}

module "physical_reporting_roles" {
  for_each = toset([
    "PRODUCT_MASTER",
    "ARTISTS_DIM",
    "PHY_AUDIT_CURRENT_PERIOD",
    "PHY_AUDIT_GDS_AGENT",
    "PHY_AUDIT_GDS_ARTICLE",
    "PHY_AUDIT_GDS_ARTICLE_STATUS",
    "PHY_AUDIT_GDS_CAMPAIGN_HEADER",
    "PHY_AUDIT_GDS_COMMERCIAL_CONDITIONS",
    "PHY_AUDIT_GDS_CONFIGURATION",
    "PHY_AUDIT_GDS_CUSTOMER",
    "PHY_AUDIT_GDS_DISTRIBUTION_CENTER",
    "PHY_AUDIT_GDS_ORDER_STATUS",
    "PHY_AUDIT_GDS_PACKAGING_CODE",
    "PHY_AUDIT_GDS_PRODUCT",
    "PHY_AUDIT_GDS_REASON_CODE",
    "PHY_AUDIT_INTERFACE_CONTROL",
    "PHY_AUDIT_OPEN_ORDERS",
    "PHY_AUDIT_REPERTOIRE",
    "PHY_AUDIT_REPORTING_PERIOD",
    "PHY_AUDIT_SAP_INVENTORY",
    "PHY_AUDIT_SAP_PROFIT_CENTER",
    "PHY_AUDIT_SELLING_COMPANY",
    "PHY_AUDIT_BILLING_HISTORY",
    "STAGING_PHY_AUDIT_CURRENT_PERIOD",
    "STAGING_PHY_AUDIT_GDS_AGENT",
    "STAGING_PHY_AUDIT_GDS_ARTICLE",
    "STAGING_PHY_AUDIT_GDS_ARTICLE_STATUS",
    "STAGING_PHY_AUDIT_GDS_CAMPAIGN_HEADER",
    "STAGING_PHY_AUDIT_GDS_COMMERCIAL_CONDITIONS",
    "STAGING_PHY_AUDIT_GDS_CONFIGURATION",
    "STAGING_PHY_AUDIT_GDS_CUSTOMER",
    "STAGING_PHY_AUDIT_GDS_DISTRIBUTION_CENTER",
    "STAGING_PHY_AUDIT_GDS_ORDER_STATUS",
    "STAGING_PHY_AUDIT_GDS_PACKAGING_CODE",
    "STAGING_PHY_AUDIT_GDS_PRODUCT",
    "STAGING_PHY_AUDIT_GDS_REASON_CODE",
    "STAGING_PHY_AUDIT_INTERFACE_CONTROL",
    "STAGING_PHY_AUDIT_OPEN_ORDERS",
    "STAGING_PHY_AUDIT_REPERTOIRE",
    "STAGING_PHY_AUDIT_REPORTING_PERIOD",
    "STAGING_PHY_AUDIT_SAP_INVENTORY",
    "STAGING_PHY_AUDIT_SAP_PROFIT_CENTER",
    "STAGING_PHY_AUDIT_SELLING_COMPANY",
    "STAGING_PHY_AUDIT_BILLING_HISTORY",
  ])

  source = "git@github.com:theorchard/terraform-snowflake.git//modules/roles/table_access?ref=7.7.8"

  database = module.database.database_name
  schema   = "PROD"
  table    = each.value
}
