All files / src/types backgroundTasks.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 55                                                                                                             
/**
 * Background task types for async operations
 */
 
export type BackgroundTaskStatus =
  | "running"
  | "completed"
  | "failed"
  | "cancelled";
 
export type BackgroundTaskName =
  | "account_bulk_approve_task"
  | "account_bulk_decline_task"
  | "account_bulk_create_task"
  | "transaction_export_task"
  | "reconciliation_export_task";
 
export interface TransactionExportResult {
  s3Key: string;
  fileName: string;
  fileSize: number;
  s3Bucket: string;
  expiresAt: number;
  statusCode: number;
  downloadURL: string;
  generatedAt: number;
  recordCount: number;
}
 
/**
 * A failed task's `error` field. The API sends the error object it uses
 * everywhere else (lib/errors.ErrorView), whose fields are all omitempty, so
 * any of them may be absent.
 */
export interface BackgroundTaskError {
  type?: string;
  code?: string;
  message?: string;
}
 
export interface BackgroundTask<TResult = any> {
  id: number;
  accID: number;
  status: BackgroundTaskStatus;
  name: BackgroundTaskName;
  result: TResult | null;
  error: string | BackgroundTaskError | null;
  readAt: number | null;
  createdAt: number;
  updatedAt: number;
}
 
export type TransactionExportTask = BackgroundTask<TransactionExportResult>;
export type ReconciliationExportTask = BackgroundTask<TransactionExportResult>;