module "api_explorer_appication_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.api_explorer_app_client.auht0_client.id

  scope = [
    "blacklist:tokens",
    "create:client_grants",
    "create:client_keys",
    "create:clients",
    "create:connections",
    "create:custom_domains",
    "create:device_credentials",
    "create:email_provider",
    "create:email_templates",
    "create:guardian_enrollment_tickets",
    "create:passwords_checking_job",
    "create:resource_servers",
    "create:roles",
    "create:rules",
    "create:shields",
    "create:user_tickets",
    "create:users",
    "create:users_app_metadata",
    "delete:anomaly_blocks",
    "delete:client_grants",
    "delete:client_keys",
    "delete:clients",
    "delete:connections",
    "delete:custom_domains",
    "delete:device_credentials",
    "delete:email_provider",
    "delete:grants",
    "delete:guardian_enrollments",
    "delete:passwords_checking_job",
    "delete:resource_servers",
    "delete:roles",
    "delete:rules",
    "delete:rules_configs",
    "delete:shields",
    "delete:users",
    "delete:users_app_metadata",
    "read:anomaly_blocks",
    "read:branding",
    "read:client_grants",
    "read:client_keys",
    "read:clients",
    "read:connections",
    "read:custom_domains",
    "read:device_credentials",
    "read:email_provider",
    "read:email_templates",
    "read:grants",
    "read:guardian_enrollments",
    "read:guardian_factors",
    "read:logs",
    "read:mfa_policies",
    "read:prompts",
    "read:resource_servers",
    "read:roles",
    "read:rules",
    "read:rules_configs",
    "read:shields",
    "read:stats",
    "read:tenant_settings",
    "read:triggers",
    "read:user_idp_tokens",
    "read:users",
    "read:users_app_metadata",
    "update:branding",
    "update:client_grants",
    "update:client_keys",
    "update:clients",
    "update:connections",
    "update:device_credentials",
    "update:email_provider",
    "update:email_templates",
    "update:guardian_factors",
    "update:mfa_policies",
    "update:prompts",
    "update:resource_servers",
    "update:roles",
    "update:rules",
    "update:rules_configs",
    "update:tenant_settings",
    "update:triggers",
    "update:users",
    "update:users_app_metadata",
  ]
}

module "dev_api_marketing" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.api_marketing_resource_server.identifier
  client_id = module.api_marketing_client.auht0_client.id

  scope = []
}

module "dev_api_marketing_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.api_marketing_client.auht0_client.id

  scope = [
    "read:users",
    "update:users",
    "create:users",
    "read:user_idp_tokens",
    "read:roles",
  ]
}

module "dev_apollo_api_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.apollo_api_client.auht0_client.id

  scope = [
    "read:users",
    "update:users",
  ]
}

module "dev_management_api_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.management_api_client.auht0_client.id

  scope = [
    "blacklist:tokens",
    "create:client_grants",
    "create:client_keys",
    "create:clients",
    "create:connections",
    "create:custom_domains",
    "create:device_credentials",
    "create:email_provider",
    "create:email_templates",
    "create:guardian_enrollment_tickets",
    "create:hooks",
    "create:log_streams",
    "create:passwords_checking_job",
    "create:resource_servers",
    "create:roles",
    "create:rules",
    "create:shields",
    "create:user_tickets",
    "create:users",
    "create:users_app_metadata",
    "delete:anomaly_blocks",
    "delete:client_grants",
    "delete:client_keys",
    "delete:clients",
    "delete:connections",
    "delete:custom_domains",
    "delete:device_credentials",
    "delete:email_provider",
    "delete:grants",
    "delete:guardian_enrollments",
    "delete:hooks",
    "delete:log_streams",
    "delete:passwords_checking_job",
    "delete:resource_servers",
    "delete:roles",
    "delete:rules",
    "delete:rules_configs",
    "delete:shields",
    "delete:users",
    "delete:users_app_metadata",
    "read:anomaly_blocks",
    "read:branding",
    "read:client_grants",
    "read:client_keys",
    "read:clients",
    "read:connections",
    "read:custom_domains",
    "read:device_credentials",
    "read:email_provider",
    "read:email_templates",
    "read:grants",
    "read:guardian_enrollments",
    "read:guardian_factors",
    "read:hooks",
    "read:log_streams",
    "read:logs",
    "read:mfa_policies",
    "read:prompts",
    "read:resource_servers",
    "read:roles",
    "read:rules",
    "read:rules_configs",
    "read:shields",
    "read:stats",
    "read:tenant_settings",
    "read:triggers",
    "read:user_idp_tokens",
    "read:users",
    "read:users_app_metadata",
    "update:branding",
    "update:client_grants",
    "update:client_keys",
    "update:clients",
    "update:connections",
    "update:device_credentials",
    "update:email_provider",
    "update:email_templates",
    "update:guardian_factors",
    "update:hooks",
    "update:log_streams",
    "update:mfa_policies",
    "update:prompts",
    "update:resource_servers",
    "update:roles",
    "update:rules",
    "update:rules_configs",
    "update:tenant_settings",
    "update:triggers",
    "update:users",
    "update:users_app_metadata",
  ]
}

