module "apollo_user_role" {
  source = "../../modules/auth0_role"

  name = "Apollo User - (Managed by Terraform)"

  permissions = [
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:admin-api"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:apollo-api"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:dsp-api"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:intercom"
    }
  ]
}

module "apollo_go_beta_users" {
  source = "../../modules/auth0_role"

  name        = "ApolloGoBetaUsers - (Managed by Terraform)"
  description = "allow login"

  permissions = [
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:apollo-go"
    },
    {
      resource_server_identifier = module.sma_api_resource_server.identifier,
      name                       = "access:SMA API"
    },
  ]
}

module "apollo_superuser" {
  source = "../../modules/auth0_role"

  name = "ApolloSuperuser - (Managed by Terraform)"

  permissions = [
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:admin-api"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:apollo-api"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:apollo-go"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:dsp-api"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "access:intercom"
    },
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "super:admin-api"
    }
  ]
}

module "mct_user" {
  source = "../../modules/auth0_role"

  name        = "MctUser"
  description = "User of Marketing Campaign Tools"

  permissions = [
    {
      resource_server_identifier = module.api_marketing_resource_server.identifier,
      name                       = "access:mct"
    },
    {
      resource_server_identifier = module.api_marketing_resource_server.identifier,
      name                       = "edit:campaigns"
    },
    {
      resource_server_identifier = module.api_marketing_resource_server.identifier,
      name                       = "read:campaigns"
    }
  ]
}

module "vip_users" {
  source = "../../modules/auth0_role"

  name        = "VIPusers"
  description = "For tracking logins"

  permissions = [
    {
      resource_server_identifier = module.private_api_resource_server.identifier,
      name                       = "track:user"
    }
  ]
}
