Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Reporting/PDF] Refactor screenshot pipeline for multi-url by default #48588

Merged
merged 9 commits into from
Jan 6, 2020
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ describe('headers', () => {
};

const encryptedHeaders = await encryptHeaders(headers);
const { decryptedHeaders } = await decryptJobHeaders({
const decryptedHeaders = await decryptJobHeaders({
Copy link
Member Author

@tsullivan tsullivan Dec 12, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pipeline methods no longer need to have return value destructured, because they (usually) only return what is necessary. They no longer need to return a caravan of objects to get carried down the pipeline.

This is an effect of main change (1)

job: {
title: 'cool-job-bro',
type: 'csv',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,18 @@ export const decryptJobHeaders = async <
JobParamsType,
JobDocPayloadType extends HasEncryptedHeaders
>({
job,
server,
job,
logger,
}: {
job: JobDocPayloadType;
server: ServerFacade;
logger: Logger;
}): Promise<{
job: JobDocPayloadType;
server: ServerFacade;
decryptedHeaders: Record<string, string>;
}> => {
logger: Logger;
}): Promise<Record<string, string>> => {
const crypto: CryptoFactory = cryptoFactory(server);
try {
const decryptedHeaders: Record<string, string> = await crypto.decrypt(job.headers);
return { job, decryptedHeaders, server };
return decryptedHeaders;
} catch (err) {
logger.error(err);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -44,7 +44,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -65,7 +65,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -82,7 +82,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -97,7 +97,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -120,7 +120,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -137,7 +137,7 @@ describe('conditions', () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -153,7 +153,7 @@ test('uses basePath from job when creating saved object service', async () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -180,7 +180,7 @@ test(`uses basePath from server if job doesn't have a basePath when creating sav
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand All @@ -203,7 +203,7 @@ test(`uses basePath from server if job doesn't have a basePath when creating sav
describe('config formatting', () => {
test(`lowercases server.host`, async () => {
mockServer = createMockServer({ settings: { 'server.host': 'COOL-HOSTNAME' } });
const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayload<any>,
filteredHeaders: {},
server: mockServer,
Expand All @@ -215,7 +215,7 @@ describe('config formatting', () => {
mockServer = createMockServer({
settings: { 'xpack.reporting.kibanaServer.hostname': 'GREAT-HOSTNAME' },
});
const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {
title: 'cool-job-bro',
type: 'csv',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
import { ConditionalHeaders, ServerFacade } from '../../../types';

export const getConditionalHeaders = <JobDocPayloadType>({
server,
job,
filteredHeaders,
server,
}: {
server: ServerFacade;
job: JobDocPayloadType;
filteredHeaders: Record<string, string>;
server: ServerFacade;
}) => {
const config = server.config();
const [hostname, port, basePath, protocol] = [
Expand All @@ -32,5 +32,5 @@ export const getConditionalHeaders = <JobDocPayloadType>({
},
};

return { job, conditionalHeaders, server };
return conditionalHeaders;
};
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ test(`gets logo from uiSettings`, async () => {
baz: 'quix',
};

const { conditionalHeaders } = await getConditionalHeaders({
const conditionalHeaders = await getConditionalHeaders({
job: {} as JobDocPayloadPDF,
filteredHeaders: permittedHeaders,
server: mockServer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import { ConditionalHeaders, ServerFacade } from '../../../types';
import { JobDocPayloadPDF } from '../../printable_pdf/types'; // Logo is PDF only

export const getCustomLogo = async ({
server,
job,
conditionalHeaders,
server,
}: {
server: ServerFacade;
job: JobDocPayloadPDF;
conditionalHeaders: ConditionalHeaders;
server: ServerFacade;
}) => {
const serverBasePath: string = server.config().get('server.basePath');

Expand All @@ -38,12 +38,8 @@ export const getCustomLogo = async ({
};

const savedObjects = server.savedObjects;

const savedObjectsClient = savedObjects.getScopedSavedObjectsClient(fakeRequest);

const uiSettings = server.uiSettingsServiceFactory({ savedObjectsClient });

const logo = await uiSettings.get(UI_SETTINGS_CUSTOM_PDF_LOGO);

return { job, conditionalHeaders, logo, server };
const logo: string = await uiSettings.get(UI_SETTINGS_CUSTOM_PDF_LOGO);
return { conditionalHeaders, logo };
};
Loading