mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
inline timeout lookup in getEffectiveBuildStatus and update call sites
This commit is contained in:
@@ -28,8 +28,9 @@ export function isBuildTimedOut(
|
||||
export function getEffectiveBuildStatus(
|
||||
originalStatus: string,
|
||||
createdAt: string,
|
||||
timeoutSeconds: number
|
||||
consoleVariables: Models.ConsoleVariables | undefined
|
||||
): string {
|
||||
const timeoutSeconds = getBuildTimeoutSeconds(consoleVariables);
|
||||
if (isBuildTimedOut(createdAt, originalStatus, timeoutSeconds)) {
|
||||
return 'failed';
|
||||
}
|
||||
@@ -39,9 +40,7 @@ export function getEffectiveBuildStatus(
|
||||
/**
|
||||
* Helper to get timeout value from console variables
|
||||
*/
|
||||
export function getBuildTimeoutSeconds(
|
||||
consoleVariables: Models.ConsoleVariables | undefined
|
||||
): number {
|
||||
function getBuildTimeoutSeconds(consoleVariables: Models.ConsoleVariables | undefined): number {
|
||||
if (!consoleVariables?._APP_COMPUTE_BUILD_TIMEOUT) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
+2
-6
@@ -15,7 +15,7 @@
|
||||
import { DeploymentSource, DeploymentCreatedBy, DeploymentDomains } from '$lib/components/git';
|
||||
import { func } from '../store';
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import { isCloud } from '$lib/system';
|
||||
import { IconInfo } from '@appwrite.io/pink-icons-svelte';
|
||||
@@ -39,11 +39,7 @@
|
||||
} = $props();
|
||||
|
||||
let effectiveStatus = $derived(
|
||||
getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
)
|
||||
getEffectiveBuildStatus(deployment.status, deployment.$createdAt, $regionalConsoleVariables)
|
||||
);
|
||||
let totalSize = $derived(humanFileSize(deployment?.totalSize ?? 0));
|
||||
</script>
|
||||
|
||||
+2
-2
@@ -24,7 +24,7 @@
|
||||
} from '@appwrite.io/pink-svelte';
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { formatTimeDetailed } from '$lib/helpers/timeConversion';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import { timer } from '$lib/actions/timer';
|
||||
import { app } from '$lib/stores/app';
|
||||
@@ -44,7 +44,7 @@
|
||||
getEffectiveBuildStatus(
|
||||
data.deployment.status,
|
||||
data.deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
$regionalConsoleVariables
|
||||
)
|
||||
);
|
||||
let showDelete = $state(false);
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@
|
||||
import Delete from './(modals)/deleteModal.svelte';
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { deploymentStatusConverter } from '$lib/stores/git';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import DownloadActionMenuItem from './(components)/downloadActionMenuItem.svelte';
|
||||
import { Menu } from '$lib/components/menu';
|
||||
@@ -107,7 +107,7 @@
|
||||
{@const effectiveStatus = getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
$regionalConsoleVariables
|
||||
)}
|
||||
<Table.Row.Link
|
||||
{root}
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
IconXCircle
|
||||
} from '@appwrite.io/pink-icons-svelte';
|
||||
import { ActionMenu, Icon, Tooltip } from '@appwrite.io/pink-svelte';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
|
||||
export let selectedDeployment: Models.Deployment;
|
||||
@@ -56,7 +56,7 @@
|
||||
{@const effectiveStatus = getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
$regionalConsoleVariables
|
||||
)}
|
||||
{#if !inCard}
|
||||
<Tooltip disabled={selectedDeployment?.sourceSize !== 0} placement={'bottom'}>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<script lang="ts">
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { app } from '$lib/stores/app';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import type { Models } from '@appwrite.io/console';
|
||||
import { Badge, Card, Layout, Logs, Spinner, Typography } from '@appwrite.io/pink-svelte';
|
||||
@@ -41,11 +41,7 @@
|
||||
} = $props();
|
||||
|
||||
let effectiveStatus = $derived(
|
||||
getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
)
|
||||
getEffectiveBuildStatus(deployment.status, deployment.$createdAt, $regionalConsoleVariables)
|
||||
);
|
||||
|
||||
function setCopy() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { timer } from '$lib/actions/timer';
|
||||
import { formatTimeDetailed } from '$lib/helpers/timeConversion';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import type { Models } from '@appwrite.io/console';
|
||||
|
||||
@@ -9,10 +9,8 @@
|
||||
|
||||
let { status, deployment }: { status: string; deployment: Models.Deployment } = $props();
|
||||
|
||||
// memoize timeout value to avoid recalculating on every render
|
||||
let timeoutSeconds = $derived(getBuildTimeoutSeconds($regionalConsoleVariables));
|
||||
let effectiveStatus = $derived(
|
||||
getEffectiveBuildStatus(status, deployment.$createdAt, timeoutSeconds)
|
||||
getEffectiveBuildStatus(status, deployment.$createdAt, $regionalConsoleVariables)
|
||||
);
|
||||
</script>
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
import { isCloud } from '$lib/system';
|
||||
import { sdk } from '$lib/stores/sdk';
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import { regionalProtocol } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import type { Snippet } from 'svelte';
|
||||
@@ -43,11 +43,7 @@
|
||||
} = $props();
|
||||
|
||||
let effectiveStatus = $derived(
|
||||
getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
)
|
||||
getEffectiveBuildStatus(deployment.status, deployment.$createdAt, $regionalConsoleVariables)
|
||||
);
|
||||
let show = $state(false);
|
||||
|
||||
|
||||
+2
-6
@@ -13,7 +13,7 @@
|
||||
import ActivateDeploymentModal from '../../../activateDeploymentModal.svelte';
|
||||
import { Accordion, Tooltip } from '@appwrite.io/pink-svelte';
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import LogsTimer from '../../../(components)/logsTimer.svelte';
|
||||
import { invalidate } from '$app/navigation';
|
||||
@@ -27,11 +27,7 @@
|
||||
|
||||
let deployment = $derived(data.deployment);
|
||||
let effectiveStatus = $derived(
|
||||
getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
)
|
||||
getEffectiveBuildStatus(deployment.status, deployment.$createdAt, $regionalConsoleVariables)
|
||||
);
|
||||
|
||||
let showRedeploy = $state(false);
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import DeploymentActionMenu from '../../(components)/deploymentActionMenu.svelte';
|
||||
import { deploymentStatusConverter } from '$lib/stores/git';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import { sdk } from '$lib/stores/sdk';
|
||||
import { Submit, trackError, trackEvent } from '$lib/actions/analytics';
|
||||
@@ -87,7 +87,7 @@
|
||||
{@const effectiveStatus = getEffectiveBuildStatus(
|
||||
deployment.status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
$regionalConsoleVariables
|
||||
)}
|
||||
<Table.Row.Link
|
||||
{root}
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@
|
||||
import ActivateDeploymentModal from '../activateDeploymentModal.svelte';
|
||||
import CancelDeploymentModal from './deployments/cancelDeploymentModal.svelte';
|
||||
import { capitalize } from '$lib/helpers/string';
|
||||
import { getEffectiveBuildStatus, getBuildTimeoutSeconds } from '$lib/helpers/buildTimeout';
|
||||
import { getEffectiveBuildStatus } from '$lib/helpers/buildTimeout';
|
||||
import { regionalConsoleVariables } from '$routes/(console)/project-[region]-[project]/store';
|
||||
import DeleteDeploymentModal from './deployments/deleteDeploymentModal.svelte';
|
||||
import DeploymentActionMenu from '../(components)/deploymentActionMenu.svelte';
|
||||
@@ -77,7 +77,7 @@
|
||||
{@const effectiveStatus = getEffectiveBuildStatus(
|
||||
status,
|
||||
deployment.$createdAt,
|
||||
getBuildTimeoutSeconds($regionalConsoleVariables)
|
||||
$regionalConsoleVariables
|
||||
)}
|
||||
{#if activeDeployment?.$id === deployment?.$id}
|
||||
<Status status="complete" label="Active" />
|
||||
|
||||
Reference in New Issue
Block a user