diff --git a/elixir/apps/domain/priv/repo/seeds.exs b/elixir/apps/domain/priv/repo/seeds.exs index a9fd58e0f..107e13420 100644 --- a/elixir/apps/domain/priv/repo/seeds.exs +++ b/elixir/apps/domain/priv/repo/seeds.exs @@ -28,7 +28,8 @@ account multi_site_resources: true, traffic_filters: true, self_hosted_relays: true, - idp_sync: true + idp_sync: true, + rest_api: true } ) |> Repo.update!() diff --git a/elixir/apps/domain/test/support/fixtures/accounts.ex b/elixir/apps/domain/test/support/fixtures/accounts.ex index 1d26f8ec3..92599f9c4 100644 --- a/elixir/apps/domain/test/support/fixtures/accounts.ex +++ b/elixir/apps/domain/test/support/fixtures/accounts.ex @@ -21,7 +21,8 @@ defmodule Domain.Fixtures.Accounts do multi_site_resources: true, traffic_filters: true, self_hosted_relays: true, - idp_sync: true + idp_sync: true, + rest_api: true }, limits: %{ monthly_active_users_count: 100 diff --git a/elixir/apps/web/lib/web/components/layouts/app.html.heex b/elixir/apps/web/lib/web/components/layouts/app.html.heex index 1adcaf232..f881d1289 100644 --- a/elixir/apps/web/lib/web/components/layouts/app.html.heex +++ b/elixir/apps/web/lib/web/components/layouts/app.html.heex @@ -72,7 +72,12 @@ Identity Providers <:item navigate={~p"/#{@account}/settings/dns"}>DNS - <:item navigate={~p"/#{@account}/settings/api_clients"}>API Clients + <:item + :if={Domain.Accounts.rest_api_enabled?(@account)} + navigate={~p"/#{@account}/settings/api_clients"} + > + API Clients + <:bottom> diff --git a/elixir/apps/web/test/web/live/settings/api_clients/index_test.exs b/elixir/apps/web/test/web/live/settings/api_clients/index_test.exs index a565b8af3..16f90fe5e 100644 --- a/elixir/apps/web/test/web/live/settings/api_clients/index_test.exs +++ b/elixir/apps/web/test/web/live/settings/api_clients/index_test.exs @@ -27,6 +27,21 @@ defmodule Web.Live.Settings.ApiClients.IndexTest do }}} end + test "does not display API clients link when feature disabled", %{ + account: account, + identity: identity, + conn: conn + } do + Domain.Config.feature_flag_override(:rest_api, false) + + {:ok, _lv, html} = + conn + |> authorize_conn(identity) + |> live(~p"/#{account}/sites") + + assert Floki.find(html, "a[href=\"/#{account.slug}/settings/api_clients\"]") == [] + end + test "renders breadcrumbs item", %{ account: account, identity: identity,