Skip to content

Commit f288fea

Browse files
committed
update task list presenter
1 parent a22a8ba commit f288fea

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

apps/webapp/app/presenters/v3/TaskListPresenter.server.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,16 @@ import type { Organization } from "~/models/organization.server";
1010
import type { Project } from "~/models/project.server";
1111
import { displayableEnvironment } from "~/models/runtimeEnvironment.server";
1212
import type { User } from "~/models/user.server";
13-
import { filterOrphanedEnvironments, sortEnvironments } from "~/utils/environmentSort";
13+
import {
14+
filterOrphanedEnvironments,
15+
onlyDevEnvironments,
16+
exceptDevEnvironments,
17+
sortEnvironments,
18+
} from "~/utils/environmentSort";
1419
import { logger } from "~/services/logger.server";
1520
import { BasePresenter } from "./basePresenter.server";
1621
import { TaskRunStatus } from "~/database-types";
22+
import { CURRENT_DEPLOYMENT_LABEL } from "~/consts";
1723

1824
export type Task = {
1925
slug: string;
@@ -72,6 +78,9 @@ export class TaskListPresenter extends BasePresenter {
7278
},
7379
});
7480

81+
const devEnvironments = onlyDevEnvironments(project.environments);
82+
const nonDevEnvironments = exceptDevEnvironments(project.environments);
83+
7584
const tasks = await this._replica.$queryRaw<
7685
{
7786
id: string;
@@ -83,12 +92,21 @@ export class TaskListPresenter extends BasePresenter {
8392
triggerSource: TaskTriggerSource;
8493
}[]
8594
>`
86-
WITH workers AS (
95+
WITH non_dev_workers AS (
96+
SELECT wd."workerId" AS id
97+
FROM ${sqlDatabaseSchema}."WorkerDeploymentPromotion" wdp
98+
INNER JOIN ${sqlDatabaseSchema}."WorkerDeployment" wd
99+
ON wd.id = wdp."deploymentId"
100+
WHERE wdp."environmentId" IN (${Prisma.join(nonDevEnvironments.map((e) => e.id))})
101+
AND wdp."label" = ${CURRENT_DEPLOYMENT_LABEL}
102+
),
103+
workers AS (
87104
SELECT DISTINCT ON ("runtimeEnvironmentId") id, "runtimeEnvironmentId", version
88105
FROM ${sqlDatabaseSchema}."BackgroundWorker"
89106
WHERE "runtimeEnvironmentId" IN (${Prisma.join(
90-
filterOrphanedEnvironments(project.environments).map((e) => e.id)
107+
filterOrphanedEnvironments(devEnvironments).map((e) => e.id)
91108
)})
109+
OR id IN (SELECT id FROM non_dev_workers)
92110
ORDER BY "runtimeEnvironmentId", "createdAt" DESC
93111
)
94112
SELECT tasks.id, slug, "filePath", "exportName", "triggerSource", tasks."runtimeEnvironmentId", tasks."createdAt"

apps/webapp/app/utils/environmentSort.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,11 @@ export function filterOrphanedEnvironments<T extends FilterableEnvironment>(
5858
return false;
5959
});
6060
}
61+
62+
export function onlyDevEnvironments<T extends FilterableEnvironment>(environments: T[]): T[] {
63+
return environments.filter((e) => e.type === "DEVELOPMENT");
64+
}
65+
66+
export function exceptDevEnvironments<T extends FilterableEnvironment>(environments: T[]): T[] {
67+
return environments.filter((e) => e.type !== "DEVELOPMENT");
68+
}

0 commit comments

Comments
 (0)