forked from jsnbuchanan/crowd-funder-for-time-pwa
- Removed all vestigial Dexie/USE_DEXIE_DB references from code and docs - Centralized DB logic in PlatformServiceMixin; resolved logger/databaseUtil circular dependency - Modularized SQL helpers (`$generateInsertStatement`, `$generateUpdateStatement`) and added unit tests - Created/updated migration tracking docs and helper script for cross-machine progress - Confirmed all lint/type checks and tests pass; ready for systematic file migration
43 lines
1.0 KiB
Vue
43 lines
1.0 KiB
Vue
<template>
|
|
<div>
|
|
<h2>PlatformServiceMixin Test</h2>
|
|
<button @click="testInsert">Test Insert</button>
|
|
<button @click="testUpdate">Test Update</button>
|
|
<pre>{{ result }}</pre>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { Options, Vue } from "vue-facing-decorator";
|
|
import { PlatformServiceMixin } from "@/utils/PlatformServiceMixin";
|
|
|
|
@Options({
|
|
mixins: [PlatformServiceMixin],
|
|
})
|
|
export default class PlatformServiceMixinTest extends Vue {
|
|
result: string = "";
|
|
|
|
testInsert() {
|
|
const contact = {
|
|
name: "Alice",
|
|
age: 30,
|
|
isActive: true,
|
|
tags: ["friend"],
|
|
};
|
|
const { sql, params } = this.$generateInsertStatement(contact, "contacts");
|
|
this.result = `SQL: ${sql}\nParams: ${JSON.stringify(params)}`;
|
|
}
|
|
|
|
testUpdate() {
|
|
const changes = { name: "Bob", isActive: false };
|
|
const { sql, params } = this.$generateUpdateStatement(
|
|
changes,
|
|
"contacts",
|
|
"id = ?",
|
|
[42],
|
|
);
|
|
this.result = `SQL: ${sql}\nParams: ${JSON.stringify(params)}`;
|
|
}
|
|
}
|
|
</script>
|