UNPKG

@n8n-plus/n8n-plus

Version:

n8n Workflow Automation Tool (plus edition)

84 lines (83 loc) 2.85 kB
import type { SelectQueryBuilder } from '@n8n/typeorm'; import { DataSource, Repository } from '@n8n/typeorm'; import { InsightsByPeriod } from '../entities/insights-by-period'; import type { PeriodUnit, TypeUnit } from '../entities/insights-shared'; export declare class InsightsByPeriodRepository extends Repository<InsightsByPeriod> { private isRunningCompaction; constructor(dataSource: DataSource); private escapeField; private getPeriodFilterExpr; private getPeriodStartExpr; getPeriodInsightsBatchQuery({ periodUnitToCompactFrom, compactionBatchSize, maxAgeInDays, }: { periodUnitToCompactFrom: PeriodUnit; compactionBatchSize: number; maxAgeInDays: number; }): SelectQueryBuilder<{ id: number; metaId: number; type: string; value: number; periodStart: Date; }>; private getAggregationQuery; compactSourceDataIntoInsightPeriod({ sourceBatchQuery, sourceTableName, periodUnitToCompactInto, }: { sourceBatchQuery: SelectQueryBuilder<{ id: number; metaId: number; type: string; value: number; periodStart: Date; }>; sourceTableName?: string; periodUnitToCompactInto: PeriodUnit; }): Promise<number>; getPreviousAndCurrentPeriodTypeAggregates({ startDate, endDate, projectId, }: { projectId?: string; startDate: Date; endDate: Date; }): Promise<Array<{ period: 'previous' | 'current'; type: 0 | 1 | 2 | 3; total_value: string | number; }>>; private parseSortingParams; getInsightsByWorkflow({ startDate, endDate, skip, take, sortBy, projectId, }: { skip?: number; take?: number; sortBy?: string; projectId?: string; startDate: Date; endDate: Date; }): Promise<{ count: number; rows: { workflowId: string | null; projectId: string | null; workflowName: string; projectName: string; failed: number; succeeded: number; total: number; timeSaved: number; runTime: number; failureRate: number; averageRunTime: number; }[]; }>; getInsightsByTime({ periodUnit, insightTypes, projectId, startDate, endDate, }: { periodUnit: PeriodUnit; insightTypes: TypeUnit[]; projectId?: string; startDate: Date; endDate: Date; }): Promise<{ periodStart: string; failed?: number | undefined; succeeded?: number | undefined; timeSaved?: number | undefined; runTime?: number | undefined; }[]>; pruneOldData(maxAgeInDays: number): Promise<{ affected: number | null | undefined; }>; }