locals {
  apollo_go_projects = {
    "apollo-go" = {
      name     = "apollo-go"
      slug     = "apollo-go"
      platform = "react-native"
    },
  }

  apollo_projects = {
    "auth0_unblock_bruteforce_users" = {
      name     = "auth0-unblock-bruteforce-users"
      slug     = "auth0-unblock-bruteforce-users"
      platform = "python-pythonawslambda"
    },
    "apollo_api_healthcheck" = {
      name     = "apollo_api_healthcheck"
      slug     = "apollo_api_healthcheck"
      platform = "python-pythonawslambda"
    },
    "apollo-api" = {
      name     = "apollo-api"
      slug     = "apollo-api"
      platform = "python-flask"
    },
    "apollo-auth-api" = {
      name     = "apollo-auth-api"
      slug     = "apollo-auth-api"
      platform = "python-flask"
    },
    "apollo_clear_notifications" = {
      name     = "apollo_clear_notifications",
      slug     = "apollo_clear_notifications",
      platform = "python-pythonawslambda"
    },
    "apollo_data_cleaner" = {
      name     = "apollo_data_cleaner"
      slug     = "apollo_data_cleaner"
      platform = "python"
    },
    "apollo_global_track_priorities_tracks_job" = {
      name     = "apollo_global_track_priorities_tracks_job",
      slug     = "apollo_global_track_priorities",
      platform = "python"
    },
    "apollo_update_hot_hits_history_job" = {
      name     = "apollo_update_hot_hits_history_job",
      slug     = "apollo_update_hot_hits_history",
      platform = "python"
    },
    "apple_charts_entries_notifications" = {
      name     = "apple_charts_entries_notifications"
      slug     = "apple_charts_entries_notifications"
      platform = "python"
    },
    "apple_charts_exits_notifications" = {
      name     = "apple_charts_exits_notifications"
      slug     = "apple_charts_exits_notifications"
      platform = "python"
    },
    "apple_charts_moves_notifications" = {
      name     = "apple_charts_moves_notifications"
      slug     = "apple_charts_moves_notifications"
      platform = "python"
    },
    "apollo_charts_monitoring" = {
      name     = "apollo_charts_monitoring"
      slug     = "apollo_charts_monitoring"
      platform = "python"
    },
    "apple_charts_notifications" = {
      name     = "apple_charts_notifications"
      slug     = "apple_charts_notifications"
      platform = "python-pythonawslambda"
    },
    "apple_playlists_additions_notifications" = {
      name     = "apple_playlists_additions_notifications"
      slug     = "apple_playlists_additions_noti"
      platform = "python"
    },
    "apple_playlists_update_notifications" = {
      name     = "apple_playlists_update_notifications"
      slug     = "apple_playlists_update_noti"
      platform = "python"
    },
    "apple_top_playlists_aggregation" = {
      name     = "apple_top_playlists_aggregation"
      slug     = "apple_top_playlists_aggregatio"
      platform = "python-pythonawslambda"
    },
    "appleMusicChartsJob" = {
      name     = "appleMusicChartsJob"
      slug     = "applemusicchartsjob"
      platform = "csharp"
    },
    "auth0_block_users" = {
      name     = "auth0_block_users"
      slug     = "auth0_block_users"
      platform = "python-pythonawslambda"
    },
    "backfill_missing_charts_data" = {
      name     = "backfill_missing_charts_data"
      slug     = "backfill_missing_charts_data"
      platform = "python-pythonawslambda"
    },
    "consumer-analytics-apple" = {
      name     = "consumer_analytics_apple"
      slug     = "consumer_analytics_apple"
      platform = "node"
    },
    "consumer-analytics-spotify" = {
      name     = "consumer_analytics_spotify"
      slug     = "consumer_analytics_spotify"
      platform = "node"
    },
    "copy_auth0_logs_to_cloudwatch" = {
      name     = "copy_auth0_logs_to_cloudwatch"
      slug     = "copy_auth0_logs_to_cloudwatch"
      platform = "python-pythonawslambda"
    },
    "copy_track_playlist_history_last_week" = {
      name     = "copy_track_playlist_history_last_week"
      slug     = "copy_track_playlist_history_last_week"
      platform = "python"
    },
    "dsp-api" = {
      name     = "dsp-api"
      slug     = "dsp-api"
      platform = "python"
    },
    "fetchAppleMusicChartPlaylistTracksJob" = {
      name     = "fetchAppleMusicChartPlaylistTracksJob"
      slug     = "fetchapplemusicchartplaylisttr"
      platform = "csharp"
    },
    "fetchspotifychartsjob" = {
      name     = "fetchspotifychartsjob"
      slug     = "fetchspotifychartsjob"
      platform = "csharp"
    },
    "filtr-admin" = {
      name     = "filtr-admin"
      slug     = "filtr-admin"
      platform = "node"
    },
    "filtr-admin-api" = {
      name     = "filtr-admin-api"
      slug     = "filtr-admin-api"
      platform = "csharp"
    },
    "filtr-privateapi" = {
      name     = "filtr-privateapi"
      slug     = "filtr-privateapi"
      platform = "node"
    },
    "handle_user_changes" = {
      name     = "handle_user_changes"
      slug     = "handle_user_changes"
      platform = "python-pythonawslambda"
    },
    "lambda_failures_notifications" = {
      name     = "lambda_failures_notifications"
      slug     = "lambda_failures_notifications"
      platform = "python-pythonawslambda"
    },
    "personalized_playlists_update" = {
      name     = "personalized_playlists_update"
      slug     = "personalized_playlists_update"
      platform = "python"
    },
    "retrieve_and_save_mobile_versions" = {
      name     = "retrieve_and_save_mobile_versions"
      slug     = "retrieve_and_save_mobile_versi"
      platform = "python-pythonawslambda"
    },
    "send-push-notifications" = {
      name     = "send-push-notifications"
      slug     = "send-push-notifications"
      platform = "python-pythonawslambda"
    },
    "send_push_messages" = {
      name     = "send_push_messages"
      slug     = "send_push_messages"
      platform = "python-pythonawslambda"
    },
    "smart_cache" = {
      name     = "smart_cache"
      slug     = "smart_cache"
      platform = "python"
    },
    "spotify_charts_entries_notifications" = {
      name     = "spotify_charts_entries_notifications"
      slug     = "spotify_charts_entries_notifications"
      platform = "python"
    },
    "spotify_charts_exits_notifications" = {
      name     = "spotify_charts_exits_notifications"
      slug     = "spotify_charts_exits_notifications"
      platform = "python"
    },
    "spotify_charts_moves_notifications" = {
      name     = "spotify_charts_moves_notifications"
      slug     = "spotify_charts_moves_notifications"
      platform = "python"
    },
    "spotify_charts_notifications" = {
      name     = "spotify_charts_notifications"
      slug     = "spotify_charts_notifications"
      platform = "python-pythonawslambda"
    },
    "spotify_playlists_additions_notifications" = {
      name     = "spotify_playlists_additions_notifications"
      slug     = "spotify_playlists_additions_no"
      platform = "python"
    },
    "spotify_playlists_update_notifications" = {
      name     = "spotify_playlists_update_notifications"
      slug     = "spotify_playlists_update_no"
      platform = "python"
    },
    "track_visit_events_handling" = {
      name     = "track_visit_events_handling"
      slug     = "track_visit_events_handling"
      platform = "python-pythonawslambda"
    },
    "update_market_vendors" = {
      name     = "update_market_vendors"
      slug     = "update_market_vendors"
      platform = "python-pythonawslambda"
    },
    "update_streams_cache" = {
      name     = "update_streams_cache"
      slug     = "update_streams_cache"
      platform = "python"
    },
    "update_track_playlist_history" = {
      name     = "update_track_playlist_history"
      slug     = "update_track_playlist_history"
      platform = "python"
    },
    "vendor_api" = {
      name     = "vendor_api"
      slug     = "vendor_api"
      platform = "python"
    },
    "vendor_image_caching" = {
      name     = "vendor_image_caching"
      slug     = "vendor_image_caching"
      platform = "python-pythonawslambda"
    },
    "vendors_charts_availability" = {
      name     = "vendors_charts_availability"
      slug     = "vendors_charts_availability"
      platform = "python"
    },
    "apollo-admin-panel" = {
      name     = "apollo-admin-panel"
      slug     = "apollo-admin-panel"
      platform = "python"
    },
    "apollo-user-data" = {
      name     = "apollo-user-data"
      slug     = "apollo-user-data"
      platform = "python"
    },
    "save_push_receipts" = {
      name     = "save_push_receipts"
      slug     = "save_push_receipts"
      platform = "python-pythonawslambda"
    },
    "read_push_messages" = {
      name     = "read_push_messages"
      slug     = "read_push_messages"
      platform = "python"
    },
    "apollo_gate_api" = {
      name     = "apollo-gate-api"
      slug     = "apollo-gate-api"
      platform = "python"
    },
    "download_spotify_charts" = {
      name     = "download-spotify-charts"
      slug     = "download-spotify-charts"
      platform = "python-pythonawslambda"
    },
    "apollo_new_music_friday_tracks_job" = {
      name     = "new_music_friday_tracks"
      slug     = "new_music_friday_tracks"
      platform = "python"
    },
    "apollo_update_playlist_digest_job" = {
      name     = "update_playlist_digest"
      slug     = "update_playlist_digest"
      platform = "python"
    },
    charts_feed_messages = {
      name     = "charts-feed-messages"
      slug     = "charts-feed-messages"
      platform = "python-pythonawslambda"
    },
    charts_messages = {
      name     = "charts-messages"
      slug     = "charts-messages"
      platform = "python-pythonawslambda"
    },
    charts_push_messages = {
      name     = "charts-push-messages"
      slug     = "charts-push-messages"
      platform = "python-pythonawslambda"
    },
    juno_filters_messages = {
      name     = "juno_filters_messages"
      slug     = "juno_filters_messages"
      platform = "python-pythonawslambda"
    },
    juno_monitoring = {
      name     = "juno_monitoring"
      slug     = "juno_monitoring"
      platform = "python-pythonawslambda"
    },
    juno_emails_messages = {
      name     = "juno_emails_messages"
      slug     = "juno_emails_messages"
      platform = "python-pythonawslambda"
    },
    apollo_playlists_messages = {
      name     = "apollo_playlists_messages"
      slug     = "apollo_playlists_messages"
      platform = "python-pythonawslambda"
    },
    apollo_messages_views = {
      name     = "apollo_messages_views"
      slug     = "apollo_messages_views"
      platform = "python-pythonawslambda"
    },
    apollo_delphi_events = {
      name     = "apollo_delphi_events"
      slug     = "apollo_delphi_events"
      platform = "python-pythonawslambda"
    },
    apollo_playlists_sync = {
      name     = "apollo_playlists_sync"
      slug     = "apollo_playlists_sync"
      platform = "python-pythonawslambda"
    },
    apollo_update_tracks_top_playlists_aggregated_history = {
      name     = "apollo_update_tracks_top_playlists_aggregated_history"
      slug     = "apollo_upd_trk_top_plst_aggr_hist"
      platform = "python-pythonawslambda"
    },
  }
}

resource "sentry_project" "apollo_go_project" {
  for_each = local.apollo_go_projects

  organization = "gdb"
  team         = sentry_team.apollo-go.id
  name         = each.value["name"]
  slug         = each.value["slug"]
  platform     = each.value["platform"]
}

resource "sentry_project" "apollo_project" {
  for_each = local.apollo_projects

  organization = "gdb"
  team         = sentry_team.apollo.id
  name         = each.value["name"]
  slug         = each.value["slug"]
  platform     = each.value["platform"]
}
