Compare commits
37 Commits
v0.101.23-
...
v0.101.29
Author | SHA1 | Date | |
---|---|---|---|
|
8207f30234 | ||
|
1879977b83 | ||
|
b4de579a74 | ||
|
23f15ff9e5 | ||
|
498e038bbb | ||
|
bb1f1c19cf | ||
|
74e3aa4e46 | ||
|
07a8e3ebcb | ||
|
89966dd006 | ||
|
68036f6837 | ||
|
45ac82b1dd | ||
|
d94e5c7965 | ||
|
e0c1b3199a | ||
|
fdbbdf7394 | ||
|
03fae45ac5 | ||
|
346670e8ea | ||
|
e030efaecf | ||
|
b8a4f9fe74 | ||
|
f963b51d70 | ||
|
c2591c9e7d | ||
|
7fcbe6fbd8 | ||
|
a2f472ef9c | ||
|
8403ac0e93 | ||
|
b7a91563b0 | ||
|
ab19afca16 | ||
|
f24c6a7a80 | ||
|
99490bf859 | ||
|
72cdeeaa6a | ||
|
1eca4d605b | ||
|
52ee98f6f8 | ||
|
d270b877c9 | ||
|
fd8b2a1d98 | ||
|
f518043d8d | ||
|
cc2335558d | ||
|
a8a171ba2c | ||
|
24a63f477e | ||
|
ddeb6293a1 |
1657
package-lock.json
generated
1657
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
42
package.json
42
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "web",
|
||||
"version": "0.101.23-dev",
|
||||
"version": "0.101.29",
|
||||
"private": true,
|
||||
"productName": "Tactical RMM",
|
||||
"scripts": {
|
||||
@@ -10,31 +10,31 @@
|
||||
"format": "prettier --write \"**/*.{js,ts,vue,,html,md,json}\" --ignore-path .gitignore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@quasar/extras": "1.16.4",
|
||||
"apexcharts": "3.41.0",
|
||||
"@quasar/extras": "1.16.6",
|
||||
"apexcharts": "3.41.1",
|
||||
"axios": "1.4.0",
|
||||
"dotenv": "16.3.1",
|
||||
"qrcode.vue": "3.4.0",
|
||||
"quasar": "2.12.1",
|
||||
"vue": "3.2.47",
|
||||
"vue3-ace-editor": "2.2.2",
|
||||
"vue3-apexcharts": "1.4.1",
|
||||
"qrcode.vue": "3.4.1",
|
||||
"quasar": "2.12.5",
|
||||
"vue": "3.3.4",
|
||||
"vue3-ace-editor": "2.2.3",
|
||||
"vue3-apexcharts": "1.4.4",
|
||||
"vuedraggable": "4.1.0",
|
||||
"vue-router": "4.1.6",
|
||||
"vue-router": "4.2.4",
|
||||
"vuex": "4.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@quasar/cli": "^2.2.1",
|
||||
"@intlify/unplugin-vue-i18n": "^0.10.0",
|
||||
"@quasar/app-vite": "^1.4.3",
|
||||
"@types/node": "^20.3.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"autoprefixer": "10.4.14",
|
||||
"eslint": "8.43.0",
|
||||
"eslint-config-prettier": "8.8.0",
|
||||
"@quasar/cli": "2.2.3",
|
||||
"@intlify/unplugin-vue-i18n": "0.12.3",
|
||||
"@quasar/app-vite": "1.4.6",
|
||||
"@types/node": "20.5.7",
|
||||
"@typescript-eslint/eslint-plugin": "6.5.0",
|
||||
"@typescript-eslint/parser": "6.5.0",
|
||||
"autoprefixer": "10.4.15",
|
||||
"eslint": "8.48.0",
|
||||
"eslint-config-prettier": "9.0.0",
|
||||
"eslint-plugin-vue": "8.7.1",
|
||||
"prettier": "2.8.8",
|
||||
"typescript": "5.1.6"
|
||||
"prettier": "3.0.3",
|
||||
"typescript": "5.2.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -31,6 +31,11 @@ export async function resetCheck(id) {
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function resetAllChecksStatus(agent_id) {
|
||||
const { data } = await axios.post(`${baseUrl}/${agent_id}/resetall/`);
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function runAgentChecks(agent_id) {
|
||||
const { data } = await axios.post(`${baseUrl}/${agent_id}/run/`);
|
||||
return data;
|
||||
|
@@ -119,6 +119,16 @@
|
||||
no-caps
|
||||
icon="play_arrow"
|
||||
@click="runChecks"
|
||||
class="q-mr-md"
|
||||
/>
|
||||
<q-btn
|
||||
label="Reset All Checks Status"
|
||||
dense
|
||||
flat
|
||||
push
|
||||
no-caps
|
||||
icon="restart_alt"
|
||||
@click="resetAllChecks"
|
||||
/>
|
||||
</template>
|
||||
|
||||
@@ -415,6 +425,7 @@ import {
|
||||
updateCheck,
|
||||
removeCheck,
|
||||
resetCheck,
|
||||
resetAllChecksStatus,
|
||||
runAgentChecks,
|
||||
} from "@/api/checks";
|
||||
import { fetchAgentChecks } from "@/api/agents";
|
||||
@@ -572,7 +583,7 @@ export default {
|
||||
notifySuccess(result);
|
||||
refreshDashboard(
|
||||
false /* clearTreeSelected */,
|
||||
false /* clearSubTable */
|
||||
false /* clearSubTable */,
|
||||
);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
@@ -580,6 +591,27 @@ export default {
|
||||
loading.value = false;
|
||||
}
|
||||
|
||||
function resetAllChecks() {
|
||||
console.info(selectedAgent.value);
|
||||
$q.dialog({
|
||||
title: "Are you sure?",
|
||||
message: "Reset all checks status",
|
||||
cancel: true,
|
||||
ok: { label: "Reset", color: "negative" },
|
||||
persistent: true,
|
||||
}).onOk(async () => {
|
||||
loading.value = true;
|
||||
try {
|
||||
const result = await resetAllChecksStatus(selectedAgent.value);
|
||||
await getChecks();
|
||||
notifySuccess(result);
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
function showEventInfo(data) {
|
||||
$q.dialog({
|
||||
component: EventLogCheckOutput,
|
||||
@@ -674,6 +706,7 @@ export default {
|
||||
formatDate,
|
||||
getAlertSeverity,
|
||||
runChecks,
|
||||
resetAllChecks,
|
||||
|
||||
// dialogs
|
||||
showScriptOutput,
|
||||
|
@@ -3,7 +3,7 @@
|
||||
ref="dialogRef"
|
||||
@hide="onDialogHide"
|
||||
persistent
|
||||
@keydown.esc="onDialogHide"
|
||||
@keydown.esc.stop="onDialogHide"
|
||||
:maximized="maximized"
|
||||
>
|
||||
<q-card
|
||||
|
@@ -74,7 +74,7 @@
|
||||
:color="dash_negative_color"
|
||||
text-color="black"
|
||||
icon="warning"
|
||||
>Certificate expires in {{ daysUntilCertExpires }} days</q-chip
|
||||
>SSL certificate expires in {{ daysUntilCertExpires }} days</q-chip
|
||||
>
|
||||
</q-toolbar-title>
|
||||
<!-- temp dark mode toggle -->
|
||||
@@ -288,7 +288,7 @@ export default {
|
||||
|
||||
if (!token.value) {
|
||||
console.log(
|
||||
"Access token is null or invalid, not setting up WebSocket"
|
||||
"Access token is null or invalid, not setting up WebSocket",
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -325,10 +325,13 @@ export default {
|
||||
|
||||
const poll = ref(null);
|
||||
function livePoll() {
|
||||
poll.value = setInterval(() => {
|
||||
store.dispatch("checkVer");
|
||||
store.dispatch("getDashInfo", false);
|
||||
}, 60 * 4 * 1000);
|
||||
poll.value = setInterval(
|
||||
() => {
|
||||
store.dispatch("checkVer");
|
||||
store.dispatch("getDashInfo", false);
|
||||
},
|
||||
60 * 4 * 1000,
|
||||
);
|
||||
}
|
||||
|
||||
const updateAvailable = computed(() => {
|
||||
|
@@ -13,7 +13,7 @@
|
||||
>
|
||||
<q-spinner size="40px" color="primary" />
|
||||
</div>
|
||||
<div v-else class="q-pa-sm q-gutter-sm scroll" style="height: 85vh">
|
||||
<div v-else class="q-pa-sm q-gutter-sm scroll" style="height: 85vh; overflow: initial;">
|
||||
<q-list dense class="rounded-borders">
|
||||
<q-item
|
||||
clickable
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<q-bar>
|
||||
<span class="text-caption">
|
||||
Agent Status:
|
||||
TRMM Agent Status:
|
||||
<q-badge :color="statusColor" :label="status" />
|
||||
</span>
|
||||
<q-space />
|
||||
|
Reference in New Issue
Block a user