Compare commits
	
		
			45 Commits
		
	
	
		
			v0.101.23-
			...
			v0.101.31
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 20d534eab0 | ||
|  | 0d87f5afee | ||
|  | 1b83c3c5d6 | ||
|  | 1b2286c4f8 | ||
|  | 34233fde2f | ||
|  | e95dd5f6e7 | ||
|  | 901e6986a0 | ||
|  | aa78929743 | ||
|  | 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 | 
							
								
								
									
										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 | ||||
|   | ||||
							
								
								
									
										1902
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1902
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										44
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "web", | ||||
|   "version": "0.101.23-dev", | ||||
|   "version": "0.101.31", | ||||
|   "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", | ||||
|     "axios": "1.4.0", | ||||
|     "@quasar/extras": "1.16.7", | ||||
|     "apexcharts": "3.41.1", | ||||
|     "axios": "1.5.1", | ||||
|     "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.7", | ||||
|     "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.5", | ||||
|     "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.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": "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 | ||||
| @@ -173,8 +173,7 @@ | ||||
|                   >Setting this value on the script model will always override | ||||
|                   any 'Run As User' checkboxes in the UI and force this script | ||||
|                   to always be run in the context of the logged in user. If no | ||||
|                   user is logged in, the script will not run and an error will | ||||
|                   be returned. | ||||
|                   user is logged in, the script will run as SYSTEM. | ||||
|                 </q-tooltip> | ||||
|               </q-checkbox> | ||||
|               <q-input | ||||
| @@ -353,7 +352,7 @@ export default { | ||||
|       downloadScript(script.value.id, { with_snippets: props.readonly }).then( | ||||
|         (r) => { | ||||
|           script.value.script_body = r.code; | ||||
|         } | ||||
|         }, | ||||
|       ); | ||||
|  | ||||
|     async function submitForm() { | ||||
|   | ||||
| @@ -4,7 +4,7 @@ export const GOARCH_ARM64 = "arm64"; | ||||
| export const GOARCH_ARM32 = "arm"; | ||||
|  | ||||
| export const runAsUserToolTip = | ||||
|   "Run in the context of the logged in user. If no user is logged in, the script will not run and an error will be returned."; | ||||
|   "Run in the context of the logged in user. If no user is logged in, the script will run as SYSTEM"; | ||||
|  | ||||
| export const envVarsLabel = | ||||
|   "Environment vars (press Enter after typing each key=value pair)"; | ||||
|   | ||||
| @@ -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