Skip to content

Commit

Permalink
Read package saved objects in data stream handler.
Browse files Browse the repository at this point in the history
  • Loading branch information
skh committed May 4, 2020
1 parent 3c56a8e commit 1a07039
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import { RequestHandler } from 'src/core/server';
import { DataStream } from '../../types';
import { GetDataStreamsResponse } from '../../../common';
import { getPackageSavedObjects } from '../../services/epm/packages/get';

const DATA_STREAM_INDEX_PATTERN = 'logs-*-*,metrics-*-*';

Expand Down Expand Up @@ -90,6 +91,10 @@ export const getListHandler: RequestHandler = async (context, request, response)
},
});

const packageSavedObjects = await getPackageSavedObjects(context.core.savedObjects.client);

const packageMetadata: any = {};

const dataStreams: DataStream[] = (indexResults as any[]).map(result => {
const {
key: indexName,
Expand All @@ -99,12 +104,26 @@ export const getListHandler: RequestHandler = async (context, request, response)
package: { buckets: packageBuckets },
last_activity: { value_as_string: lastActivity },
} = result;

const pkg = packageBuckets.length ? packageBuckets[0].key : '';
const pkgSavedObject = packageSavedObjects.saved_objects.filter(p => p.id === pkg);

// if
// - the datastream is associated with a package
// - and the package has been installed through EPM
// - and we didn't pick the metadata in an earlier iteration of this map()
if (pkg !== '' && pkgSavedObject.length > 0 && !packageMetadata[pkg]) {
packageMetadata[pkg] = {
version: pkgSavedObject[0].attributes?.version,
};
}
return {
index: indexName,
dataset: datasetBuckets.length ? datasetBuckets[0].key : '',
namespace: namespaceBuckets.length ? namespaceBuckets[0].key : '',
type: typeBuckets.length ? typeBuckets[0].key : '',
package: packageBuckets.length ? packageBuckets[0].key : '',
package: pkg,
packageVersion: packageMetadata[pkg] ? packageMetadata[pkg].version : '',
last_activity: lastActivity,
size_in_bytes: indexStats[indexName] ? indexStats[indexName].total.store.size_in_bytes : 0,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,10 @@ export async function getPackages(
);
});
// get the installed packages
const results = await savedObjectsClient.find<Installation>({
type: PACKAGES_SAVED_OBJECT_TYPE,
});
const packageSavedObjects = await getPackageSavedObjects(savedObjectsClient);

// filter out any internal packages
const savedObjectsVisible = results.saved_objects.filter(o => !o.attributes.internal);
const savedObjectsVisible = packageSavedObjects.saved_objects.filter(o => !o.attributes.internal);
const packageList = registryItems
.map(item =>
createInstallableFrom(
Expand All @@ -48,6 +47,12 @@ export async function getPackages(
return packageList;
}

export async function getPackageSavedObjects(savedObjectsClient: SavedObjectsClientContract) {
return savedObjectsClient.find<Installation>({
type: PACKAGES_SAVED_OBJECT_TYPE,
});
}

export async function getPackageKeysByStatus(
savedObjectsClient: SavedObjectsClientContract,
status: InstallationStatus
Expand Down

0 comments on commit 1a07039

Please sign in to comment.