Skip to content

Commit

Permalink
skeleton for adding Search Strategy restrictions
Browse files Browse the repository at this point in the history
  • Loading branch information
alexwizp committed Jan 17, 2019
1 parent b45ae1d commit a53d647
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,13 @@ export default class SearchStrategiesRegister {

static async getViableStrategy(req, indexPattern) {
for (const searchStrategy of strategies) {
const isViable = await searchStrategy.isViable(req, indexPattern);
const { isViable, restrictions } = await searchStrategy.checkForViability(req, indexPattern);

if (isViable) {
return searchStrategy;
return {
searchStrategy,
restrictions,
};
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ export default class DefaultSearchStrategy extends AbstractSearchStrategy {
super(server, callWithRequestFactory, SearchRequest);
}

isViable() {
return true;
checkForViability() {
return {
isViable: true,
restrictions: {},
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function validAnnotation(annotation) {

export default async (req, panel) => {
const indexPattern = panel.index_pattern;
const searchStrategy = await SearchStrategiesRegister.getViableStrategy(req, indexPattern);
const { searchStrategy } = await SearchStrategiesRegister.getViableStrategy(req, indexPattern);
const searchRequest = searchStrategy.getSearchRequest(req, indexPattern);
const bodies = panel.annotations
.filter(validAnnotation)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import SearchStrategiesRegister from '../search_strategies/search_strategies_reg

export async function getSeriesData(req, panel) {
const indexPattern = panel.index_pattern;
const searchStrategy = await SearchStrategiesRegister.getViableStrategy(req, indexPattern);
const { searchStrategy } = await SearchStrategiesRegister.getViableStrategy(req, indexPattern);
const searchRequest = searchStrategy.getSearchRequest(req, indexPattern);

const body = panel.series
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import SearchStrategiesRegister from '../search_strategies/search_strategies_reg

export async function getTableData(req, panel) {
const indexPattern = panel.index_pattern;
const searchStrategy = await SearchStrategiesRegister.getViableStrategy(req, indexPattern);
const { searchStrategy } = await SearchStrategiesRegister.getViableStrategy(req, indexPattern);
const searchRequest = searchStrategy.getSearchRequest(req, indexPattern);
const body = buildRequestBody(req, panel);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@ export default (AbstractSearchStrategy, RollupSearchRequest) =>
return await this.numberOfRollupJobs(req, indexPattern) === 1;
}

async isViable(req, indexPattern) {
return await this.hasOneRollupJob(req, indexPattern);
async checkForViability(req, indexPattern) {
const isViable = await this.hasOneRollupJob(req, indexPattern);

return {
isViable,
restrictions: {},
};
}
});

0 comments on commit a53d647

Please sign in to comment.