Implement model
This commit is contained in:
@@ -1,43 +1,30 @@
|
||||
<script lang="ts">
|
||||
import Router from '$router/Router.svelte'
|
||||
import { mode, ModeWatcher } from 'mode-watcher'
|
||||
import Header from '$lib/components/Header.svelte'
|
||||
import { Toaster } from 'svelte-sonner'
|
||||
import { mode, ModeWatcher } from 'mode-watcher'
|
||||
import { Toaster } from 'svelte-sonner'
|
||||
|
||||
import { onMount } from 'svelte'
|
||||
import { appConfigDir } from '@tauri-apps/api/path'
|
||||
import Database from 'tauri-plugin-sql-api'
|
||||
import { onMount } from 'svelte'
|
||||
import { type Food, FoodService } from '$lib/database/food'
|
||||
import type { Writable } from 'svelte/store'
|
||||
|
||||
onMount(async () => {
|
||||
console.log(await appConfigDir())
|
||||
window.invoke = window.__TAURI_INVOKE__
|
||||
const db = await Database.load('sqlite:food.db')
|
||||
|
||||
await db.execute(
|
||||
'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);'
|
||||
)
|
||||
|
||||
type User = {
|
||||
id: number
|
||||
name: string
|
||||
age: number
|
||||
}
|
||||
|
||||
await db.execute('INSERT INTO users (name, age) VALUES (\'John\', 30);')
|
||||
const user = await db.select<User>('SELECT * FROM users WHERE name = $1;', [
|
||||
'John'
|
||||
])
|
||||
|
||||
console.log(user)
|
||||
})
|
||||
let food: Food[] = []
|
||||
onMount(async () => {
|
||||
food = await FoodService.GetAll()
|
||||
})
|
||||
</script>
|
||||
|
||||
<ModeWatcher defaultMode="dark" />
|
||||
<Toaster theme={$mode} />
|
||||
|
||||
<div class="relative flex flex-col h-screen" data-vaul-drawer-wrapper id="page">
|
||||
<Header />
|
||||
<main class="flex-1">
|
||||
<Router />
|
||||
</main>
|
||||
<div>
|
||||
<pre>
|
||||
{#each food as f}
|
||||
{f.amount}
|
||||
{/each}
|
||||
</pre>
|
||||
</div>
|
||||
<!-- <Header />-->
|
||||
<!-- <main class="flex-1">-->
|
||||
<!-- <Router />-->
|
||||
<!-- </main>-->
|
||||
</div>
|
||||
|
18
src/lib/database/food.ts
Normal file
18
src/lib/database/food.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { db } from '$lib/database'
|
||||
|
||||
export type Food = {
|
||||
rowid: number,
|
||||
food: string,
|
||||
amount: number,
|
||||
per100: number,
|
||||
energy: number,
|
||||
}
|
||||
|
||||
const FoodService = {
|
||||
async GetAll() {
|
||||
return await db.select<Food[]>('SELECT rowid, food, amount, per100, energy FROM food ORDER BY date DESC')
|
||||
},
|
||||
async SetAll(data: Food[]) {}
|
||||
}
|
||||
|
||||
export {FoodService}
|
3
src/lib/database/index.ts
Normal file
3
src/lib/database/index.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import Database from 'tauri-plugin-sql-api'
|
||||
|
||||
export const db = await Database.load('sqlite:food.db')
|
Reference in New Issue
Block a user