UNPKG

medusa-plugin-abandoned-cart

Version:
72 lines (71 loc) 1.83 kB
import { LineItem } from "@medusajs/medusa"; export interface BasePluginOptions { sendgridEnabled: boolean; from: { name?: string; email: string; } | string; templateId: string; header?: string; days_to_track?: number; subject?: string; localization?: { [key: string]: { subject?: string; header?: string; templateId: string; }; }; } export interface IntervalOptions { interval: string | number; subject?: string; header?: string; templateId?: string; localization?: { [key: string]: { subject?: string; header?: string; templateId: string; }; }; } export interface AutomatedAbandonedCart extends BasePluginOptions { intervals: Array<IntervalOptions>; max_overdue: string; set_as_completed_if_overdue: boolean; } export interface ManualAbandonedCart extends BasePluginOptions { localization: { [key: string]: { subject?: string; header?: string; templateId: string; }; }; } export type PluginOptions = AutomatedAbandonedCart | ManualAbandonedCart; export type NewLineItem = Omit<LineItem, "beforeUpdate" | "afterUpdateOrLoad"> & { price: string; }; export interface TransformedCart { id: string; email: string; items: NewLineItem[]; cart_context: Record<string, unknown>; first_name: string; last_name: string; totalPrice: number; created_at: Date; updated_at: Date; currency: string; region: string; country_code: string; region_name: string; abandoned_count?: number; abandoned_lastdate?: Date; abandoned_last_interval?: number; abandoned_completed_at?: Date; subject?: string; header?: string; }