Files
2026-07-13 13:32:57 +08:00

26 lines
919 B
TypeScript

import type { TaskTriggerSource } from "@trigger.dev/database";
import type { PrismaClientOrTransaction } from "~/db.server";
import { sqlDatabaseSchema } from "~/db.server";
export { getTaskIdentifiers } from "~/services/taskIdentifierRegistry.server";
export type { TaskIdentifierEntry } from "~/services/taskIdentifierCache.server";
/**
*
* @param prisma An efficient query to get all task identifiers for a project.
* It has indexes for fast performance.
* It does NOT care about versions, so includes all tasks ever created.
*/
export function getAllTaskIdentifiers(prisma: PrismaClientOrTransaction, environmentId: string) {
return prisma.$queryRaw<
{
slug: string;
triggerSource: TaskTriggerSource;
}[]
>`
SELECT DISTINCT(slug), "triggerSource"
FROM ${sqlDatabaseSchema}."BackgroundWorkerTask"
WHERE "runtimeEnvironmentId" = ${environmentId}
ORDER BY slug ASC;`;
}