Compare commits
	
		
			14 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					1b2286c4f8 | ||
| 
						 | 
					34233fde2f | ||
| 
						 | 
					e95dd5f6e7 | ||
| 
						 | 
					901e6986a0 | ||
| 
						 | 
					aa78929743 | ||
| 
						 | 
					8207f30234 | ||
| 
						 | 
					1879977b83 | ||
| 
						 | 
					b4de579a74 | ||
| 
						 | 
					23f15ff9e5 | ||
| 
						 | 
					498e038bbb | ||
| 
						 | 
					bb1f1c19cf | ||
| 
						 | 
					74e3aa4e46 | ||
| 
						 | 
					07a8e3ebcb | ||
| 
						 | 
					89966dd006 | 
							
								
								
									
										2
									
								
								.github/workflows/frontend-linting.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/frontend-linting.yml
									
									
									
									
										vendored
									
									
								
							@@ -13,7 +13,7 @@ jobs:
 | 
			
		||||
 | 
			
		||||
      - uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: 16
 | 
			
		||||
          node-version: 18
 | 
			
		||||
      - run: npm install
 | 
			
		||||
 | 
			
		||||
      - name: Run Prettier formatting
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1158
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1158
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										30
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								package.json
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "web",
 | 
			
		||||
  "version": "0.101.28",
 | 
			
		||||
  "version": "0.101.30",
 | 
			
		||||
  "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.5",
 | 
			
		||||
    "@quasar/extras": "1.16.7",
 | 
			
		||||
    "apexcharts": "3.41.1",
 | 
			
		||||
    "axios": "1.4.0",
 | 
			
		||||
    "axios": "1.5.1",
 | 
			
		||||
    "dotenv": "16.3.1",
 | 
			
		||||
    "qrcode.vue": "3.4.1",
 | 
			
		||||
    "quasar": "2.12.4",
 | 
			
		||||
    "quasar": "2.12.7",
 | 
			
		||||
    "vue": "3.3.4",
 | 
			
		||||
    "vue3-ace-editor": "2.2.3",
 | 
			
		||||
    "vue3-apexcharts": "1.4.4",
 | 
			
		||||
    "vuedraggable": "4.1.0",
 | 
			
		||||
    "vue-router": "4.2.4",
 | 
			
		||||
    "vue-router": "4.2.5",
 | 
			
		||||
    "vuex": "4.1.0"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@quasar/cli": "^2.2.2",
 | 
			
		||||
    "@intlify/unplugin-vue-i18n": "^0.12.2",
 | 
			
		||||
    "@quasar/app-vite": "^1.4.3",
 | 
			
		||||
    "@types/node": "^20.4.8",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^6.2.1",
 | 
			
		||||
    "@typescript-eslint/parser": "^6.2.1",
 | 
			
		||||
    "autoprefixer": "10.4.14",
 | 
			
		||||
    "eslint": "8.46.0",
 | 
			
		||||
    "@quasar/cli": "2.3.0",
 | 
			
		||||
    "@intlify/unplugin-vue-i18n": "1.4.0",
 | 
			
		||||
    "@quasar/app-vite": "1.6.2",
 | 
			
		||||
    "@types/node": "20.8.0",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "6.7.3",
 | 
			
		||||
    "@typescript-eslint/parser": "6.7.3",
 | 
			
		||||
    "autoprefixer": "10.4.16",
 | 
			
		||||
    "eslint": "8.50.0",
 | 
			
		||||
    "eslint-config-prettier": "9.0.0",
 | 
			
		||||
    "eslint-plugin-vue": "8.7.1",
 | 
			
		||||
    "prettier": "3.0.1",
 | 
			
		||||
    "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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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