module "export_logs_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.export_logs_client.auht0_client.id

  scope = [
    "read:logs"
  ]
}

module "mct_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.mct_api_resource_server.identifier
  client_id = module.mct_api_client.auht0_client.id

  scope = []
}

module "mct_api_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.mct_api_client.auht0_client.id

  scope = [
    "create:users",
    "read:roles",
    "read:user_idp_tokens",
    "read:users",
    "update:users",
  ]
}

module "portal_private_api_test_application" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.portal_private_api_resource_server.identifier
  client_id = module.portal_private_api_test_application_client.auht0_client.id

  scope = []
}

module "private_api_apollo_private_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.portal_private_api_resource_server.identifier
  client_id = module.private_api_client.auht0_client.id

  scope = []
}

module "private_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.private_api_resource_server.identifier
  client_id = module.private_api_client.auht0_client.id

  scope = []
}

module "private_api_auth0_management_api" {
  source = "../../modules/auth0_client_grant"

  audiene   = local.auth0_management_audience_identifier
  client_id = module.private_api_client.auht0_client.id

  scope = [
    "blacklist:tokens",
    "create:client_grants",
    "create:client_keys",
    "create:clients",
    "create:connections",
    "create:custom_domains",
    "create:device_credentials",
    "create:email_provider",
    "create:email_templates",
    "create:guardian_enrollment_tickets",
    "create:passwords_checking_job",
    "create:resource_servers",
    "create:roles",
    "create:rules",
    "create:shields",
    "create:user_tickets",
    "create:users",
    "create:users_app_metadata",
    "delete:anomaly_blocks",
    "delete:client_grants",
    "delete:client_keys",
    "delete:clients",
    "delete:connections",
    "delete:custom_domains",
    "delete:device_credentials",
    "delete:email_provider",
    "delete:grants",
    "delete:guardian_enrollments",
    "delete:passwords_checking_job",
    "delete:resource_servers",
    "delete:roles",
    "delete:rules",
    "delete:rules_configs",
    "delete:shields",
    "delete:users",
    "delete:users_app_metadata",
    "read:anomaly_blocks",
    "read:branding",
    "read:client_grants",
    "read:client_keys",
    "read:clients",
    "read:connections",
    "read:custom_domains",
    "read:device_credentials",
    "read:email_provider",
    "read:email_templates",
    "read:grants",
    "read:guardian_enrollments",
    "read:guardian_factors",
    "read:logs",
    "read:mfa_policies",
    "read:prompts",
    "read:resource_servers",
    "read:roles",
    "read:rules",
    "read:rules_configs",
    "read:shields",
    "read:stats",
    "read:tenant_settings",
    "read:triggers",
    "read:user_idp_tokens",
    "read:users",
    "read:users_app_metadata",
    "update:branding",
    "update:client_grants",
    "update:client_keys",
    "update:clients",
    "update:connections",
    "update:device_credentials",
    "update:email_provider",
    "update:email_templates",
    "update:guardian_factors",
    "update:mfa_policies",
    "update:prompts",
    "update:resource_servers",
    "update:roles",
    "update:rules",
    "update:rules_configs",
    "update:tenant_settings",
    "update:triggers",
    "update:users",
    "update:users_app_metadata",
  ]
}

module "sma_api_test_application" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.sma_api_resource_server.identifier
  client_id = module.sma_api_test_application_client.auht0_client.id

  scope = []
}

module "test_test_application" {
  source = "../../modules/auth0_client_grant"

  audiene   = module.private_api_resource_server.identifier
  client_id = module.test_test_application_client.auht0_client.id

  scope = []
}
