module "api_marketing_resource_server" {
  source = "../../modules/auth0_resource_server"

  identifier = "http://marketing-lb-1273041322.us-east-1.elb.amazonaws.com/api"
  name       = "api-marketing (Managed by Terraform)"

  scopes = [
    {
      value       = "read:campaigns"
      description = "Read campaigns"
    },
    {
      value       = "edit:campaigns"
      description = "Edit campaigns"
    },
    {
      value       = "access:mct"
      description = "Login permission for Marketing Campaign Tools"
    }
  ]
}

module "mct_api_resource_server" {
  source = "../../modules/auth0_resource_server"

  identifier             = "https://mct-api/"
  name                   = "mct-api (Managed by Terraform)"
  token_lifetime_for_web = 86391

  scopes = [
    {
      value       = "access:mct-api"
      description = "Access MCT application"
    }
  ]
}

module "portal_private_api_resource_server" {
  source = "../../modules/auth0_resource_server"

  identifier             = "https://apollo-private-api/"
  name                   = "PortalPrivateAPI (Managed by Terraform)"
  token_lifetime_for_web = 86399
}

module "private_api_resource_server" {
  source = "../../modules/auth0_resource_server"

  identifier             = "https://private-api/"
  name                   = "PrivateAPI (Managed by Terraform)"
  token_lifetime         = 300
  token_lifetime_for_web = 300
  allow_offline_access   = true

  scopes = [
    {
      value       = "access:apollo-api"
      description = "access Apollo API application"
    },
    {
      value       = "access:admin-api"
      description = "access Admin API application"
    },
    {
      value       = "access:intercom"
      description = "access Intercom endpoint"
    },
    {
      value       = "access:dsp-api"
      description = "access DSP API application"
    },
    {
      value       = "super:admin-api"
      description = "SU for admin-api application"
    },
    {
      value       = "access:dev-apollo-go"
      description = "access Apollo GO dev API application"
    },
    {
      value       = "access:apollo-go"
      description = "access Apollo Go application"
    },
    {
      value       = "track:user"
      description = "flag for tracking logins"
    }
  ]
}

module "sma_api_resource_server" {
  source = "../../modules/auth0_resource_server"

  identifier             = "https://ama.stream/identifier"
  name                   = "SMA API (Managed by Terraform)"
  allow_offline_access   = true
  token_lifetime_for_web = 7200
  enforce_policies       = false
  token_dialect          = "access_token"

  scopes = [
    {
      value       = "access:SMA API"
      description = "access SMA API"
    }
  ]
}

module "whitelist_backend_resource_server" {
  source = "../../modules/auth0_resource_server"

  identifier             = "https://wlapi.whtlst.in"
  name                   = "Whitelist Backend (Managed by Terraform)"
  token_lifetime         = 60
  token_lifetime_for_web = 60
  token_dialect          = "access_token"
  enforce_policies       = false
}
