From cb098143ab7ec6257db8b999ad2b191510c043cd Mon Sep 17 00:00:00 2001 From: nicktrn <55853254+nicktrn@users.noreply.github.com> Date: Tue, 5 Dec 2023 14:07:27 +0000 Subject: [PATCH] Simplify batch options --- apps/webapp/app/services/jobs/registerJob.server.ts | 10 ++-------- .../app/services/triggers/registerWebhook.server.ts | 9 ++------- packages/core/src/schemas/triggers.ts | 11 ++++------- packages/trigger-sdk/src/triggers/eventTrigger.ts | 6 ++---- packages/trigger-sdk/src/triggers/webhook.ts | 8 +++----- 5 files changed, 13 insertions(+), 31 deletions(-) diff --git a/apps/webapp/app/services/jobs/registerJob.server.ts b/apps/webapp/app/services/jobs/registerJob.server.ts index 63265a474..ce9a7a8a7 100644 --- a/apps/webapp/app/services/jobs/registerJob.server.ts +++ b/apps/webapp/app/services/jobs/registerJob.server.ts @@ -8,7 +8,6 @@ import { } from "@trigger.dev/core"; import type { Endpoint, - EventDispatcher, Integration, Job, JobIntegration, @@ -421,13 +420,8 @@ export class RegisterJobService { batchOptions?: BatcherOptions ) { if (batchOptions) { - let maxPayloads: number | null = null; - let maxInterval: number | null = null; - - if (typeof batchOptions !== "boolean") { - maxPayloads = batchOptions.maxPayloads ?? null; - maxInterval = batchOptions.maxInterval ?? null; - } + const maxPayloads = batchOptions.maxPayloads ?? null; + const maxInterval = batchOptions.maxInterval ?? null; await tx.eventDispatchBatcher.upsert({ where: { diff --git a/apps/webapp/app/services/triggers/registerWebhook.server.ts b/apps/webapp/app/services/triggers/registerWebhook.server.ts index 1164142ac..ed669e755 100644 --- a/apps/webapp/app/services/triggers/registerWebhook.server.ts +++ b/apps/webapp/app/services/triggers/registerWebhook.server.ts @@ -184,13 +184,8 @@ export class RegisterWebhookService { batchOptions?: BatcherOptions ) { if (batchOptions) { - let maxPayloads: number | null = null; - let maxInterval: number | null = null; - - if (typeof batchOptions !== "boolean") { - maxPayloads = batchOptions.maxPayloads ?? null; - maxInterval = batchOptions.maxInterval ?? null; - } + const maxPayloads = batchOptions.maxPayloads ?? null; + const maxInterval = batchOptions.maxInterval ?? null; await tx.webhookDeliveryBatcher.upsert({ where: { diff --git a/packages/core/src/schemas/triggers.ts b/packages/core/src/schemas/triggers.ts index 4f8c8174e..a5114b488 100644 --- a/packages/core/src/schemas/triggers.ts +++ b/packages/core/src/schemas/triggers.ts @@ -37,13 +37,10 @@ export const TriggerHelpSchema = z.object({ .optional(), }); -export const BatcherOptionsSchema = z.union([ - z.boolean(), - z.object({ - maxPayloads: z.number().optional(), - maxInterval: z.number().optional(), - }), -]); +export const BatcherOptionsSchema = z.object({ + maxPayloads: z.number().optional(), + maxInterval: z.number().optional(), +}); export type BatcherOptions = z.infer; diff --git a/packages/trigger-sdk/src/triggers/eventTrigger.ts b/packages/trigger-sdk/src/triggers/eventTrigger.ts index 389f73e6c..81635f783 100644 --- a/packages/trigger-sdk/src/triggers/eventTrigger.ts +++ b/packages/trigger-sdk/src/triggers/eventTrigger.ts @@ -49,14 +49,12 @@ export class EventTrigger> attachToJob(triggerClient: TriggerClient, job: Job, any>): void {} - batch( - options?: Exclude - ): EventTrigger { + batch(options?: BatcherOptions): EventTrigger { const { batch, ...rest } = this.#options; return new EventTrigger({ ...rest, - batch: options ?? true, + batch: options ?? {}, }); } diff --git a/packages/trigger-sdk/src/triggers/webhook.ts b/packages/trigger-sdk/src/triggers/webhook.ts index 696d86727..ab9eb1344 100644 --- a/packages/trigger-sdk/src/triggers/webhook.ts +++ b/packages/trigger-sdk/src/triggers/webhook.ts @@ -142,7 +142,7 @@ type WebhookOptions< crud: WebhookCRUD; filter?: FilterFunction; register?: RegisterFunction; - batch?: Exclude; + batch?: BatcherOptions; verify?: (options: { request: Request; client: TriggerClient; @@ -307,14 +307,12 @@ export class WebhookTrigger< }; } - batch( - options?: Exclude - ): WebhookTrigger { + batch(options?: BatcherOptions): WebhookTrigger { const { batch, ...rest } = this.options; return new WebhookTrigger({ ...rest, - batch: options ?? true, + batch: options ?? {}, }); }