diff --git a/src/views/TestView.vue b/src/views/TestView.vue index 74e71c5b..6c6ac1ba 100644 --- a/src/views/TestView.vue +++ b/src/views/TestView.vue @@ -38,28 +38,16 @@

SQL Operations

- - - -
@@ -71,10 +59,7 @@ >
-
@@ -114,10 +99,7 @@
Register Passkey -
@@ -130,40 +112,25 @@ > Simplewebauthn -
Verify New JWT - - -
Verify New JWT -- requires creation first
- @@ -202,10 +169,10 @@ import { Router } from "vue-router"; import QuickNav from "../components/QuickNav.vue"; import { AppString, NotificationIface } from "../constants/app"; -import { - NOTIFY_SQL_ERROR, - createSqlErrorMessage, - createPasskeyNameModal +import { + NOTIFY_SQL_ERROR, + createSqlErrorMessage, + createPasskeyNameModal, } from "../constants/notifications"; import * as vcLib from "../libs/crypto/vc"; import * as cryptoLib from "../libs/crypto"; @@ -240,30 +207,30 @@ const TEST_PAYLOAD = { /** * TestView Component - * + * * Development/testing interface providing comprehensive testing tools for: * - Notification system testing (8 different types) * - Interactive SQL operations and database queries - * - File upload and image sharing functionality + * - File upload and image sharing functionality * - Passkey registration and JWT verification * - Encryption/decryption testing * - Various crypto operations - * + * * Features: * - Raw SQL query execution interface for database testing * - Notification type demonstrations * - Passkey and JWT verification workflows * - File upload with temporary storage * - Crypto library testing utilities - * + * * Security Considerations: * - Test environment only - not for production use * - SQL operations are intentionally raw for testing purposes * - File uploads stored temporarily for testing workflows - * + * * @author Matthew Raymer */ -@Component({ +@Component({ components: { QuickNav }, mixins: [PlatformServiceMixin], }) @@ -295,7 +262,7 @@ export default class Help extends Vue { * Computed properties for template streamlining * Eliminates repeated classes and logic in template */ - + /** * Standard button class for primary actions */ @@ -311,7 +278,7 @@ export default class Help extends Vue { } /** - * Secondary button class for secondary test actions + * Secondary button class for secondary test actions */ get secondaryButtonClasses(): string { return "font-bold capitalize bg-slate-600 text-white px-3 py-2 rounded-md mr-2"; @@ -363,8 +330,8 @@ export default class Help extends Vue { * Formatted display of encryption test result */ get encryptionTestResultDisplay(): string { - return this.messageEncryptionTestResult !== undefined - ? `Result: ${this.messageEncryptionTestResult}` + return this.messageEncryptionTestResult !== undefined + ? `Result: ${this.messageEncryptionTestResult}` : "Result: Not tested"; } @@ -372,8 +339,8 @@ export default class Help extends Vue { * Formatted display of simple encryption test result */ get simpleEncryptionTestResultDisplay(): string { - return this.simpleEncryptionTestResult !== undefined - ? `Result: ${this.simpleEncryptionTestResult}` + return this.simpleEncryptionTestResult !== undefined + ? `Result: ${this.simpleEncryptionTestResult}` : "Result: Not tested"; } @@ -411,21 +378,21 @@ export default class Help extends Vue { label: "Toast", classes: this.darkButtonClasses, notification: { - group: 'alert', - type: 'toast', - title: 'Toast', + group: "alert", + type: "toast", + title: "Toast", text: "I'm a toast. Without a timeout, I'm stuck.", }, timeout: 5000, }, { - label: "Info", + label: "Info", classes: this.secondaryButtonClasses, notification: { - group: 'alert', - type: 'info', - title: 'Information Alert', - text: 'Just wanted you to know.', + group: "alert", + type: "info", + title: "Information Alert", + text: "Just wanted you to know.", }, timeout: 5000, }, @@ -433,10 +400,10 @@ export default class Help extends Vue { label: "Success", classes: this.successButtonClasses, notification: { - group: 'alert', - type: 'success', - title: 'Success Alert', - text: 'Congratulations!', + group: "alert", + type: "success", + title: "Success Alert", + text: "Congratulations!", }, timeout: 5000, }, @@ -444,10 +411,10 @@ export default class Help extends Vue { label: "Warning", classes: this.warningButtonClasses, notification: { - group: 'alert', - type: 'warning', - title: 'Warning Alert', - text: 'You might wanna look at this.', + group: "alert", + type: "warning", + title: "Warning Alert", + text: "You might wanna look at this.", }, timeout: 5000, }, @@ -455,10 +422,10 @@ export default class Help extends Vue { label: "Danger", classes: this.dangerButtonClasses, notification: { - group: 'alert', - type: 'danger', - title: 'Danger Alert', - text: 'Something terrible has happened!', + group: "alert", + type: "danger", + title: "Danger Alert", + text: "Something terrible has happened!", }, timeout: 5000, }, @@ -466,10 +433,10 @@ export default class Help extends Vue { label: "Notif ON", classes: this.secondaryButtonClasses, notification: { - group: 'modal', - type: 'notification-permission', - title: 'Notification Permission', - text: 'Enable notifications?', + group: "modal", + type: "notification-permission", + title: "Notification Permission", + text: "Enable notifications?", }, timeout: -1, }, @@ -477,10 +444,10 @@ export default class Help extends Vue { label: "Notif MUTE", classes: this.secondaryButtonClasses, notification: { - group: 'modal', - type: 'notification-mute', - title: 'Notification Settings', - text: 'Notifications muted', + group: "modal", + type: "notification-mute", + title: "Notification Settings", + text: "Notifications muted", }, timeout: -1, }, @@ -488,10 +455,10 @@ export default class Help extends Vue { label: "Notif OFF", classes: this.secondaryButtonClasses, notification: { - group: 'modal', - type: 'notification-off', - title: 'Notifications', - text: 'Notifications turned off', + group: "modal", + type: "notification-off", + title: "Notifications", + text: "Notifications turned off", }, timeout: -1, }, @@ -508,7 +475,7 @@ export default class Help extends Vue { /** * Component initialization - * + * * Loads user settings and account information for testing interface * Uses PlatformServiceMixin for database access */ @@ -529,7 +496,7 @@ export default class Help extends Vue { /** * Handles file upload for image sharing tests - * + * * Processes uploaded files and stores them in temp table for shared photo testing * Uses PlatformServiceMixin service methods for temp table operations */ @@ -553,17 +520,14 @@ export default class Help extends Vue { // Use service methods for temp table operations const temp = await this.$getTemp(SHARED_PHOTO_BASE64_KEY); if (temp) { - await this.$updateEntity( - "temp", - { blobB64 }, - "id = ?", - [SHARED_PHOTO_BASE64_KEY] - ); + await this.$updateEntity("temp", { blobB64 }, "id = ?", [ + SHARED_PHOTO_BASE64_KEY, + ]); } else { await this.$insertEntity( - "temp", - { id: SHARED_PHOTO_BASE64_KEY, blobB64 }, - ["id", "blobB64"] + "temp", + { id: SHARED_PHOTO_BASE64_KEY, blobB64 }, + ["id", "blobB64"], ); } } @@ -581,7 +545,7 @@ export default class Help extends Vue { /** * Handles passkey registration for testing - * + * * Creates new passkey with user name or default test name * Includes validation and user confirmation workflow * Uses notification helpers for consistent messaging @@ -596,9 +560,9 @@ export default class Help extends Vue { }, async () => { this.$router.push({ name: "new-edit-account" }); - } + }, ); - + this.$notify(modalConfig, -1); return; } @@ -735,7 +699,7 @@ export default class Help extends Vue { /** * Executes SQL queries for testing database operations - * + * * Supports both SELECT queries (dbQuery) and other SQL commands (dbExec) * Provides interface for testing raw SQL operations * Uses PlatformServiceMixin for database access and notification helpers for errors