From 844a7df405f92352fb23bfe8425a221cc786dddb Mon Sep 17 00:00:00 2001 From: Pontus Abrahamsson Date: Sun, 26 Nov 2023 16:58:30 +0100 Subject: [PATCH] Jobs --- apps/dashboard/package.json | 6 ++---- .../src/actions/export-transactions-action.ts | 4 ++-- apps/dashboard/src/app/api/trigger/route.ts | 4 ++-- apps/dashboard/src/trigger.ts | 7 ------- bun.lockb | Bin 430360 -> 427024 bytes packages/jobs/package.json | 18 ++++++++++++++++++ .../src/jobs => packages/jobs/src}/client.ts | 7 +++++++ .../jobs => packages/jobs/src}/constants.ts | 0 packages/jobs/src/index.ts | 3 +++ .../jobs/src}/transactions/created.ts | 3 +-- .../jobs/src}/transactions/encrichment.ts | 7 +++---- .../jobs/src}/transactions/export.ts | 5 ++--- .../jobs/src}/transactions/index.ts | 0 .../jobs/src}/transactions/initial.ts | 7 +++---- .../jobs/src}/transactions/notification.ts | 6 +++--- .../jobs/src}/transactions/scheduler.ts | 4 ++-- .../jobs/src}/transactions/sync.ts | 7 +++---- .../jobs/src}/utils.ts | 0 packages/jobs/tsconfig.json | 11 +++++++++++ 19 files changed, 62 insertions(+), 37 deletions(-) delete mode 100644 apps/dashboard/src/trigger.ts create mode 100644 packages/jobs/package.json rename {apps/dashboard/src/jobs => packages/jobs/src}/client.ts (70%) rename {apps/dashboard/src/jobs => packages/jobs/src}/constants.ts (100%) create mode 100644 packages/jobs/src/index.ts rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/created.ts (91%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/encrichment.ts (91%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/export.ts (91%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/index.ts (100%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/initial.ts (91%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/notification.ts (96%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/scheduler.ts (56%) rename {apps/dashboard/src/jobs => packages/jobs/src}/transactions/sync.ts (92%) rename {apps/dashboard/src/jobs/transactions => packages/jobs/src}/utils.ts (100%) create mode 100644 packages/jobs/tsconfig.json diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 06800491c9..79826ed79f 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -20,11 +20,9 @@ "@midday/notification": "workspace:*", "@midday/supabase": "workspace:*", "@midday/ui": "workspace:*", - "@novu/headless": "^0.21.0", + "@midday/jobs": "workspace:*", "@trigger.dev/nextjs": "^2.2.7", - "@trigger.dev/react": "^2.2.7", - "@trigger.dev/sdk": "^2.2.7", - "@trigger.dev/supabase": "^2.2.7", + "@novu/headless": "^0.21.0", "@vercel/edge-config": "^0.4.1", "@vercel/toolbar": "^0.1.5", "change-case": "^5.2.0", diff --git a/apps/dashboard/src/actions/export-transactions-action.ts b/apps/dashboard/src/actions/export-transactions-action.ts index a051430f5f..93daee95c7 100644 --- a/apps/dashboard/src/actions/export-transactions-action.ts +++ b/apps/dashboard/src/actions/export-transactions-action.ts @@ -1,6 +1,6 @@ "use server"; -import { client } from "@/trigger"; +import { Events, client } from "@midday/jobs"; import { getUser } from "@midday/supabase/cached-queries"; import { action } from "./safe-action"; import { exportTransactionsSchema } from "./schema"; @@ -11,7 +11,7 @@ export const exportTransactionsAction = action( const user = await getUser(); const event = await client.sendEvent({ - name: "transactions.export", + name: Events.TRANSACTIONS_EXPORT, payload: { from, to, diff --git a/apps/dashboard/src/app/api/trigger/route.ts b/apps/dashboard/src/app/api/trigger/route.ts index fa7bbee991..7a9a49a0c5 100644 --- a/apps/dashboard/src/app/api/trigger/route.ts +++ b/apps/dashboard/src/app/api/trigger/route.ts @@ -1,9 +1,9 @@ -import { client } from "@/trigger"; +import { client } from "@midday/jobs"; import { createAppRoute } from "@trigger.dev/nextjs"; export const runtime = "nodejs"; export const maxDuration = 60; -import "@/jobs/transactions"; +import "@midday/jobs"; export const { POST, dynamic } = createAppRoute(client); diff --git a/apps/dashboard/src/trigger.ts b/apps/dashboard/src/trigger.ts deleted file mode 100644 index 3736c32e00..0000000000 --- a/apps/dashboard/src/trigger.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { TriggerClient } from "@trigger.dev/sdk"; - -export const client = new TriggerClient({ - id: "midday-CpkS", - apiKey: process.env.TRIGGER_API_KEY, - apiUrl: process.env.TRIGGER_API_URL, -}); diff --git a/bun.lockb b/bun.lockb index 0fa26a1b252e6e19139766d0737f784cec615dca..2b3b9f9f2ba201b754ddbfd1f77fdfb8d6020523 100755 GIT binary patch delta 82117 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 z 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 {~_L!dj(o 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 x>UBSl{Pw&mtiMM({ id: "supabase", projectId: process.env.SUPABASE_ID!, diff --git a/apps/dashboard/src/jobs/constants.ts b/packages/jobs/src/constants.ts similarity index 100% rename from apps/dashboard/src/jobs/constants.ts rename to packages/jobs/src/constants.ts diff --git a/packages/jobs/src/index.ts b/packages/jobs/src/index.ts new file mode 100644 index 0000000000..f97b694121 --- /dev/null +++ b/packages/jobs/src/index.ts @@ -0,0 +1,3 @@ +export * from "./transactions"; +export * from "./client"; +export * from "./constants"; diff --git a/apps/dashboard/src/jobs/transactions/created.ts b/packages/jobs/src/transactions/created.ts similarity index 91% rename from apps/dashboard/src/jobs/transactions/created.ts rename to packages/jobs/src/transactions/created.ts index 3f3473bbb1..7629b5cf0f 100644 --- a/apps/dashboard/src/jobs/transactions/created.ts +++ b/packages/jobs/src/transactions/created.ts @@ -1,5 +1,4 @@ -import { client } from "@/trigger"; -import { supabaseTriggers } from "../client"; +import { client, supabaseTriggers } from "@/client"; import { Events, Jobs } from "../constants"; import { scheduler } from "./scheduler"; diff --git a/apps/dashboard/src/jobs/transactions/encrichment.ts b/packages/jobs/src/transactions/encrichment.ts similarity index 91% rename from apps/dashboard/src/jobs/transactions/encrichment.ts rename to packages/jobs/src/transactions/encrichment.ts index 07f8de44da..9b39847dbc 100644 --- a/apps/dashboard/src/jobs/transactions/encrichment.ts +++ b/packages/jobs/src/transactions/encrichment.ts @@ -1,10 +1,9 @@ -import { client } from "@/trigger"; +import { client, supabase } from "@/client"; +import { Events, Jobs } from "@/constants"; +import { processPromisesBatch } from "@/utils"; import { eventTrigger } from "@trigger.dev/sdk"; import { revalidateTag } from "next/cache"; import { z } from "zod"; -import { supabase } from "../client"; -import { Events, Jobs } from "../constants"; -import { processPromisesBatch } from "./utils"; client.defineJob({ id: Jobs.TRANSACTIONS_ENCRICHMENT, diff --git a/apps/dashboard/src/jobs/transactions/export.ts b/packages/jobs/src/transactions/export.ts similarity index 91% rename from apps/dashboard/src/jobs/transactions/export.ts rename to packages/jobs/src/transactions/export.ts index 495af1ae39..959ed3864f 100644 --- a/apps/dashboard/src/jobs/transactions/export.ts +++ b/packages/jobs/src/transactions/export.ts @@ -1,9 +1,8 @@ -import { client } from "@/trigger"; +import { client, supabase } from "@/client"; +import { Events, Jobs } from "@/constants"; import { getTransactionsQuery } from "@midday/supabase/queries"; import { eventTrigger } from "@trigger.dev/sdk"; import { z } from "zod"; -import { supabase } from "../client"; -import { Events, Jobs } from "../constants"; client.defineJob({ id: Jobs.TRANSACTIONS_EXPORT, diff --git a/apps/dashboard/src/jobs/transactions/index.ts b/packages/jobs/src/transactions/index.ts similarity index 100% rename from apps/dashboard/src/jobs/transactions/index.ts rename to packages/jobs/src/transactions/index.ts diff --git a/apps/dashboard/src/jobs/transactions/initial.ts b/packages/jobs/src/transactions/initial.ts similarity index 91% rename from apps/dashboard/src/jobs/transactions/initial.ts rename to packages/jobs/src/transactions/initial.ts index 4283e4cac2..009d0b0cf2 100644 --- a/apps/dashboard/src/jobs/transactions/initial.ts +++ b/packages/jobs/src/transactions/initial.ts @@ -1,11 +1,10 @@ -import { client } from "@/trigger"; +import { client, supabase } from "@/client"; +import { Events, Jobs } from "@/constants"; +import { transformTransactions } from "@/utils"; import { getTransactions } from "@midday/gocardless"; import { eventTrigger } from "@trigger.dev/sdk"; import { revalidateTag } from "next/cache"; import { z } from "zod"; -import { supabase } from "../client"; -import { Events, Jobs } from "../constants"; -import { transformTransactions } from "./utils"; client.defineJob({ id: Jobs.TRANSACTIONS_INITIAL_SYNC, diff --git a/apps/dashboard/src/jobs/transactions/notification.ts b/packages/jobs/src/transactions/notification.ts similarity index 96% rename from apps/dashboard/src/jobs/transactions/notification.ts rename to packages/jobs/src/transactions/notification.ts index 2a08384d87..892bbf3665 100644 --- a/apps/dashboard/src/jobs/transactions/notification.ts +++ b/packages/jobs/src/transactions/notification.ts @@ -1,12 +1,12 @@ -import { client } from "@/trigger"; +import { client, supabase } from "@/client"; +import { Events, Jobs } from "@/constants"; import TransactionsEmail from "@midday/email/emails/transactions"; import { getI18n } from "@midday/email/locales"; import { TriggerEvents, triggerBulk } from "@midday/notification"; +import { renderAsync } from "@react-email/components"; import { eventTrigger } from "@trigger.dev/sdk"; import { revalidateTag } from "next/cache"; import { z } from "zod"; -import { supabase } from "../client"; -import { Events, Jobs } from "../constants"; client.defineJob({ id: Jobs.TRANSACTIONS_NOTIFICATION, diff --git a/apps/dashboard/src/jobs/transactions/scheduler.ts b/packages/jobs/src/transactions/scheduler.ts similarity index 56% rename from apps/dashboard/src/jobs/transactions/scheduler.ts rename to packages/jobs/src/transactions/scheduler.ts index 1b666c319f..3029a4fae9 100644 --- a/apps/dashboard/src/jobs/transactions/scheduler.ts +++ b/packages/jobs/src/transactions/scheduler.ts @@ -1,5 +1,5 @@ -import { client } from "@/trigger"; -import { Jobs } from "../constants"; +import { client } from "@/client"; +import { Jobs } from "@/constants"; export const scheduler = client.defineDynamicSchedule({ id: Jobs.TRANSACTION_SCHEDULER, diff --git a/apps/dashboard/src/jobs/transactions/sync.ts b/packages/jobs/src/transactions/sync.ts similarity index 92% rename from apps/dashboard/src/jobs/transactions/sync.ts rename to packages/jobs/src/transactions/sync.ts index 1efff20ba0..764257abdd 100644 --- a/apps/dashboard/src/jobs/transactions/sync.ts +++ b/packages/jobs/src/transactions/sync.ts @@ -1,10 +1,9 @@ -import { client } from "@/trigger"; +import { client, supabase } from "@/client"; +import { Events, Jobs } from "@/constants"; +import { transformTransactions } from "@/utils"; import { getTransactions } from "@midday/gocardless"; import { revalidateTag } from "next/cache"; -import { supabase } from "../client"; -import { Events, Jobs } from "../constants"; import { scheduler } from "./scheduler"; -import { transformTransactions } from "./utils"; client.defineJob({ id: Jobs.TRANSACTIONS_SYNC, diff --git a/apps/dashboard/src/jobs/transactions/utils.ts b/packages/jobs/src/utils.ts similarity index 100% rename from apps/dashboard/src/jobs/transactions/utils.ts rename to packages/jobs/src/utils.ts diff --git a/packages/jobs/tsconfig.json b/packages/jobs/tsconfig.json new file mode 100644 index 0000000000..3a6b55b826 --- /dev/null +++ b/packages/jobs/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + }, + "include": ["src", "*.ts"] + } + \ No newline at end of file