UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

41 lines (40 loc) 1.16 kB
import { NetlifyDriver, VercelDriver } from './deployment/drivers/index.js'; /** * Registry of deployment driver constructors */ const drivers = new Map(); /** * Register all deployment drivers */ export function registerDeploymentDrivers() { drivers.set('vercel', VercelDriver); drivers.set('netlify', NetlifyDriver); } /** * Get a deployment driver instance * * @param provider Provider name (vercel, netlify, aws, etc.) * @param credentials Provider credentials (decrypted from DB) * @param options Additional provider options * @returns Deployment driver instance * @throws Error if provider is not supported */ export function getDeploymentDriver(provider, credentials, options) { const Driver = drivers.get(provider); if (!Driver) { throw new Error(`Deployment driver "${provider}" is not supported`); } return new Driver(credentials, options); } /** * Check if a provider is supported */ export function isValidProviderType(provider) { return drivers.has(provider); } /** * Get list of supported provider types */ export function getSupportedProviderTypes() { return Array.from(drivers.keys()); }