File size: 1,544 Bytes
c09f67c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { triggerJob } from "@midday/job-client";
import type {
  BatchProcessMatchingPayload,
  EmbedInboxPayload,
  InboxProviderInitialSetupPayload,
  InboxProviderSyncAccountPayload,
  ProcessAttachmentPayload,
  SlackUploadPayload,
} from "../schemas/inbox";
import type { ProcessTransactionAttachmentPayload } from "../schemas/transactions";

/**
 * Enqueue inbox job utilities
 * These functions provide type-safe ways to enqueue inbox jobs
 */

export async function enqueueProcessAttachment(
  payload: ProcessAttachmentPayload,
) {
  return triggerJob("process-attachment", payload, "inbox");
}

export async function enqueueSlackUpload(payload: SlackUploadPayload) {
  return triggerJob("slack-upload", payload, "inbox");
}

export async function enqueueEmbedInbox(payload: EmbedInboxPayload) {
  return triggerJob("embed-inbox", payload, "embeddings");
}

export async function enqueueBatchProcessMatching(
  payload: BatchProcessMatchingPayload,
) {
  return triggerJob("batch-process-matching", payload, "inbox");
}

export async function enqueueInitialSetup(
  payload: InboxProviderInitialSetupPayload,
) {
  return triggerJob("initial-setup", payload, "inbox-provider");
}

export async function enqueueSyncScheduler(
  payload: InboxProviderSyncAccountPayload,
) {
  return triggerJob("sync-scheduler", payload, "inbox-provider");
}

export async function enqueueProcessTransactionAttachment(
  payload: ProcessTransactionAttachmentPayload,
) {
  return triggerJob("process-transaction-attachment", payload, "transactions");
}