@lautmaler/crm-connectors
Version:
Provides connectors to various CRM systems and calendar services.
22 lines (20 loc) • 748 B
text/typescript
import { CRMBackend } from "../crm.interfaces.js";
import { SupportedBackends } from "../crm.types.js";
import { GoogleCalendarBackend } from "./GoogleCalendarBackend.js";
import { HubSpotBackend } from "./HubspotBackend.js";
export function CRMBackendFactory(backendName: SupportedBackends): CRMBackend {
switch (backendName) {
case "Hubspot":
return new HubSpotBackend();
case "Outlook":
// return new OutlookBackend();
throw new Error("Outlook backend not implemented");
case "Google":
return new GoogleCalendarBackend();
case "Calendly":
// return new CalendlyBackend();
throw new Error("Calendly backend not implemented");
default:
throw new Error("Unsupported backend");
}
}