Skip to content

Commit

Permalink
reportingconfigtype
Browse files Browse the repository at this point in the history
  • Loading branch information
tsullivan committed Apr 2, 2020
1 parent 7ee31fa commit 9ccee60
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 4 deletions.
67 changes: 67 additions & 0 deletions x-pack/legacy/plugins/reporting/server/config/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

import { NetworkPolicy } from '../../types';

type BrowserType = 'chromium';

interface BrowserConfig {
inspect: boolean;
userDataDir: string;
viewport: { width: number; height: number };
disableSandbox: boolean;
proxy: {
enabled: boolean;
server?: string;
bypass?: string[];
};
}

interface CaptureConfig {
browser: {
type: BrowserType;
autoDownload: boolean;
chromium: BrowserConfig;
};
maxAttempts: number;
networkPolicy: NetworkPolicy;
loadDelay: number;
timeouts: {
openUrl: number;
waitForElements: number;
renderComplete: number;
};
viewport: any;
zoom: any;
}

interface QueueConfig {
indexInterval: string;
pollEnabled: boolean;
pollInterval: number;
pollIntervalErrorMultiplier: number;
timeout: number;
}

interface ScrollConfig {
duration: string;
size: number;
}

export interface ReportingConfigType {
capture: CaptureConfig;
csv: {
scroll: ScrollConfig;
enablePanelActionDownload: boolean;
checkForFormulas: boolean;
maxSizeBytes: number;
};
encryptionKey: string;
kibanaServer: any;
index: string;
queue: QueueConfig;
roles: any;
}
4 changes: 3 additions & 1 deletion x-pack/legacy/plugins/reporting/server/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { XPackMainPlugin } from '../../xpack_main/server/xpack_main';
import { PLUGIN_ID } from '../common/constants';
import { EnqueueJobFn, ESQueueInstance, ReportingPluginSpecOptions, ServerFacade } from '../types';
import { HeadlessChromiumDriverFactory } from './browsers/chromium/driver_factory';
import { ReportingConfigType } from './config';
import { checkLicenseFactory, getExportTypesRegistry, LevelLogger } from './lib';
import { registerRoutes } from './routes';
import { ReportingSetupDeps } from './types';
Expand Down Expand Up @@ -76,7 +77,8 @@ interface KbnServerConfigType {
};
}

export type ReportingConfigType = any; // FIXME
export { ReportingConfigType };

export interface ReportingConfig extends Config<ReportingConfigType> {
kbnConfig: Config<KbnServerConfigType>;
}
Expand Down
10 changes: 7 additions & 3 deletions x-pack/legacy/plugins/reporting/server/lib/create_worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,14 @@ export async function createWorkerFactory<JobParamsType>(
> = new Map();

for (const exportType of reporting.getExportTypesRegistry().getAll() as Array<
ExportTypeDefinition<JobParamsType, unknown, unknown, any>
ExportTypeDefinition<
JobParamsType,
unknown,
unknown,
ImmediateExecuteFn<JobParamsType> | ESQueueWorkerExecuteFn<JobDocPayloadType>
>
>) {
// TODO: the executeJobFn should be unwrapped in the register method of the export types registry
const jobExecutor = await exportType.executeJobFactory(reporting, logger);
const jobExecutor = exportType.executeJobFactory(reporting, logger);
jobExecutors.set(exportType.jobType, jobExecutor);
}

Expand Down

0 comments on commit 9ccee60

Please sign in to comment.