fix(actions): send and use subscription_id for domain suspend/unsuspend

This commit is contained in:
2026-03-05 14:20:07 +00:00
parent 2c52d89dc9
commit 825bf8dc84
2 changed files with 24 additions and 12 deletions

View File

@@ -239,13 +239,23 @@ export function DashboardControls({
}
async function onDomainAction(
domainId: string,
domain: Domain,
action: "suspend" | "unsuspend",
) {
if (!domain.subscription_id) {
setMessage(
"Domain is not linked to a subscription yet. Run Sync Now (or backfill links) and try again.",
);
return;
}
setLoading(true);
setMessage(null);
try {
await runRequest(`/api/plesk/domains/${domainId}/action`, { action });
await runRequest(`/api/plesk/domains/${domain.id}/action`, {
action,
subscription_id: domain.subscription_id,
});
setMessage("Domain action completed.");
window.location.reload();
} catch (error) {
@@ -633,7 +643,7 @@ export function DashboardControls({
<td className="px-2 py-2">
<div className="flex gap-2">
<button
onClick={() => onDomainAction(domain.id, "suspend")}
onClick={() => onDomainAction(domain, "suspend")}
disabled={
loading || isDomainSuspended(domain.status)
}
@@ -642,9 +652,7 @@ export function DashboardControls({
Suspend
</button>
<button
onClick={() =>
onDomainAction(domain.id, "unsuspend")
}
onClick={() => onDomainAction(domain, "unsuspend")}
disabled={loading || isDomainActive(domain.status)}
className="rounded border border-emerald-300 px-2 py-1 text-xs text-emerald-700 disabled:cursor-not-allowed disabled:opacity-60"
>