UNPKG

@0xobelisk/graphql-server

Version:

Tookit for interacting with dubhe graphql server

80 lines 2.56 kB
export interface SubscriptionCapabilities { liveQueries: boolean; pgSubscriptions: boolean; nativeWebSocket: boolean; } export interface SubscriptionConfig { enableSubscriptions: boolean; capabilities: SubscriptionCapabilities; walLevel: 'minimal' | 'replica' | 'logical'; graphqlPort: number; websocketPort?: number; maxConnections: number; heartbeatInterval: number; enableNotificationLogging: boolean; enablePerformanceMetrics: boolean; } export interface SubscriptionConfigInput { enableSubscriptions: boolean; databaseUrl: string; port: string; enableLiveQueries?: boolean; enablePgSubscriptions?: boolean; enableNativeWebSocket?: boolean; realtimePort?: string; maxConnections?: string; heartbeatInterval?: string; debugNotifications?: boolean; enableMetrics?: boolean; } export declare class SubscriptionConfigManager { private config; constructor(configInput: SubscriptionConfigInput); private parseConfigInput; private detectWalLevel; getConfig(): SubscriptionConfig; getRecommendedSubscriptionMethod(): string; generateClientConfig(): { graphqlEndpoint: string; subscriptionEndpoint: string | undefined; nativeWebSocketEndpoint: string | undefined; capabilities: SubscriptionCapabilities; recommendedMethod: string; }; generatePostGraphileConfig(): { subscriptions: boolean; live: boolean; simpleSubscriptions: boolean; pgSettings: { statement_timeout: string; default_transaction_isolation: string; }; allowExplain: boolean; disableQueryLog: boolean; }; generateDocumentation(): string; } export declare const subscriptionConfig: { getConfig(): SubscriptionConfig; generateClientConfig(): { graphqlEndpoint: string; subscriptionEndpoint: string | undefined; nativeWebSocketEndpoint: string | undefined; capabilities: SubscriptionCapabilities; recommendedMethod: string; }; generatePostGraphileConfig(): { subscriptions: boolean; live: boolean; simpleSubscriptions: boolean; pgSettings: { statement_timeout: string; default_transaction_isolation: string; }; allowExplain: boolean; disableQueryLog: boolean; }; generateDocumentation(): string; refresh(configInput: SubscriptionConfigInput): void; }; //# sourceMappingURL=subscription-config.d.ts.map