@grouparoo/core
Version:
The Grouparoo Core
120 lines (119 loc) • 4.42 kB
TypeScript
import { App } from "../models/App";
import { ApiKey } from "../models/ApiKey";
import { Source } from "../models/Source";
import { Schedule } from "../models/Schedule";
import { Destination } from "../models/Destination";
import { Import } from "../models/Import";
import { Group } from "../models/Group";
import { GroupRule } from "../models/GroupRule";
import { Export } from "../models/Export";
import { GrouparooRecord } from "../models/GrouparooRecord";
import { RecordProperty } from "../models/RecordProperty";
import { Property } from "../models/Property";
import { Run } from "../models/Run";
import { Team } from "../models/Team";
import { TeamMember } from "../models/TeamMember";
import { GrouparooModel } from "../models/GrouparooModel";
export interface StatusMetric {
collection: string;
topic: string;
aggregation: "count" | "exact";
key?: string;
value?: string;
count?: number;
min?: number;
max?: number;
avg?: number;
imports?: number;
exports?: number;
runs?: number;
errors?: number;
metadata?: string;
}
export declare namespace StatusReporters {
namespace Cluster {
namespace Workers {
function countWorkers(): Promise<StatusMetric>;
function countErrors(): Promise<StatusMetric>;
function details(): Promise<StatusMetric>;
}
namespace Process {
function platform(): Promise<StatusMetric>;
function env(): Promise<StatusMetric[]>;
function sequelizeDialect(): Promise<StatusMetric>;
}
namespace Notifications {
function unread(): Promise<StatusMetric>;
}
}
namespace Plugins {
function Versions(): Promise<StatusMetric[]>;
}
namespace Totals {
function Models(models?: (typeof Property | typeof Schedule | typeof Destination | typeof Source | typeof App | typeof RecordProperty | typeof GrouparooRecord | typeof GroupRule | typeof Group | typeof Run | typeof Export | typeof GrouparooModel | typeof Import | typeof ApiKey | typeof Team | typeof TeamMember)[]): Promise<StatusMetric[]>;
function SourceTotals(): Promise<StatusMetric[]>;
function DestinationTotals(): Promise<StatusMetric[]>;
function UniqueRecordsExported(): Promise<StatusMetric[]>;
}
namespace Pending {
function pendingRuns(): Promise<StatusMetric[]>;
function pendingRecords(): Promise<StatusMetric>;
function pendingImports(): Promise<StatusMetric>;
function pendingImportsBySource(): Promise<StatusMetric[]>;
function pendingExports(): Promise<StatusMetric>;
function pendingExportsByDestination(): Promise<StatusMetric[]>;
}
namespace Deleted {
function deletedGroups(): Promise<StatusMetric>;
function deletedDestinations(): Promise<StatusMetric>;
function deletedProperties(): Promise<StatusMetric>;
function deletedSources(): Promise<StatusMetric>;
function deletedRecords(): Promise<StatusMetric>;
function deletedModels(): Promise<StatusMetric>;
function deletedApps(): Promise<StatusMetric>;
}
namespace Groups {
function byNewestMember(): Promise<StatusMetric[]>;
}
namespace Sources {
function nextRuns(): Promise<StatusMetric[]>;
}
}
export declare namespace FinalSummaryReporters {
namespace Sources {
interface SourceData {
name: string;
recordsCreated: number;
recordsImported: number;
importsCreated: number;
error: string;
}
function getData(): Promise<SourceData[]>;
}
namespace GrouparooRecords {
interface RecordData {
name?: string;
recordsUpdated: number;
recordsCreated: number;
allRecords: number;
}
function getData(): Promise<RecordData[]>;
}
namespace Destinations {
interface DestinationData {
name: string;
exportsCreated: number;
exportsFailed: number;
exportsComplete: number;
}
function getData(): Promise<DestinationData[]>;
}
namespace Warnings {
interface WarningData {
name: string;
message: string;
link: string;
}
function getWarnings(): Promise<WarningData[]>;
}
}