diff --git a/src/routes/console/project-[project]/settings/+page.svelte b/src/routes/console/project-[project]/settings/+page.svelte index 6fd2e236e..a82d071c9 100644 --- a/src/routes/console/project-[project]/settings/+page.svelte +++ b/src/routes/console/project-[project]/settings/+page.svelte @@ -14,14 +14,16 @@ import { base } from '$app/paths'; import { page } from '$app/stores'; import { Submit, trackEvent, trackError } from '$lib/actions/analytics'; - import PauseProject from './toggleProject.svelte'; + import EnableAllServices from './enableAllServices.svelte'; + import DisableAllServices from './disableAllServices.svelte'; let name: string = null; let showDelete = false; let updating = false; const endpoint = sdk.forConsole.client.config.endpoint; const projectId = $page.params.project; - let showToggle = false; + let showDisableAll = false; + let showEnableAll = false; onMount(async () => { name ??= $project.name; @@ -46,14 +48,19 @@ } } - async function toggleProject() { - if (!showToggle) { - showToggle = true; + async function toggleAllServices(status: boolean) { + if (status && !showEnableAll) { + showEnableAll = true; return; } + if (!status && !showDisableAll) { + showDisableAll = true; + return; + } + updating = true; try { - const path = '/projects/' + $project.$id; + const path = '/projects/' + $project.$id + '/service/all'; await sdk.forConsole.client.call( 'PATCH', new URL(sdk.forConsole.client.config.endpoint + path), @@ -61,24 +68,27 @@ 'content-type': 'application/json' }, { - paused: !($project.paused ?? false), - name: $project.name + status: status } ); invalidate(Dependencies.PROJECT); addNotification({ type: 'success', - message: 'Project has been ' + ($project.paused ? 'resumed' : 'paused') + '.' + message: + 'All services for' + $project.name + 'has been' + status + ? 'enabled.' + : 'disabled.' }); - trackEvent(Submit.ProjectUpdateName); + trackEvent(Submit.ProjectService); } catch (error) { addNotification({ type: 'error', message: error.message }); - trackError(error, Submit.ProjectUpdateName); + trackError(error, Submit.ProjectService); } finally { - showToggle = false; + showDisableAll = false; + showEnableAll = false; } } @@ -160,12 +170,17 @@ - Configurations + Services +

Choose services you wish to enable or disable.

-

Services

-

Choose services you wish to enable or disable.

-
+
+ | + +
+
    {#each $services.list as service} -
    -
    -

    Pause Project

    -

    While paused, you will not be able to make API requests.

    -
    - -
    @@ -215,4 +222,5 @@ - + toggleAllServices(false)} bind:show={showDisableAll} /> + toggleAllServices(true)} bind:show={showEnableAll} /> diff --git a/src/routes/console/project-[project]/settings/disableAllServices.svelte b/src/routes/console/project-[project]/settings/disableAllServices.svelte new file mode 100644 index 000000000..2774c5579 --- /dev/null +++ b/src/routes/console/project-[project]/settings/disableAllServices.svelte @@ -0,0 +1,19 @@ + + + + Disable all services +

    + Are you sure you want to disable all services? This will disable API requests to your + project. +

    + + + + +
    diff --git a/src/routes/console/project-[project]/settings/enableAllServices.svelte b/src/routes/console/project-[project]/settings/enableAllServices.svelte new file mode 100644 index 000000000..e3189a739 --- /dev/null +++ b/src/routes/console/project-[project]/settings/enableAllServices.svelte @@ -0,0 +1,16 @@ + + + + Enable all services +

    All project services will be enabled.

    + + + + +
    diff --git a/src/routes/console/project-[project]/settings/toggleProject.svelte b/src/routes/console/project-[project]/settings/toggleProject.svelte deleted file mode 100644 index 8e949e561..000000000 --- a/src/routes/console/project-[project]/settings/toggleProject.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - - - {paused ? ' Resume' : 'Pause'} Project -

    - {#if paused} - Your project will be up-and-running again soon. - {:else} - Are you sure you want to pause {$project.name}? While paused, you will not be - able to make API requests. - {/if} -

    - - - - -