26 lines
919 B
TypeScript
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;`;
|
|
}
|