Skip to content

Commit 6216f52

Browse files
Merge pull request #120 from voxpupuli/fix-all-environments
Don't query for environment when all environments is selected
2 parents 84e3387 + a00e04b commit 6216f52

3 files changed

Lines changed: 41 additions & 18 deletions

File tree

ui/src/pages/DashboardPage.vue

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ function loadPopulation() {
6161
function loadResources() {
6262
if (!settings.environment) return;
6363
const builder = new PqlQuery(PqlEntity.Resources);
64-
builder.filter().and().equal('environment', settings.environment);
64+
if (settings.hasEnvironment()) {
65+
builder.filter().and().equal('environment', settings.environment);
66+
}
6567
builder.addProjectionField('count()');
6668
6769
void Backend.getQueryResult<CountResult[]>(builder).then((result) => {
@@ -76,7 +78,7 @@ function loadData() {
7678
void Backend.getViewNodeOverview(settings.environment).then((result) => {
7779
if (result.status === 200) {
7880
nodes.value = result.data.Data.map((s) =>
79-
PuppetNodeWithEventCount.fromApi(s)
81+
PuppetNodeWithEventCount.fromApi(s),
8082
);
8183
}
8284
});
@@ -88,11 +90,14 @@ function load() {
8890
loadData();
8991
}
9092
91-
9293
onMounted(() => {
93-
watch(() => settings.environment, () => {
94-
load();
95-
}, { immediate: true });
94+
watch(
95+
() => settings.environment,
96+
() => {
97+
load();
98+
},
99+
{ immediate: true },
100+
);
96101
});
97102
</script>
98103

ui/src/pages/node/NodeDetailPage.vue

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,38 @@ const pagination = ref({
7070
});
7171
7272
function loadFacts() {
73-
const query = `facts {certname = '${node.value}' and environment = '${settings.environment}' }`;
74-
75-
void Backend.getRawQueryResult<ApiPuppetFact[]>(query).then((result) => {
76-
if (result.status === 200) {
77-
node_facts.value = result.data.Data.Data.map((s) =>
78-
PuppetFact.fromApi(s),
79-
);
80-
}
81-
});
73+
const queryBuilder = new PqlQuery(PqlEntity.Facts);
74+
queryBuilder.filter().and().equal('certname', node.value);
75+
76+
if (settings.hasEnvironment()) {
77+
queryBuilder.filter().and().equal('environment', settings.environment);
78+
}
79+
80+
void Backend.getRawQueryResult<ApiPuppetFact[]>(queryBuilder.build()).then(
81+
(result) => {
82+
if (result.status === 200) {
83+
node_facts.value = result.data.Data.Data.map((s) =>
84+
PuppetFact.fromApi(s),
85+
);
86+
}
87+
},
88+
);
8289
}
8390
8491
function loadNodeInfo() {
85-
const query = `nodes { certname = '${node.value}' and catalog_environment = '${settings.environment}' }`;
92+
const queryBuilder = new PqlQuery(PqlEntity.Nodes);
93+
queryBuilder.filter().and().equal('certname', node.value);
94+
95+
if (settings.hasEnvironment()) {
96+
queryBuilder
97+
.filter()
98+
.and()
99+
.equal('catalog_environment', settings.environment);
100+
}
101+
86102
isLoading.value = true;
87103
88-
void Backend.getRawQueryResult<ApiPuppetNode[]>(query)
104+
void Backend.getRawQueryResult<ApiPuppetNode[]>(queryBuilder.build())
89105
.then((result) => {
90106
if (result.status === 200) {
91107
node_info.value = PuppetNode.fromApi(result.data.Data.Data[0]!);

ui/src/pages/report/ReportOverviewPage.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,9 @@ function loadReports() {
131131
query.filter().and().equal('latest_report?', true);
132132
}
133133
134-
query.filter().and().equal('environment', settings.environment);
134+
if (settings.hasEnvironment()) {
135+
query.filter().and().equal('environment', settings.environment);
136+
}
135137
136138
const start = ((page ?? 1) - 1) * (rowsPerPage ?? 0);
137139

0 commit comments

Comments
 (0)