move to quasar vite plugin
This commit is contained in:
		@@ -1,9 +1,7 @@
 | 
				
			|||||||
/dist
 | 
					/dist
 | 
				
			||||||
/src-bex/www
 | 
					 | 
				
			||||||
/src-capacitor
 | 
					/src-capacitor
 | 
				
			||||||
/src-cordova
 | 
					/src-cordova
 | 
				
			||||||
/.quasar
 | 
					/.quasar
 | 
				
			||||||
/node_modules
 | 
					/node_modules
 | 
				
			||||||
.eslintrc.js
 | 
					.eslintrc.js
 | 
				
			||||||
babel.config.js
 | 
					 | 
				
			||||||
/src-ssr
 | 
					/src-ssr
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
// https://github.com/michael-ciniawsky/postcss-load-config
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = {
 | 
					 | 
				
			||||||
  plugins: [
 | 
					 | 
				
			||||||
    // to edit target browsers: use "browserslist" field in package.json
 | 
					 | 
				
			||||||
    require("autoprefixer"),
 | 
					 | 
				
			||||||
  ],
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
@@ -16,7 +16,6 @@
 | 
				
			|||||||
  </head>
 | 
					  </head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <body>
 | 
					  <body>
 | 
				
			||||||
    <!-- DO NOT touch the following DIV -->
 | 
					    <!-- quasar:entry-point -->
 | 
				
			||||||
    <div id="q-app"></div>
 | 
					 | 
				
			||||||
  </body>
 | 
					  </body>
 | 
				
			||||||
</html>
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										12021
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12021
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								package.json
									
									
									
									
									
								
							@@ -13,7 +13,6 @@
 | 
				
			|||||||
    "@quasar/extras": "1.13.6",
 | 
					    "@quasar/extras": "1.13.6",
 | 
				
			||||||
    "apexcharts": "3.35.2",
 | 
					    "apexcharts": "3.35.2",
 | 
				
			||||||
    "axios": "0.27.2",
 | 
					    "axios": "0.27.2",
 | 
				
			||||||
    "core-js": "3.22.5",
 | 
					 | 
				
			||||||
    "dotenv": "16.0.0",
 | 
					    "dotenv": "16.0.0",
 | 
				
			||||||
    "qrcode.vue": "3.3.3",
 | 
					    "qrcode.vue": "3.3.3",
 | 
				
			||||||
    "quasar": "2.6.6",
 | 
					    "quasar": "2.6.6",
 | 
				
			||||||
@@ -25,15 +24,18 @@
 | 
				
			|||||||
    "vuex": "4.0.2"
 | 
					    "vuex": "4.0.2"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "@quasar/cli": "^1.3.2",
 | 
				
			||||||
 | 
					    "@intlify/vite-plugin-vue-i18n": "^3.3.1",
 | 
				
			||||||
 | 
					    "@quasar/app-vite": "^1.0.0-alpha.0",
 | 
				
			||||||
 | 
					    "@types/node": "^12.20.21",
 | 
				
			||||||
    "@typescript-eslint/eslint-plugin": "^5.10.0",
 | 
					    "@typescript-eslint/eslint-plugin": "^5.10.0",
 | 
				
			||||||
    "@typescript-eslint/parser": "^5.10.0",
 | 
					    "@typescript-eslint/parser": "^5.10.0",
 | 
				
			||||||
 | 
					    "autoprefixer": "^10.4.2",
 | 
				
			||||||
    "eslint": "^8.10.0",
 | 
					    "eslint": "^8.10.0",
 | 
				
			||||||
    "eslint-plugin-vue": "^8.5.0",
 | 
					 | 
				
			||||||
    "eslint-config-prettier": "^8.1.0",
 | 
					    "eslint-config-prettier": "^8.1.0",
 | 
				
			||||||
 | 
					    "eslint-plugin-vue": "^8.5.0",
 | 
				
			||||||
    "prettier": "^2.5.1",
 | 
					    "prettier": "^2.5.1",
 | 
				
			||||||
    "@types/node": "^12.20.21",
 | 
					    "typescript": "^4.6.4"
 | 
				
			||||||
    "@quasar/app-webpack": "^3.5.1",
 | 
					 | 
				
			||||||
    "@quasar/cli": "^1.3.2"
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "browserslist": [
 | 
					  "browserslist": [
 | 
				
			||||||
    "last 3 Chrome versions",
 | 
					    "last 3 Chrome versions",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										27
									
								
								postcss.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								postcss.config.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					/* eslint-disable */
 | 
				
			||||||
 | 
					// https://github.com/michael-ciniawsky/postcss-load-config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = {
 | 
				
			||||||
 | 
					  plugins: [
 | 
				
			||||||
 | 
					    // https://github.com/postcss/autoprefixer
 | 
				
			||||||
 | 
					    require('autoprefixer')({
 | 
				
			||||||
 | 
					      overrideBrowserslist: [
 | 
				
			||||||
 | 
					        'last 4 Chrome versions',
 | 
				
			||||||
 | 
					        'last 4 Firefox versions',
 | 
				
			||||||
 | 
					        'last 4 Edge versions',
 | 
				
			||||||
 | 
					        'last 4 Safari versions',
 | 
				
			||||||
 | 
					        'last 4 Android versions',
 | 
				
			||||||
 | 
					        'last 4 ChromeAndroid versions',
 | 
				
			||||||
 | 
					        'last 4 FirefoxAndroid versions',
 | 
				
			||||||
 | 
					        'last 4 iOS versions'
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://github.com/elchininet/postcss-rtlcss
 | 
				
			||||||
 | 
					    // If you want to support RTL css, then
 | 
				
			||||||
 | 
					    // 1. yarn/npm install postcss-rtlcss
 | 
				
			||||||
 | 
					    // 2. optionally set quasar.config.js > framework > lang to an RTL language
 | 
				
			||||||
 | 
					    // 3. uncomment the following line:
 | 
				
			||||||
 | 
					    // require('postcss-rtlcss')
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										110
									
								
								quasar.conf.js
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								quasar.conf.js
									
									
									
									
									
								
							@@ -1,110 +0,0 @@
 | 
				
			|||||||
require("dotenv").config();
 | 
					 | 
				
			||||||
const path = require("path");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
module.exports = function () {
 | 
					 | 
				
			||||||
  return {
 | 
					 | 
				
			||||||
    supportTS: {
 | 
					 | 
				
			||||||
      tsCheckerConfig: {
 | 
					 | 
				
			||||||
        eslint: {
 | 
					 | 
				
			||||||
          enabled: true,
 | 
					 | 
				
			||||||
          files: "./src/**/*.{ts,tsx,js,jsx,vue}",
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    // https://quasar.dev/quasar-cli/cli-documentation/prefetch-feature
 | 
					 | 
				
			||||||
    // preFetch: true,
 | 
					 | 
				
			||||||
    boot: ["axios"],
 | 
					 | 
				
			||||||
    // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
 | 
					 | 
				
			||||||
    css: ["app.sass"],
 | 
					 | 
				
			||||||
    // https://github.com/quasarframework/quasar/tree/dev/extras
 | 
					 | 
				
			||||||
    extras: [
 | 
					 | 
				
			||||||
      // 'ionicons-v4',
 | 
					 | 
				
			||||||
      "mdi-v5",
 | 
					 | 
				
			||||||
      "fontawesome-v5",
 | 
					 | 
				
			||||||
      // 'eva-icons',
 | 
					 | 
				
			||||||
      // 'themify',
 | 
					 | 
				
			||||||
      // 'line-awesome',
 | 
					 | 
				
			||||||
      // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      "roboto-font", // optional, you are not bound to it
 | 
					 | 
				
			||||||
      "material-icons", // optional, you are not bound to it
 | 
					 | 
				
			||||||
    ],
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
 | 
					 | 
				
			||||||
    build: {
 | 
					 | 
				
			||||||
      env: {
 | 
					 | 
				
			||||||
        DEV_API: process.env.DEV_URL,
 | 
					 | 
				
			||||||
        PROD_API: process.env.PROD_URL,
 | 
					 | 
				
			||||||
        DOCKER_BUILD: process.env.DOCKER_BUILD,
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      vueRouterMode: "history", // available values: 'hash', 'history'
 | 
					 | 
				
			||||||
      distDir: "dist/",
 | 
					 | 
				
			||||||
      devtool:
 | 
					 | 
				
			||||||
        process.env.NODE_ENV === "production"
 | 
					 | 
				
			||||||
          ? "cheap-module-eval-source-map"
 | 
					 | 
				
			||||||
          : "source-map",
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      // Add dependencies for transpiling with Babel (Array of regexes)
 | 
					 | 
				
			||||||
      // (from node_modules, which are by default not transpiled).
 | 
					 | 
				
			||||||
      // Does not applies to modern builds.
 | 
					 | 
				
			||||||
      // transpileDependencies: [],
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      // rtl: false, // https://quasar.dev/options/rtl-support
 | 
					 | 
				
			||||||
      // preloadChunks: false,
 | 
					 | 
				
			||||||
      // showProgress: false,
 | 
					 | 
				
			||||||
      // gzip: true,
 | 
					 | 
				
			||||||
      // analyze: true,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      // Options below are automatically set depending on the env, set them if you want to override
 | 
					 | 
				
			||||||
      // extractCSS: false,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      // https://quasar.dev/quasar-cli/cli-documentation/handling-webpack
 | 
					 | 
				
			||||||
      extendWebpack(cfg) {
 | 
					 | 
				
			||||||
        cfg.resolve.alias = {
 | 
					 | 
				
			||||||
          ...cfg.resolve.alias,
 | 
					 | 
				
			||||||
          "@": path.resolve(__dirname, "./src"),
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
 | 
					 | 
				
			||||||
    devServer: {
 | 
					 | 
				
			||||||
      https: false,
 | 
					 | 
				
			||||||
      host: process.env.DEV_HOST,
 | 
					 | 
				
			||||||
      port: process.env.DEV_PORT,
 | 
					 | 
				
			||||||
      open: false,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
 | 
					 | 
				
			||||||
    framework: {
 | 
					 | 
				
			||||||
      iconSet: "material-icons", // Quasar icon set
 | 
					 | 
				
			||||||
      lang: "en-US", // Quasar language pack
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      // Quasar plugins
 | 
					 | 
				
			||||||
      plugins: ["Dialog", "Loading", "LoadingBar", "Meta", "Notify"],
 | 
					 | 
				
			||||||
      config: {
 | 
					 | 
				
			||||||
        loadingBar: {
 | 
					 | 
				
			||||||
          size: "4px",
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        notify: {
 | 
					 | 
				
			||||||
          position: "top",
 | 
					 | 
				
			||||||
          timeout: 2000,
 | 
					 | 
				
			||||||
          textColor: "white",
 | 
					 | 
				
			||||||
          actions: [{ icon: "close", color: "white" }],
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        loading: {
 | 
					 | 
				
			||||||
          delay: 50,
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // animations: 'all', // --- includes all animations
 | 
					 | 
				
			||||||
    // https://quasar.dev/options/animations
 | 
					 | 
				
			||||||
    animations: [],
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
 | 
					 | 
				
			||||||
    ssr: {
 | 
					 | 
				
			||||||
      pwa: false,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
							
								
								
									
										221
									
								
								quasar.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										221
									
								
								quasar.config.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,221 @@
 | 
				
			|||||||
 | 
					/* eslint-env node */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * This file runs in a Node context (it's NOT transpiled by Babel), so use only
 | 
				
			||||||
 | 
					 * the ES6 features that are supported by your Node version. https://node.green/
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Configuration for your app
 | 
				
			||||||
 | 
					// https://v2.quasar.dev/quasar-cli-vite/quasar-config-js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { configure } = require("quasar/wrappers");
 | 
				
			||||||
 | 
					const path = require("path");
 | 
				
			||||||
 | 
					require("dotenv").config();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = configure(function (/* ctx */) {
 | 
				
			||||||
 | 
					  return {
 | 
				
			||||||
 | 
					    eslint: {
 | 
				
			||||||
 | 
					      fix: true,
 | 
				
			||||||
 | 
					      // include = [],
 | 
				
			||||||
 | 
					      // exclude = [],
 | 
				
			||||||
 | 
					      // rawOptions = {},
 | 
				
			||||||
 | 
					      warnings: true,
 | 
				
			||||||
 | 
					      errors: true,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/prefetch-feature
 | 
				
			||||||
 | 
					    // preFetch: true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // app boot file (/src/boot)
 | 
				
			||||||
 | 
					    // --> boot files are part of "main.js"
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/boot-files
 | 
				
			||||||
 | 
					    boot: ["axios"],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
 | 
				
			||||||
 | 
					    css: ["app.sass"],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://github.com/quasarframework/quasar/tree/dev/extras
 | 
				
			||||||
 | 
					    extras: [
 | 
				
			||||||
 | 
					      // 'ionicons-v4',
 | 
				
			||||||
 | 
					      "mdi-v5",
 | 
				
			||||||
 | 
					      "fontawesome-v6",
 | 
				
			||||||
 | 
					      // 'eva-icons',
 | 
				
			||||||
 | 
					      // 'themify',
 | 
				
			||||||
 | 
					      // 'line-awesome',
 | 
				
			||||||
 | 
					      // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "roboto-font", // optional, you are not bound to it
 | 
				
			||||||
 | 
					      "material-icons", // optional, you are not bound to it
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#build
 | 
				
			||||||
 | 
					    build: {
 | 
				
			||||||
 | 
					      target: {
 | 
				
			||||||
 | 
					        browser: ["es2019", "edge88", "firefox78", "chrome87", "safari13.1"],
 | 
				
			||||||
 | 
					        node: "node16",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      vueRouterMode: "history", // available values: 'hash', 'history'
 | 
				
			||||||
 | 
					      // vueRouterBase,
 | 
				
			||||||
 | 
					      // vueDevtools,
 | 
				
			||||||
 | 
					      // vueOptionsAPI: false,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // rebuildCache: true, // rebuilds Vite/linter/etc cache on startup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // publicPath: '/',
 | 
				
			||||||
 | 
					      // analyze: true,
 | 
				
			||||||
 | 
					      env: {
 | 
				
			||||||
 | 
					        DEV_API: process.env.DEV_URL,
 | 
				
			||||||
 | 
					        PROD_API: process.env.PROD_URL,
 | 
				
			||||||
 | 
					        DOCKER_BUILD: process.env.DOCKER_BUILD,
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      alias: {
 | 
				
			||||||
 | 
					        ["@"]: path.join(__dirname, "./src"),
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      // rawDefine: {}
 | 
				
			||||||
 | 
					      // ignorePublicFolder: true,
 | 
				
			||||||
 | 
					      // minify: false,
 | 
				
			||||||
 | 
					      // polyfillModulePreload: true,
 | 
				
			||||||
 | 
					      distDir: "dist/",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // extendViteConf (viteConf) {},
 | 
				
			||||||
 | 
					      // viteVuePluginOptions: {},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // vitePlugins: []
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#devServer
 | 
				
			||||||
 | 
					    devServer: {
 | 
				
			||||||
 | 
					      https: false,
 | 
				
			||||||
 | 
					      open: false, // opens browser window automatically
 | 
				
			||||||
 | 
					      host: process.env.DEV_HOST,
 | 
				
			||||||
 | 
					      port: process.env.DEV_PORT,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#framework
 | 
				
			||||||
 | 
					    framework: {
 | 
				
			||||||
 | 
					      config: {
 | 
				
			||||||
 | 
					        loadingBar: {
 | 
				
			||||||
 | 
					          size: "4px",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        notify: {
 | 
				
			||||||
 | 
					          position: "top",
 | 
				
			||||||
 | 
					          timeout: 2000,
 | 
				
			||||||
 | 
					          textColor: "white",
 | 
				
			||||||
 | 
					          actions: [{ icon: "close", color: "white" }],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        loading: {
 | 
				
			||||||
 | 
					          delay: 50,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      iconSet: "material-icons", // Quasar icon set
 | 
				
			||||||
 | 
					      lang: "en-US", // Quasar language pack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // For special cases outside of where the auto-import strategy can have an impact
 | 
				
			||||||
 | 
					      // (like functional components as one of the examples),
 | 
				
			||||||
 | 
					      // you can manually specify Quasar components/directives to be available everywhere:
 | 
				
			||||||
 | 
					      //
 | 
				
			||||||
 | 
					      // components: [],
 | 
				
			||||||
 | 
					      // directives: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // Quasar plugins
 | 
				
			||||||
 | 
					      plugins: ["Dialog", "Loading", "LoadingBar", "Meta", "Notify"],
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // animations: 'all', // --- includes all animations
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/options/animations
 | 
				
			||||||
 | 
					    animations: [],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#sourcefiles
 | 
				
			||||||
 | 
					    // sourceFiles: {
 | 
				
			||||||
 | 
					    //   rootComponent: 'src/App.vue',
 | 
				
			||||||
 | 
					    //   router: 'src/router/index',
 | 
				
			||||||
 | 
					    //   store: 'src/store/index',
 | 
				
			||||||
 | 
					    //   registerServiceWorker: 'src-pwa/register-service-worker',
 | 
				
			||||||
 | 
					    //   serviceWorker: 'src-pwa/custom-service-worker',
 | 
				
			||||||
 | 
					    //   pwaManifestFile: 'src-pwa/manifest.json',
 | 
				
			||||||
 | 
					    //   electronMain: 'src-electron/electron-main',
 | 
				
			||||||
 | 
					    //   electronPreload: 'src-electron/electron-preload'
 | 
				
			||||||
 | 
					    // },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/developing-ssr/configuring-ssr
 | 
				
			||||||
 | 
					    ssr: {
 | 
				
			||||||
 | 
					      // ssrPwaHtmlFilename: 'offline.html', // do NOT use index.html as name!
 | 
				
			||||||
 | 
					      // will mess up SSR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // extendSSRWebserverConf (esbuildConf) {},
 | 
				
			||||||
 | 
					      // extendPackageJson (json) {},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      pwa: false,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // manualStoreHydration: true,
 | 
				
			||||||
 | 
					      // manualPostHydrationTrigger: true,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      prodPort: 3000, // The default port that the production server should use
 | 
				
			||||||
 | 
					      // (gets superseded if process.env.PORT is specified at runtime)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      middlewares: [
 | 
				
			||||||
 | 
					        "render", // keep this as last one
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // https://v2.quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa
 | 
				
			||||||
 | 
					    pwa: {
 | 
				
			||||||
 | 
					      workboxMode: "generateSW", // or 'injectManifest'
 | 
				
			||||||
 | 
					      injectPwaMetaTags: true,
 | 
				
			||||||
 | 
					      swFilename: "sw.js",
 | 
				
			||||||
 | 
					      manifestFilename: "manifest.json",
 | 
				
			||||||
 | 
					      useCredentialsForManifestTag: false,
 | 
				
			||||||
 | 
					      // extendGenerateSWOptions (cfg) {}
 | 
				
			||||||
 | 
					      // extendInjectManifestOptions (cfg) {},
 | 
				
			||||||
 | 
					      // extendManifestJson (json) {}
 | 
				
			||||||
 | 
					      // extendPWACustomSWConf (esbuildConf) {}
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-cordova-apps/configuring-cordova
 | 
				
			||||||
 | 
					    cordova: {
 | 
				
			||||||
 | 
					      // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-capacitor-apps/configuring-capacitor
 | 
				
			||||||
 | 
					    capacitor: {
 | 
				
			||||||
 | 
					      hideSplashscreen: true,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/configuring-electron
 | 
				
			||||||
 | 
					    electron: {
 | 
				
			||||||
 | 
					      // extendElectronMainConf (esbuildConf)
 | 
				
			||||||
 | 
					      // extendElectronPreloadConf (esbuildConf)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      inspectPort: 5858,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      bundler: "packager", // 'packager' or 'builder'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      packager: {
 | 
				
			||||||
 | 
					        // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
 | 
				
			||||||
 | 
					        // OS X / Mac App Store
 | 
				
			||||||
 | 
					        // appBundleId: '',
 | 
				
			||||||
 | 
					        // appCategoryType: '',
 | 
				
			||||||
 | 
					        // osxSign: '',
 | 
				
			||||||
 | 
					        // protocol: 'myapp://path',
 | 
				
			||||||
 | 
					        // Windows only
 | 
				
			||||||
 | 
					        // win32metadata: { ... }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      builder: {
 | 
				
			||||||
 | 
					        // https://www.electron.build/configuration/configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        appId: "quasar-project",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex
 | 
				
			||||||
 | 
					    bex: {
 | 
				
			||||||
 | 
					      contentScripts: ["my-content-script"],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      // extendBexScriptsConf (esbuildConf) {}
 | 
				
			||||||
 | 
					      // extendBexManifestJson (json) {}
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
@@ -150,8 +150,8 @@
 | 
				
			|||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import { computed } from "vue";
 | 
					import { computed } from "vue";
 | 
				
			||||||
import { mapState, useStore } from "vuex";
 | 
					import { mapState, useStore } from "vuex";
 | 
				
			||||||
import UserForm from "@/components/modals/admin/UserForm";
 | 
					import UserForm from "@/components/modals/admin/UserForm.vue";
 | 
				
			||||||
import UserResetPasswordForm from "@/components/modals/admin/UserResetPasswordForm";
 | 
					import UserResetPasswordForm from "@/components/modals/admin/UserResetPasswordForm.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AdminManager",
 | 
					  name: "AdminManager",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -327,9 +327,9 @@
 | 
				
			|||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import { mapState } from "vuex";
 | 
					import { mapState } from "vuex";
 | 
				
			||||||
import { date } from "quasar";
 | 
					import { date } from "quasar";
 | 
				
			||||||
import EditAgent from "@/components/modals/agents/EditAgent";
 | 
					import EditAgent from "@/components/modals/agents/EditAgent.vue";
 | 
				
			||||||
import PendingActions from "@/components/logs/PendingActions";
 | 
					import PendingActions from "@/components/logs/PendingActions.vue";
 | 
				
			||||||
import AgentActionMenu from "@/components/agents/AgentActionMenu";
 | 
					import AgentActionMenu from "@/components/agents/AgentActionMenu.vue";
 | 
				
			||||||
import { runURLAction } from "@/api/core";
 | 
					import { runURLAction } from "@/api/core";
 | 
				
			||||||
import { runTakeControl, runRemoteBackground } from "@/api/agents";
 | 
					import { runTakeControl, runRemoteBackground } from "@/api/agents";
 | 
				
			||||||
import { capitalize } from "@vue/shared";
 | 
					import { capitalize } from "@vue/shared";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,7 +60,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import AlertsOverview from "@/components/modals/alerts/AlertsOverview";
 | 
					import AlertsOverview from "@/components/modals/alerts/AlertsOverview.vue";
 | 
				
			||||||
import { getTimeLapse } from "@/utils/format";
 | 
					import { getTimeLapse } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -223,9 +223,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import AlertTemplateForm from "@/components/modals/alerts/AlertTemplateForm";
 | 
					import AlertTemplateForm from "@/components/modals/alerts/AlertTemplateForm.vue";
 | 
				
			||||||
import AlertExclusions from "@/components/modals/alerts/AlertExclusions";
 | 
					import AlertExclusions from "@/components/modals/alerts/AlertExclusions.vue";
 | 
				
			||||||
import AlertTemplateRelated from "@/components/modals/alerts/AlertTemplateRelated";
 | 
					import AlertTemplateRelated from "@/components/modals/alerts/AlertTemplateRelated.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AlertsManager",
 | 
					  name: "AlertsManager",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -210,25 +210,25 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import DialogWrapper from "@/components/ui/DialogWrapper";
 | 
					import DialogWrapper from "@/components/ui/DialogWrapper.vue";
 | 
				
			||||||
import DebugLog from "@/components/logs/DebugLog";
 | 
					import DebugLog from "@/components/logs/DebugLog.vue";
 | 
				
			||||||
import PendingActions from "@/components/logs/PendingActions";
 | 
					import PendingActions from "@/components/logs/PendingActions.vue";
 | 
				
			||||||
import ClientsManager from "@/components/clients/ClientsManager";
 | 
					import ClientsManager from "@/components/clients/ClientsManager.vue";
 | 
				
			||||||
import ClientsForm from "@/components/clients/ClientsForm";
 | 
					import ClientsForm from "@/components/clients/ClientsForm.vue";
 | 
				
			||||||
import SitesForm from "@/components/clients/SitesForm";
 | 
					import SitesForm from "@/components/clients/SitesForm.vue";
 | 
				
			||||||
import UpdateAgents from "@/components/modals/agents/UpdateAgents";
 | 
					import UpdateAgents from "@/components/modals/agents/UpdateAgents.vue";
 | 
				
			||||||
import ScriptManager from "@/components/scripts/ScriptManager";
 | 
					import ScriptManager from "@/components/scripts/ScriptManager.vue";
 | 
				
			||||||
import EditCoreSettings from "@/components/modals/coresettings/EditCoreSettings";
 | 
					import EditCoreSettings from "@/components/modals/coresettings/EditCoreSettings.vue";
 | 
				
			||||||
import AlertsManager from "@/components/AlertsManager";
 | 
					import AlertsManager from "@/components/AlertsManager.vue";
 | 
				
			||||||
import AutomationManager from "@/components/automation/AutomationManager";
 | 
					import AutomationManager from "@/components/automation/AutomationManager.vue";
 | 
				
			||||||
import AdminManager from "@/components/AdminManager";
 | 
					import AdminManager from "@/components/AdminManager.vue";
 | 
				
			||||||
import InstallAgent from "@/components/modals/agents/InstallAgent";
 | 
					import InstallAgent from "@/components/modals/agents/InstallAgent.vue";
 | 
				
			||||||
import AuditManager from "@/components/logs/AuditManager";
 | 
					import AuditManager from "@/components/logs/AuditManager.vue";
 | 
				
			||||||
import BulkAction from "@/components/modals/agents/BulkAction";
 | 
					import BulkAction from "@/components/modals/agents/BulkAction.vue";
 | 
				
			||||||
import DeploymentTable from "@/components/clients/DeploymentTable";
 | 
					import DeploymentTable from "@/components/clients/DeploymentTable.vue";
 | 
				
			||||||
import ServerMaintenance from "@/components/modals/core/ServerMaintenance";
 | 
					import ServerMaintenance from "@/components/modals/core/ServerMaintenance.vue";
 | 
				
			||||||
import CodeSign from "@/components/modals/coresettings/CodeSign";
 | 
					import CodeSign from "@/components/modals/coresettings/CodeSign.vue";
 | 
				
			||||||
import PermissionsManager from "@/components/accounts/PermissionsManager";
 | 
					import PermissionsManager from "@/components/accounts/PermissionsManager.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "FileBar",
 | 
					  name: "FileBar",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -170,16 +170,16 @@
 | 
				
			|||||||
import { ref } from "vue";
 | 
					import { ref } from "vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import SummaryTab from "@/components/agents/SummaryTab";
 | 
					import SummaryTab from "@/components/agents/SummaryTab.vue";
 | 
				
			||||||
import ChecksTab from "@/components/agents/ChecksTab";
 | 
					import ChecksTab from "@/components/agents/ChecksTab.vue";
 | 
				
			||||||
import AutomatedTasksTab from "@/components/agents/AutomatedTasksTab";
 | 
					import AutomatedTasksTab from "@/components/agents/AutomatedTasksTab.vue";
 | 
				
			||||||
import WinUpdateTab from "@/components/agents/WinUpdateTab";
 | 
					import WinUpdateTab from "@/components/agents/WinUpdateTab.vue";
 | 
				
			||||||
import SoftwareTab from "@/components/agents/SoftwareTab";
 | 
					import SoftwareTab from "@/components/agents/SoftwareTab.vue";
 | 
				
			||||||
import HistoryTab from "@/components/agents/HistoryTab";
 | 
					import HistoryTab from "@/components/agents/HistoryTab.vue";
 | 
				
			||||||
import AuditTab from "@/components/agents/AuditTab";
 | 
					import AuditTab from "@/components/agents/AuditTab.vue";
 | 
				
			||||||
import DebugTab from "@/components/agents/DebugTab";
 | 
					import DebugTab from "@/components/agents/DebugTab.vue";
 | 
				
			||||||
import AssetsTab from "@/components/agents/AssetsTab";
 | 
					import AssetsTab from "@/components/agents/AssetsTab.vue";
 | 
				
			||||||
import NotesTab from "@/components/agents/NotesTab";
 | 
					import NotesTab from "@/components/agents/NotesTab.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "SubTableTabs",
 | 
					  name: "SubTableTabs",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -92,7 +92,7 @@ import { fetchRoles, removeRole } from "@/api/accounts";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import RolesForm from "@/components/accounts/RolesForm";
 | 
					import RolesForm from "@/components/accounts/RolesForm.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -217,13 +217,13 @@ import { fetchScripts } from "@/api/scripts";
 | 
				
			|||||||
import { notifySuccess, notifyWarning, notifyError } from "@/utils/notify";
 | 
					import { notifySuccess, notifyWarning, notifyError } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import PendingActions from "@/components/logs/PendingActions";
 | 
					import PendingActions from "@/components/logs/PendingActions.vue";
 | 
				
			||||||
import AgentRecovery from "@/components/modals/agents/AgentRecovery";
 | 
					import AgentRecovery from "@/components/modals/agents/AgentRecovery.vue";
 | 
				
			||||||
import PolicyAdd from "@/components/automation/modals/PolicyAdd";
 | 
					import PolicyAdd from "@/components/automation/modals/PolicyAdd.vue";
 | 
				
			||||||
import RebootLater from "@/components/modals/agents/RebootLater";
 | 
					import RebootLater from "@/components/modals/agents/RebootLater.vue";
 | 
				
			||||||
import EditAgent from "@/components/modals/agents/EditAgent";
 | 
					import EditAgent from "@/components/modals/agents/EditAgent.vue";
 | 
				
			||||||
import SendCommand from "@/components/modals/agents/SendCommand";
 | 
					import SendCommand from "@/components/modals/agents/SendCommand.vue";
 | 
				
			||||||
import RunScript from "@/components/modals/agents/RunScript";
 | 
					import RunScript from "@/components/modals/agents/RunScript.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AgentActionMenu",
 | 
					  name: "AgentActionMenu",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -82,7 +82,7 @@ import { useStore } from "vuex";
 | 
				
			|||||||
import { fetchAgent } from "@/api/agents";
 | 
					import { fetchAgent } from "@/api/agents";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import WmiDetail from "@/components/agents/WmiDetail";
 | 
					import WmiDetail from "@/components/agents/WmiDetail.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AssetsTab",
 | 
					  name: "AssetsTab",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ import { computed } from "vue";
 | 
				
			|||||||
import { useStore } from "vuex";
 | 
					import { useStore } from "vuex";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import AuditManager from "@/components/logs/AuditManager";
 | 
					import AuditManager from "@/components/logs/AuditManager.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AuditTab",
 | 
					  name: "AuditTab",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -353,8 +353,8 @@ import { notifySuccess, notifyError } from "@/utils/notify";
 | 
				
			|||||||
import { truncateText } from "@/utils/format";
 | 
					import { truncateText } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import AutomatedTaskForm from "@/components/tasks/AutomatedTaskForm";
 | 
					import AutomatedTaskForm from "@/components/tasks/AutomatedTaskForm.vue";
 | 
				
			||||||
import ScriptOutput from "@/components/checks/ScriptOutput";
 | 
					import ScriptOutput from "@/components/checks/ScriptOutput.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -422,16 +422,16 @@ import { truncateText } from "@/utils/format";
 | 
				
			|||||||
import { notifySuccess, notifyWarning } from "@/utils/notify";
 | 
					import { notifySuccess, notifyWarning } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import DiskSpaceCheck from "@/components/checks/DiskSpaceCheck";
 | 
					import DiskSpaceCheck from "@/components/checks/DiskSpaceCheck.vue";
 | 
				
			||||||
import MemCheck from "@/components/checks/MemCheck";
 | 
					import MemCheck from "@/components/checks/MemCheck.vue";
 | 
				
			||||||
import CpuLoadCheck from "@/components/checks/CpuLoadCheck";
 | 
					import CpuLoadCheck from "@/components/checks/CpuLoadCheck.vue";
 | 
				
			||||||
import PingCheck from "@/components/checks/PingCheck";
 | 
					import PingCheck from "@/components/checks/PingCheck.vue";
 | 
				
			||||||
import WinSvcCheck from "@/components/checks/WinSvcCheck";
 | 
					import WinSvcCheck from "@/components/checks/WinSvcCheck.vue";
 | 
				
			||||||
import EventLogCheck from "@/components/checks/EventLogCheck";
 | 
					import EventLogCheck from "@/components/checks/EventLogCheck.vue";
 | 
				
			||||||
import ScriptCheck from "@/components/checks/ScriptCheck";
 | 
					import ScriptCheck from "@/components/checks/ScriptCheck.vue";
 | 
				
			||||||
import ScriptOutput from "@/components/checks/ScriptOutput";
 | 
					import ScriptOutput from "@/components/checks/ScriptOutput.vue";
 | 
				
			||||||
import EventLogCheckOutput from "@/components/checks/EventLogCheckOutput";
 | 
					import EventLogCheckOutput from "@/components/checks/EventLogCheckOutput.vue";
 | 
				
			||||||
import CheckGraph from "@/components/graphs/CheckGraph";
 | 
					import CheckGraph from "@/components/graphs/CheckGraph.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ import { computed } from "vue";
 | 
				
			|||||||
import { useStore } from "vuex";
 | 
					import { useStore } from "vuex";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import DebugLog from "@/components/logs/DebugLog";
 | 
					import DebugLog from "@/components/logs/DebugLog.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "DebugTab",
 | 
					  name: "DebugTab",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,8 +72,8 @@ import { formatTableColumnText, truncateText } from "@/utils/format";
 | 
				
			|||||||
import { fetchAgentHistory } from "@/api/agents";
 | 
					import { fetchAgentHistory } from "@/api/agents";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ScriptOutput from "@/components/checks/ScriptOutput";
 | 
					import ScriptOutput from "@/components/checks/ScriptOutput.vue";
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -105,7 +105,7 @@ import {
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,8 +73,8 @@ import { useStore } from "vuex";
 | 
				
			|||||||
import { fetchAgentSoftware, refreshAgentSoftware } from "@/api/software";
 | 
					import { fetchAgentSoftware, refreshAgentSoftware } from "@/api/software";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import InstallSoftware from "@/components/software/InstallSoftware";
 | 
					import InstallSoftware from "@/components/software/InstallSoftware.vue";
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -195,7 +195,7 @@ import {
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import AgentActionMenu from "@/components/agents/AgentActionMenu";
 | 
					import AgentActionMenu from "@/components/agents/AgentActionMenu.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "SummaryTab",
 | 
					  name: "SummaryTab",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -197,7 +197,7 @@ import { notifySuccess } from "@/utils/notify";
 | 
				
			|||||||
import { truncateText } from "@/utils/format";
 | 
					import { truncateText } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -104,7 +104,7 @@ import { fetchAgentEventLog } from "@/api/agents";
 | 
				
			|||||||
import { truncateText } from "@/utils/format";
 | 
					import { truncateText } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -95,8 +95,8 @@ import { notifySuccess } from "@/utils/notify";
 | 
				
			|||||||
import { truncateText } from "@/utils/format";
 | 
					import { truncateText } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ServiceDetail from "@/components/agents/remotebg/ServiceDetail";
 | 
					import ServiceDetail from "@/components/agents/remotebg/ServiceDetail.vue";
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -312,15 +312,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import DialogWrapper from "@/components/ui/DialogWrapper";
 | 
					import DialogWrapper from "@/components/ui/DialogWrapper.vue";
 | 
				
			||||||
import PolicyForm from "@/components/automation/modals/PolicyForm";
 | 
					import PolicyForm from "@/components/automation/modals/PolicyForm.vue";
 | 
				
			||||||
import PolicyOverview from "@/components/automation/PolicyOverview";
 | 
					import PolicyOverview from "@/components/automation/PolicyOverview.vue";
 | 
				
			||||||
import RelationsView from "@/components/automation/modals/RelationsView";
 | 
					import RelationsView from "@/components/automation/modals/RelationsView.vue";
 | 
				
			||||||
import PatchPolicyForm from "@/components/modals/agents/PatchPolicyForm";
 | 
					import PatchPolicyForm from "@/components/modals/agents/PatchPolicyForm.vue";
 | 
				
			||||||
import AlertTemplateAdd from "@/components/modals/alerts/AlertTemplateAdd";
 | 
					import AlertTemplateAdd from "@/components/modals/alerts/AlertTemplateAdd.vue";
 | 
				
			||||||
import PolicyExclusions from "@/components/automation/modals/PolicyExclusions";
 | 
					import PolicyExclusions from "@/components/automation/modals/PolicyExclusions.vue";
 | 
				
			||||||
import PolicyChecksTab from "@/components/automation/PolicyChecksTab";
 | 
					import PolicyChecksTab from "@/components/automation/PolicyChecksTab.vue";
 | 
				
			||||||
import PolicyAutomatedTasksTab from "@/components/automation/PolicyAutomatedTasksTab";
 | 
					import PolicyAutomatedTasksTab from "@/components/automation/PolicyAutomatedTasksTab.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AutomationManager",
 | 
					  name: "AutomationManager",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -198,8 +198,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import AutomatedTaskForm from "@/components/tasks/AutomatedTaskForm";
 | 
					import AutomatedTaskForm from "@/components/tasks/AutomatedTaskForm.vue";
 | 
				
			||||||
import PolicyStatus from "@/components/automation/modals/PolicyStatus";
 | 
					import PolicyStatus from "@/components/automation/modals/PolicyStatus.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "PolicyAutomatedTasksTab",
 | 
					  name: "PolicyAutomatedTasksTab",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -218,14 +218,14 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import PolicyStatus from "@/components/automation/modals/PolicyStatus";
 | 
					import PolicyStatus from "@/components/automation/modals/PolicyStatus.vue";
 | 
				
			||||||
import DiskSpaceCheck from "@/components/checks/DiskSpaceCheck";
 | 
					import DiskSpaceCheck from "@/components/checks/DiskSpaceCheck.vue";
 | 
				
			||||||
import PingCheck from "@/components/checks/PingCheck";
 | 
					import PingCheck from "@/components/checks/PingCheck.vue";
 | 
				
			||||||
import CpuLoadCheck from "@/components/checks/CpuLoadCheck";
 | 
					import CpuLoadCheck from "@/components/checks/CpuLoadCheck.vue";
 | 
				
			||||||
import MemCheck from "@/components/checks/MemCheck";
 | 
					import MemCheck from "@/components/checks/MemCheck.vue";
 | 
				
			||||||
import WinSvcCheck from "@/components/checks/WinSvcCheck";
 | 
					import WinSvcCheck from "@/components/checks/WinSvcCheck.vue";
 | 
				
			||||||
import ScriptCheck from "@/components/checks/ScriptCheck";
 | 
					import ScriptCheck from "@/components/checks/ScriptCheck.vue";
 | 
				
			||||||
import EventLogCheck from "@/components/checks/EventLogCheck";
 | 
					import EventLogCheck from "@/components/checks/EventLogCheck.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "PolicyChecksTab",
 | 
					  name: "PolicyChecksTab",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -70,8 +70,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import PolicyChecksTab from "@/components/automation/PolicyChecksTab";
 | 
					import PolicyChecksTab from "@/components/automation/PolicyChecksTab.vue";
 | 
				
			||||||
import PolicyAutomatedTasksTab from "@/components/automation/PolicyAutomatedTasksTab";
 | 
					import PolicyAutomatedTasksTab from "@/components/automation/PolicyAutomatedTasksTab.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "PolicyOverview",
 | 
					  name: "PolicyOverview",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,7 +73,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "PolicyAdd",
 | 
					  name: "PolicyAdd",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,7 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "PolicyExclusions",
 | 
					  name: "PolicyExclusions",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -149,8 +149,8 @@
 | 
				
			|||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { computed } from "vue";
 | 
					import { computed } from "vue";
 | 
				
			||||||
import { useStore } from "vuex";
 | 
					import { useStore } from "vuex";
 | 
				
			||||||
import ScriptOutput from "@/components/checks/ScriptOutput";
 | 
					import ScriptOutput from "@/components/checks/ScriptOutput.vue";
 | 
				
			||||||
import EventLogCheckOutput from "@/components/checks/EventLogCheckOutput";
 | 
					import EventLogCheckOutput from "@/components/checks/EventLogCheckOutput.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "PolicyStatus",
 | 
					  name: "PolicyStatus",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,7 +59,7 @@ import { ref } from "vue";
 | 
				
			|||||||
import { useDialogPluginComponent } from "quasar";
 | 
					import { useDialogPluginComponent } from "quasar";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//ui imports
 | 
					//ui imports
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,7 @@ import { formatCustomFields } from "@/utils/format";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import CustomField from "@/components/ui/CustomField";
 | 
					import CustomField from "@/components/ui/CustomField.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "ClientsForm",
 | 
					  name: "ClientsForm",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -126,10 +126,10 @@ import { fetchClients, removeClient } from "@/api/clients";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ClientsForm from "@/components/clients/ClientsForm";
 | 
					import ClientsForm from "@/components/clients/ClientsForm.vue";
 | 
				
			||||||
import SitesForm from "@/components/clients/SitesForm";
 | 
					import SitesForm from "@/components/clients/SitesForm.vue";
 | 
				
			||||||
import DeleteClient from "@/components/clients/DeleteClient";
 | 
					import DeleteClient from "@/components/clients/DeleteClient.vue";
 | 
				
			||||||
import SitesTable from "@/components/clients/SitesTable";
 | 
					import SitesTable from "@/components/clients/SitesTable.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,7 +55,7 @@ import { fetchClients, removeClient, removeSite } from "@/api/clients";
 | 
				
			|||||||
import { formatSiteOptions } from "@/utils/format";
 | 
					import { formatSiteOptions } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "DeleteClient",
 | 
					  name: "DeleteClient",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -105,7 +105,7 @@ import { notifySuccess } from "@/utils/notify";
 | 
				
			|||||||
import { getBaseUrl } from "@/boot/axios";
 | 
					import { getBaseUrl } from "@/boot/axios";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import NewDeployment from "@/components/clients/NewDeployment";
 | 
					import NewDeployment from "@/components/clients/NewDeployment.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,7 +86,7 @@ import {
 | 
				
			|||||||
} from "@/utils/format";
 | 
					} from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "NewDeployment",
 | 
					  name: "NewDeployment",
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -65,8 +65,8 @@ import { formatCustomFields } from "@/utils/format";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import CustomField from "@/components/ui/CustomField";
 | 
					import CustomField from "@/components/ui/CustomField.vue";
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "SitesForm",
 | 
					  name: "SitesForm",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -110,8 +110,8 @@ import { fetchClient, removeSite } from "@/api/clients";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import SitesForm from "@/components/clients/SitesForm";
 | 
					import SitesForm from "@/components/clients/SitesForm.vue";
 | 
				
			||||||
import DeleteClient from "@/components/clients/DeleteClient";
 | 
					import DeleteClient from "@/components/clients/DeleteClient.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -97,7 +97,7 @@ import { useStore } from "vuex";
 | 
				
			|||||||
import { fetchAPIKeys, removeAPIKey } from "@/api/accounts";
 | 
					import { fetchAPIKeys, removeAPIKey } from "@/api/accounts";
 | 
				
			||||||
import { useQuasar, copyToClipboard } from "quasar";
 | 
					import { useQuasar, copyToClipboard } from "quasar";
 | 
				
			||||||
import { notifySuccess, notifyError } from "@/utils/notify";
 | 
					import { notifySuccess, notifyError } from "@/utils/notify";
 | 
				
			||||||
import APIKeysForm from "@/components/core/APIKeysForm";
 | 
					import APIKeysForm from "@/components/core/APIKeysForm.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -163,9 +163,9 @@ import { fetchAuditLog } from "@/api/logs";
 | 
				
			|||||||
import { formatTableColumnText } from "@/utils/format";
 | 
					import { formatTableColumnText } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imported
 | 
					// ui imported
 | 
				
			||||||
import AuditLogDetailModal from "@/components/logs/AuditLogDetailModal";
 | 
					import AuditLogDetailModal from "@/components/logs/AuditLogDetailModal.vue";
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -133,7 +133,7 @@ import { fetchDebugLog } from "@/api/logs";
 | 
				
			|||||||
import { formatTableColumnText } from "@/utils/format";
 | 
					import { formatTableColumnText } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui components
 | 
					// ui components
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
					import ExportTableBtn from "@/components/ui/ExportTableBtn.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -205,7 +205,7 @@ import { cmdPlaceholder } from "@/composables/agents";
 | 
				
			|||||||
import { removeExtraOptionCategories } from "@/utils/format";
 | 
					import { removeExtraOptionCategories } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const monTypeOptions = [
 | 
					const monTypeOptions = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -375,9 +375,9 @@
 | 
				
			|||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { useDialogPluginComponent } from "quasar";
 | 
					import { useDialogPluginComponent } from "quasar";
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import PatchPolicyForm from "@/components/modals/agents/PatchPolicyForm";
 | 
					import PatchPolicyForm from "@/components/modals/agents/PatchPolicyForm.vue";
 | 
				
			||||||
import CustomField from "@/components/ui/CustomField";
 | 
					import CustomField from "@/components/ui/CustomField.vue";
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
import { capitalize } from "@/utils/format";
 | 
					import { capitalize } from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -175,7 +175,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import AgentDownload from "@/components/modals/agents/AgentDownload";
 | 
					import AgentDownload from "@/components/modals/agents/AgentDownload.vue";
 | 
				
			||||||
import { getBaseUrl } from "@/boot/axios";
 | 
					import { getBaseUrl } from "@/boot/axios";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -179,7 +179,7 @@ import {
 | 
				
			|||||||
} from "@/utils/format";
 | 
					} from "@/utils/format";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//ui imports
 | 
					//ui imports
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const outputOptions = [
 | 
					const outputOptions = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,7 +68,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "AlertExclusions",
 | 
					  name: "AlertExclusions",
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -217,7 +217,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import ScriptOutput from "@/components/checks/ScriptOutput";
 | 
					import ScriptOutput from "@/components/checks/ScriptOutput.vue";
 | 
				
			||||||
import { computed } from "vue";
 | 
					import { computed } from "vue";
 | 
				
			||||||
import { useStore } from "vuex";
 | 
					import { useStore } from "vuex";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,8 +54,8 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import CustomFieldsTable from "@/components/modals/coresettings/CustomFieldsTable";
 | 
					import CustomFieldsTable from "@/components/modals/coresettings/CustomFieldsTable.vue";
 | 
				
			||||||
import CustomFieldsForm from "@/components/modals/coresettings/CustomFieldsForm";
 | 
					import CustomFieldsForm from "@/components/modals/coresettings/CustomFieldsForm.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "CustomFields",
 | 
					  name: "CustomFields",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -84,7 +84,7 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import CustomFieldsForm from "@/components/modals/coresettings/CustomFieldsForm";
 | 
					import CustomFieldsForm from "@/components/modals/coresettings/CustomFieldsForm.vue";
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -547,11 +547,11 @@
 | 
				
			|||||||
<script>
 | 
					<script>
 | 
				
			||||||
import { openURL } from "quasar";
 | 
					import { openURL } from "quasar";
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import ResetPatchPolicy from "@/components/modals/coresettings/ResetPatchPolicy";
 | 
					import ResetPatchPolicy from "@/components/modals/coresettings/ResetPatchPolicy.vue";
 | 
				
			||||||
import CustomFields from "@/components/modals/coresettings/CustomFields";
 | 
					import CustomFields from "@/components/modals/coresettings/CustomFields.vue";
 | 
				
			||||||
import KeyStoreTable from "@/components/modals/coresettings/KeyStoreTable";
 | 
					import KeyStoreTable from "@/components/modals/coresettings/KeyStoreTable.vue";
 | 
				
			||||||
import URLActionsTable from "@/components/modals/coresettings/URLActionsTable";
 | 
					import URLActionsTable from "@/components/modals/coresettings/URLActionsTable.vue";
 | 
				
			||||||
import APIKeysTable from "@/components/core/APIKeysTable";
 | 
					import APIKeysTable from "@/components/core/APIKeysTable.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "EditCoreSettings",
 | 
					  name: "EditCoreSettings",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -70,7 +70,7 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import KeyStoreForm from "@/components/modals/coresettings/KeyStoreForm";
 | 
					import KeyStoreForm from "@/components/modals/coresettings/KeyStoreForm.vue";
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -79,7 +79,7 @@ import { sendPatchPolicyReset } from "@/api/automation";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//ui imports
 | 
					//ui imports
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const targetOptions = [
 | 
					const targetOptions = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,7 +74,7 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import URLActionsForm from "@/components/modals/coresettings/URLActionsForm";
 | 
					import URLActionsForm from "@/components/modals/coresettings/URLActionsForm.vue";
 | 
				
			||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -203,8 +203,8 @@ import { useAgentDropdown, agentPlatformOptions } from "@/composables/agents";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import TestScriptModal from "@/components/scripts/TestScriptModal";
 | 
					import TestScriptModal from "@/components/scripts/TestScriptModal.vue";
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
import { VAceEditor } from "vue3-ace-editor";
 | 
					import { VAceEditor } from "vue3-ace-editor";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// imports for ace editor
 | 
					// imports for ace editor
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -542,9 +542,9 @@ import { truncateText } from "@/utils/format";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ScriptUploadModal from "@/components/scripts/ScriptUploadModal";
 | 
					import ScriptUploadModal from "@/components/scripts/ScriptUploadModal.vue";
 | 
				
			||||||
import ScriptFormModal from "@/components/scripts/ScriptFormModal";
 | 
					import ScriptFormModal from "@/components/scripts/ScriptFormModal.vue";
 | 
				
			||||||
import ScriptSnippets from "@/components/scripts/ScriptSnippets";
 | 
					import ScriptSnippets from "@/components/scripts/ScriptSnippets.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -143,7 +143,7 @@ import { fetchScriptSnippets, removeScriptSnippet } from "@/api/scripts";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ScriptSnippetFormModal from "@/components/scripts/ScriptSnippetFormModal";
 | 
					import ScriptSnippetFormModal from "@/components/scripts/ScriptSnippetFormModal.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
const columns = [
 | 
					const columns = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -130,7 +130,7 @@ import { agentPlatformOptions } from "@/composables/agents";
 | 
				
			|||||||
import { notifySuccess } from "@/utils/notify";
 | 
					import { notifySuccess } from "@/utils/notify";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import TacticalDropdown from "@/components/ui/TacticalDropdown";
 | 
					import TacticalDropdown from "@/components/ui/TacticalDropdown.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// static data
 | 
					// static data
 | 
				
			||||||
import { shellOptions } from "@/composables/scripts";
 | 
					import { shellOptions } from "@/composables/scripts";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -147,8 +147,8 @@ import axios from "axios";
 | 
				
			|||||||
import { getBaseUrl } from "@/boot/axios";
 | 
					import { getBaseUrl } from "@/boot/axios";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import AlertsIcon from "@/components/AlertsIcon";
 | 
					import AlertsIcon from "@/components/AlertsIcon.vue";
 | 
				
			||||||
import UserPreferences from "@/components/modals/coresettings/UserPreferences";
 | 
					import UserPreferences from "@/components/modals/coresettings/UserPreferences.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "MainLayout",
 | 
					  name: "MainLayout",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,12 +2,12 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/",
 | 
					    path: "/",
 | 
				
			||||||
    name: "MainLayout",
 | 
					    name: "MainLayout",
 | 
				
			||||||
    component: () => import("@/layouts/MainLayout"),
 | 
					    component: () => import("@/layouts/MainLayout.vue"),
 | 
				
			||||||
    children: [
 | 
					    children: [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        path: "agents/:agent_id",
 | 
					        path: "agents/:agent_id",
 | 
				
			||||||
        name: "Agent",
 | 
					        name: "Agent",
 | 
				
			||||||
        component: () => import("@/views/AgentView"),
 | 
					        component: () => import("@/views/AgentView.vue"),
 | 
				
			||||||
        meta: {
 | 
					        meta: {
 | 
				
			||||||
          requireAuth: true,
 | 
					          requireAuth: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -15,7 +15,7 @@ const routes = [
 | 
				
			|||||||
      {
 | 
					      {
 | 
				
			||||||
        path: "",
 | 
					        path: "",
 | 
				
			||||||
        name: "Dashboard",
 | 
					        name: "Dashboard",
 | 
				
			||||||
        component: () => import("@/views/DashboardView"),
 | 
					        component: () => import("@/views/DashboardView.vue"),
 | 
				
			||||||
        meta: {
 | 
					        meta: {
 | 
				
			||||||
          requireAuth: true,
 | 
					          requireAuth: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -25,7 +25,7 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/setup",
 | 
					    path: "/setup",
 | 
				
			||||||
    name: "InitialSetup",
 | 
					    name: "InitialSetup",
 | 
				
			||||||
    component: () => import("@/views/InitialSetup"),
 | 
					    component: () => import("@/views/InitialSetup.vue"),
 | 
				
			||||||
    meta: {
 | 
					    meta: {
 | 
				
			||||||
      requireAuth: true,
 | 
					      requireAuth: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -33,7 +33,7 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/totp_setup",
 | 
					    path: "/totp_setup",
 | 
				
			||||||
    name: "TOTPSetup",
 | 
					    name: "TOTPSetup",
 | 
				
			||||||
    component: () => import("@/views/TOTPSetup"),
 | 
					    component: () => import("@/views/TOTPSetup.vue"),
 | 
				
			||||||
    meta: {
 | 
					    meta: {
 | 
				
			||||||
      requireAuth: true,
 | 
					      requireAuth: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -41,7 +41,7 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/takecontrol/:agent_id",
 | 
					    path: "/takecontrol/:agent_id",
 | 
				
			||||||
    name: "TakeControl",
 | 
					    name: "TakeControl",
 | 
				
			||||||
    component: () => import("@/views/TakeControl"),
 | 
					    component: () => import("@/views/TakeControl.vue"),
 | 
				
			||||||
    meta: {
 | 
					    meta: {
 | 
				
			||||||
      requireAuth: true,
 | 
					      requireAuth: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -49,7 +49,7 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/remotebackground/:agent_id",
 | 
					    path: "/remotebackground/:agent_id",
 | 
				
			||||||
    name: "RemoteBackground",
 | 
					    name: "RemoteBackground",
 | 
				
			||||||
    component: () => import("@/views/RemoteBackground"),
 | 
					    component: () => import("@/views/RemoteBackground.vue"),
 | 
				
			||||||
    meta: {
 | 
					    meta: {
 | 
				
			||||||
      requireAuth: true,
 | 
					      requireAuth: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -57,7 +57,7 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/login",
 | 
					    path: "/login",
 | 
				
			||||||
    name: "Login",
 | 
					    name: "Login",
 | 
				
			||||||
    component: () => import("@/views/LoginView"),
 | 
					    component: () => import("@/views/LoginView.vue"),
 | 
				
			||||||
    meta: {
 | 
					    meta: {
 | 
				
			||||||
      requiresVisitor: true,
 | 
					      requiresVisitor: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -65,9 +65,9 @@ const routes = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    path: "/expired",
 | 
					    path: "/expired",
 | 
				
			||||||
    name: "SessionExpired",
 | 
					    name: "SessionExpired",
 | 
				
			||||||
    component: () => import("@/views/SessionExpired"),
 | 
					    component: () => import("@/views/SessionExpired.vue"),
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  { path: "/:catchAll(.*)*", component: () => import("@/views/NotFound") },
 | 
					  { path: "/:catchAll(.*)*", component: () => import("@/views/NotFound.vue") },
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default routes;
 | 
					export default routes;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,8 +26,8 @@ import { useRoute } from "vue-router";
 | 
				
			|||||||
import { useQuasar } from "quasar";
 | 
					import { useQuasar } from "quasar";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import SummaryTab from "@/components/agents/SummaryTab";
 | 
					import SummaryTab from "@/components/agents/SummaryTab.vue";
 | 
				
			||||||
import SubTableTabs from "@/components/SubTableTabs";
 | 
					import SubTableTabs from "@/components/SubTableTabs.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default defineComponent({
 | 
					export default defineComponent({
 | 
				
			||||||
  name: "AgentView",
 | 
					  name: "AgentView",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -404,15 +404,15 @@
 | 
				
			|||||||
import mixins from "@/mixins/mixins";
 | 
					import mixins from "@/mixins/mixins";
 | 
				
			||||||
import { openURL } from "quasar";
 | 
					import { openURL } from "quasar";
 | 
				
			||||||
import { mapState } from "vuex";
 | 
					import { mapState } from "vuex";
 | 
				
			||||||
import FileBar from "@/components/FileBar";
 | 
					import FileBar from "@/components/FileBar.vue";
 | 
				
			||||||
import AgentTable from "@/components/AgentTable";
 | 
					import AgentTable from "@/components/AgentTable.vue";
 | 
				
			||||||
import SubTableTabs from "@/components/SubTableTabs";
 | 
					import SubTableTabs from "@/components/SubTableTabs.vue";
 | 
				
			||||||
import PolicyAdd from "@/components/automation/modals/PolicyAdd";
 | 
					import PolicyAdd from "@/components/automation/modals/PolicyAdd.vue";
 | 
				
			||||||
import ClientsForm from "@/components/clients/ClientsForm";
 | 
					import ClientsForm from "@/components/clients/ClientsForm.vue";
 | 
				
			||||||
import SitesForm from "@/components/clients/SitesForm";
 | 
					import SitesForm from "@/components/clients/SitesForm.vue";
 | 
				
			||||||
import DeleteClient from "@/components/clients/DeleteClient";
 | 
					import DeleteClient from "@/components/clients/DeleteClient.vue";
 | 
				
			||||||
import InstallAgent from "@/components/modals/agents/InstallAgent";
 | 
					import InstallAgent from "@/components/modals/agents/InstallAgent.vue";
 | 
				
			||||||
import AlertTemplateAdd from "@/components/modals/alerts/AlertTemplateAdd";
 | 
					import AlertTemplateAdd from "@/components/modals/alerts/AlertTemplateAdd.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { removeClient, removeSite } from "@/api/clients";
 | 
					import { removeClient, removeSite } from "@/api/clients";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,9 +86,9 @@ import { fetchAgentMeshCentralURLs } from "@/api/agents";
 | 
				
			|||||||
import { fetchDashboardInfo } from "@/api/core";
 | 
					import { fetchDashboardInfo } from "@/api/core";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ui imports
 | 
					// ui imports
 | 
				
			||||||
import ProcessManager from "@/components/agents/remotebg/ProcessManager";
 | 
					import ProcessManager from "@/components/agents/remotebg/ProcessManager.vue";
 | 
				
			||||||
import ServicesManager from "@/components/agents/remotebg/ServicesManager";
 | 
					import ServicesManager from "@/components/agents/remotebg/ServicesManager.vue";
 | 
				
			||||||
import EventLogManager from "@/components/agents/remotebg/EventLogManager";
 | 
					import EventLogManager from "@/components/agents/remotebg/EventLogManager.vue";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  name: "RemoteBackground",
 | 
					  name: "RemoteBackground",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,18 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "extends": "@quasar/app-webpack/tsconfig-preset",
 | 
					  "extends": "@quasar/app-vite/tsconfig-preset",
 | 
				
			||||||
  "compilerOptions": {
 | 
					  "compilerOptions": {
 | 
				
			||||||
    "baseUrl": ".",
 | 
					    "baseUrl": ".",
 | 
				
			||||||
    "paths": {
 | 
					    "paths": {
 | 
				
			||||||
      "@/*": ["./src/*"]
 | 
					      "@/*": ["src/*"],
 | 
				
			||||||
    }
 | 
					      "src/*": ["src/*"],
 | 
				
			||||||
 | 
					      "app/*": ["*"],
 | 
				
			||||||
 | 
					      "components/*": ["src/components/*"],
 | 
				
			||||||
 | 
					      "layouts/*": ["src/layouts/*"],
 | 
				
			||||||
 | 
					      "pages/*": ["src/pages/*"],
 | 
				
			||||||
 | 
					      "assets/*": ["src/assets/*"],
 | 
				
			||||||
 | 
					      "boot/*": ["src/boot/*"],
 | 
				
			||||||
 | 
					      "store/*": ["src/store/*"]
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user