-
-
-
-
MalwareMultiScan UI
-
- A demo of a microservice
- to scan your files against multiple AV solutions
-
-
-
-
+
+
+
+
+ MalwareMultiScan
+
+
+
+
+
+
+
+
+ GitHub
+
+
+
+
+
+
+
+
+
diff --git a/MalwareMultiScan.Ui/models/scan-result-entry-flattened.ts b/MalwareMultiScan.Ui/models/scan-result-entry-flattened.ts
new file mode 100644
index 0000000..b4bf981
--- /dev/null
+++ b/MalwareMultiScan.Ui/models/scan-result-entry-flattened.ts
@@ -0,0 +1,15 @@
+import ScanResultEntry from '~/models/scan-result-entry';
+
+export default class ScanResultEntryFlattened implements ScanResultEntry {
+ readonly id: string;
+ readonly completed: boolean;
+ readonly succeeded: boolean | null;
+ readonly threats: string[];
+
+ constructor(id: string, completed: boolean, succeeded: boolean | null, threats: string[]) {
+ this.id = id;
+ this.completed = completed;
+ this.succeeded = succeeded;
+ this.threats = threats;
+ }
+}
diff --git a/MalwareMultiScan.Ui/nuxt.config.js b/MalwareMultiScan.Ui/nuxt.config.js
index 9b2679e..4531c08 100644
--- a/MalwareMultiScan.Ui/nuxt.config.js
+++ b/MalwareMultiScan.Ui/nuxt.config.js
@@ -1,40 +1,35 @@
export default {
- head: {
- title: 'MalwareMultiScan UI',
- meta: [
- { charset: 'utf-8' },
- { name: 'viewport', content: 'width=device-width, initial-scale=1, shrink-to-fit=no' },
+ head: {
+ title: 'MalwareMultiScan UI',
+ meta: [
+ {charset: 'utf-8'},
+ {name: 'viewport', content: 'width=device-width, initial-scale=1, shrink-to-fit=no'},
+ ]
+ },
+
+ buildModules: [
+ '@nuxt/typescript-build',
],
- bodyAttrs: {
- class: "bg-light"
+
+ modules: [
+ 'bootstrap-vue/nuxt',
+ '@nuxtjs/axios',
+ '@nuxtjs/proxy'
+ ],
+
+ axios: {
+ proxy: true,
+ prefix: '/api/'
+ },
+
+ proxy: {
+ '/api': {
+ target: process.env.API_URL || 'http://localhost:5000',
+ changeOrigin: true
+ }
+ },
+
+ bootstrapVue: {
+ icons: true
}
- },
-
- components: true,
-
- buildModules: [
- '@nuxt/typescript-build',
- ],
-
- modules: [
- 'bootstrap-vue/nuxt',
- '@nuxtjs/axios',
- '@nuxtjs/proxy'
- ],
-
- axios: {
- proxy: true,
- prefix: '/api/'
- },
-
- proxy: {
- '/api': {
- target: process.env.API_URL || 'http://localhost:5000',
- changeOrigin: true
- }
- },
-
- bootstrapVue: {
- icons: true
- }
}
diff --git a/MalwareMultiScan.Ui/pages/_id/index.vue b/MalwareMultiScan.Ui/pages/_id/index.vue
index 24d54c7..562c62d 100644
--- a/MalwareMultiScan.Ui/pages/_id/index.vue
+++ b/MalwareMultiScan.Ui/pages/_id/index.vue
@@ -1,24 +1,37 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ No threats have been detected
+ Scanning failed to complete due to the error or timeout
+ Scanning is in progress
+
+
+
+
-