diff --git a/apps/webapp/app/presenters/v3/TestTaskPresenter.server.ts b/apps/webapp/app/presenters/v3/TestTaskPresenter.server.ts index 779b904263..46e2c1a37b 100644 --- a/apps/webapp/app/presenters/v3/TestTaskPresenter.server.ts +++ b/apps/webapp/app/presenters/v3/TestTaskPresenter.server.ts @@ -3,7 +3,10 @@ import { BackgroundWorkerTask, RuntimeEnvironmentType, TaskRunStatus } from "@tr import { PrismaClient, prisma, sqlDatabaseSchema } from "~/db.server"; import { getTimezones } from "~/utils/timezones.server"; import { getUsername } from "~/utils/username"; -import { findCurrentWorkerDeployment } from "~/v3/models/workerDeployment.server"; +import { + BackgroundWorkerTaskSlim, + findCurrentWorkerDeployment, +} from "~/v3/models/workerDeployment.server"; type TestTaskOptions = { userId: string; @@ -113,7 +116,7 @@ export class TestTaskPresenter { }, }); - let task: BackgroundWorkerTask | null = null; + let task: BackgroundWorkerTaskSlim | null = null; if (environment.type !== "DEVELOPMENT") { const deployment = await findCurrentWorkerDeployment(environment.id); if (deployment) { diff --git a/apps/webapp/app/v3/models/workerDeployment.server.ts b/apps/webapp/app/v3/models/workerDeployment.server.ts index 49595dab7e..78d6304baa 100644 --- a/apps/webapp/app/v3/models/workerDeployment.server.ts +++ b/apps/webapp/app/v3/models/workerDeployment.server.ts @@ -8,11 +8,44 @@ export type CurrentWorkerDeployment = Prettify< NonNullable>> >; +export type BackgroundWorkerTaskSlim = Prisma.BackgroundWorkerTaskGetPayload<{ + select: { + id: true; + friendlyId: true; + slug: true; + filePath: true; + exportName: true; + triggerSource: true; + machineConfig: true; + maxDurationInSeconds: true; + }; +}>; + type WorkerDeploymentWithWorkerTasks = Prisma.WorkerDeploymentGetPayload<{ - include: { + select: { + id: true; + imageReference: true; + version: true; worker: { - include: { - tasks: true; + select: { + id: true; + friendlyId: true; + version: true; + sdkVersion: true; + cliVersion: true; + supportsLazyAttempts: true; + tasks: { + select: { + id: true; + friendlyId: true; + slug: true; + filePath: true; + exportName: true; + triggerSource: true; + machineConfig: true; + maxDurationInSeconds: true; + }; + }; }; }; }; @@ -21,18 +54,25 @@ type WorkerDeploymentWithWorkerTasks = Prisma.WorkerDeploymentGetPayload<{ export async function findCurrentWorkerDeployment( environmentId: string ): Promise { - const promotion = await prisma.workerDeploymentPromotion.findUnique({ + const promotion = await prisma.workerDeploymentPromotion.findFirst({ where: { - environmentId_label: { - environmentId, - label: CURRENT_DEPLOYMENT_LABEL, - }, + environmentId, + label: CURRENT_DEPLOYMENT_LABEL, }, - include: { + select: { deployment: { - include: { + select: { + id: true, + imageReference: true, + version: true, worker: { - include: { + select: { + id: true, + friendlyId: true, + version: true, + sdkVersion: true, + cliVersion: true, + supportsLazyAttempts: true, tasks: true, }, }, @@ -46,7 +86,10 @@ export async function findCurrentWorkerDeployment( export async function findCurrentWorkerFromEnvironment( environment: Pick -): Promise { +): Promise | null> { if (environment.type === "DEVELOPMENT") { const latestDevWorker = await prisma.backgroundWorker.findFirst({ where: { @@ -66,7 +109,7 @@ export async function findCurrentWorkerFromEnvironment( export async function getWorkerDeploymentFromWorker( workerId: string ): Promise { - const worker = await prisma.backgroundWorker.findUnique({ + const worker = await prisma.backgroundWorker.findFirst({ where: { id: workerId, }, @@ -91,7 +134,7 @@ export async function getWorkerDeploymentFromWorker( export async function getWorkerDeploymentFromWorkerTask( workerTaskId: string ): Promise { - const workerTask = await prisma.backgroundWorkerTask.findUnique({ + const workerTask = await prisma.backgroundWorkerTask.findFirst({ where: { id: workerTaskId, },