Skip to content

Commit 4a6d41c

Browse files
committed
chore: update
1 parent 8c7c036 commit 4a6d41c

File tree

8 files changed

+59
-48
lines changed

8 files changed

+59
-48
lines changed

_nuxtflare/server/api/_hub/database/query.post.ts

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,34 @@ export default eventHandler(async (event) => {
1010
// Make sure the client is initialized first
1111
useDatabase()
1212
const client = useDatabaseClient()
13-
14-
console.log(client)
13+
14+
if (process.dev) {
15+
try {
16+
if (method === 'run')
17+
return client.prepare(sql).run(params)
18+
if (method === 'all' || method === 'values')
19+
return client.prepare(sql).raw().all(params)
20+
// method = 'get'
21+
return client.prepare(sql).raw().get(params)
22+
} catch (e: any) {
23+
throw createError({
24+
statusCode: 500,
25+
message: `Database error: ${e.message}`
26+
})
27+
}
28+
}
1529
try {
16-
if (method === 'run')
17-
return client.prepare(sql).run(params)
18-
if (method === 'all' || method === 'values')
19-
return client.prepare(sql).raw().all(params)
30+
if (method === 'run') {
31+
const { meta } = await client.prepare(sql).bind(...params).run()
32+
return meta
33+
}
34+
if (method === 'all' || method === 'values') {
35+
const { results } = await client.prepare(sql).bind(...params).raw()
36+
return results
37+
}
2038
// method = 'get'
21-
return client.prepare(sql).raw().get(params)
39+
const { results } = await client.prepare(sql).bind(...params).raw()
40+
return results[0]
2241
} catch (e: any) {
2342
throw createError({
2443
statusCode: 500,

_nuxtflare/server/utils/database.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ export const useDatabase = () => {
3030
method: 'POST',
3131
body: { sql, params, method }
3232
})
33+
console.log(method, rows)
34+
if (method === 'run') return rows
3335
return { rows }
3436
} catch (err) {
3537
console.error('Error from remote database', { sql, params, method }, err.data)

server/api/test.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import { sql } from 'drizzle-orm'
1+
import { sql, eq } from 'drizzle-orm'
2+
import { sqliteTable, integer, text } from 'drizzle-orm/sqlite-core'
23

34
export default defineEventHandler(async (event) => {
45
const db = useDatabase()
56

6-
const rows = await db.all(sql`
7+
const tables = await db.all(sql`
78
SELECT
89
name
910
FROM
@@ -14,5 +15,22 @@ export default defineEventHandler(async (event) => {
1415
;
1516
`)
1617

17-
return rows
18+
const todos = sqliteTable('todos', {
19+
id: integer('id').primaryKey(),
20+
text: text('text')
21+
})
22+
const inserted = await db.insert(todos).values({ text: 'hello' }).returning().get()
23+
const todo = await db.select().from(todos).where(eq(todos.id, inserted.id)).get()
24+
const updated = await db.update(todos).set({ text: 'Bonjour' }).where(eq(todos.id, inserted.id)).returning()
25+
const all = await db.select().from(todos).limit(3)
26+
const deleted = await db.delete(todos).where(eq(todos.id, all[0].id))
27+
28+
return {
29+
tables,
30+
todo,
31+
inserted,
32+
updated,
33+
deleted,
34+
all
35+
}
1836
})

server/database/migrations/0000_heavy_xorn.sql

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
CREATE TABLE `todos` (
2+
`id` integer PRIMARY KEY NOT NULL,
3+
`text` text NOT NULL
4+
);

server/database/migrations/meta/0000_snapshot.json

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"version": "5",
33
"dialect": "sqlite",
4-
"id": "3169bbf9-a9f8-4d6c-b3b7-5e9a28c97af3",
4+
"id": "6d6fc5db-ed1d-4e06-bfbd-6b8a014b0b00",
55
"prevId": "00000000-0000-0000-0000-000000000000",
66
"tables": {
77
"todos": {
@@ -14,34 +14,12 @@
1414
"notNull": true,
1515
"autoincrement": false
1616
},
17-
"user_id": {
18-
"name": "user_id",
19-
"type": "integer",
20-
"primaryKey": false,
21-
"notNull": true,
22-
"autoincrement": false
23-
},
24-
"title": {
25-
"name": "title",
17+
"text": {
18+
"name": "text",
2619
"type": "text",
2720
"primaryKey": false,
2821
"notNull": true,
2922
"autoincrement": false
30-
},
31-
"completed": {
32-
"name": "completed",
33-
"type": "integer",
34-
"primaryKey": false,
35-
"notNull": true,
36-
"autoincrement": false,
37-
"default": 0
38-
},
39-
"created_at": {
40-
"name": "created_at",
41-
"type": "integer",
42-
"primaryKey": false,
43-
"notNull": true,
44-
"autoincrement": false
4523
}
4624
},
4725
"indexes": {},

server/database/migrations/meta/_journal.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
{
66
"idx": 0,
77
"version": "5",
8-
"when": 1702053632535,
9-
"tag": "0000_heavy_xorn",
8+
"when": 1706118044364,
9+
"tag": "0000_swift_stone_men",
1010
"breakpoints": true
1111
}
1212
]

server/database/schema.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,5 @@ import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core'
22

33
export const todos = sqliteTable('todos', {
44
id: integer('id').primaryKey(),
5-
userId: integer('user_id').notNull(), // GitHub Id
6-
title: text('title').notNull(),
7-
completed: integer('completed').notNull().default(0),
8-
createdAt: integer('created_at', { mode: 'timestamp' }).notNull(),
5+
text: text('text').notNull(),
96
})

0 commit comments

Comments
 (0)