UNPKG

n8n

Version:

n8n Workflow Automation Tool

64 lines (63 loc) 2.48 kB
import { type InsightsSummary, type InsightsDateRange } from '@n8n/api-types'; import { Logger } from 'n8n-core'; import type { ExecutionLifecycleHooks } from 'n8n-core'; import { type IRun } from 'n8n-workflow'; import { License } from '../../license'; import type { PeriodUnit } from './database/entities/insights-shared'; import { InsightsByPeriodRepository } from './database/repositories/insights-by-period.repository'; import { InsightsCollectionService } from './insights-collection.service'; import { InsightsCompactionService } from './insights-compaction.service'; export declare class InsightsService { private readonly insightsByPeriodRepository; private readonly compactionService; private readonly collectionService; private readonly license; private readonly logger; constructor(insightsByPeriodRepository: InsightsByPeriodRepository, compactionService: InsightsCompactionService, collectionService: InsightsCollectionService, license: License, logger: Logger); startBackgroundProcess(): void; stopBackgroundProcess(): void; shutdown(): Promise<void>; workflowExecuteAfterHandler(ctx: ExecutionLifecycleHooks, fullRunData: IRun): Promise<void>; getInsightsSummary({ periodLengthInDays, }: { periodLengthInDays: number; }): Promise<InsightsSummary>; getInsightsByWorkflow({ maxAgeInDays, skip, take, sortBy, }: { maxAgeInDays: number; skip?: number; take?: number; sortBy?: string; }): Promise<{ count: number; data: { workflowId: string; projectId: string; workflowName: string; failed: number; projectName: string; total: number; succeeded: number; failureRate: number; runTime: number; averageRunTime: number; timeSaved: number; }[]; }>; getInsightsByTime({ maxAgeInDays, periodUnit, }: { maxAgeInDays: number; periodUnit: PeriodUnit; }): Promise<{ date: string; values: { total: number; succeeded: number; failed: number; failureRate: number; averageRunTime: number; timeSaved: number; }; }[]>; getAvailableDateRanges(): InsightsDateRange[]; getMaxAgeInDaysAndGranularity(dateRangeKey: InsightsDateRange['key']): InsightsDateRange & { maxAgeInDays: number; }; }