mirror of
https://github.com/ArthurDanjou/arthome.git
synced 2026-01-14 12:14:33 +01:00
Working on arthome
This commit is contained in:
18
server/api/categories/[id].delete.ts
Normal file
18
server/api/categories/[id].delete.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const user = await getUserSession(event)
|
||||
const { id } = await getRouterParams(event)
|
||||
await useDrizzle()
|
||||
.delete(tables.categories)
|
||||
.where(
|
||||
and(
|
||||
eq(tables.categories.id, id),
|
||||
eq(tables.categories.userId, user.id),
|
||||
),
|
||||
)
|
||||
return { statusCode: 200 }
|
||||
}
|
||||
catch (err) {
|
||||
return { err }
|
||||
}
|
||||
})
|
||||
28
server/api/categories/[id].put.ts
Normal file
28
server/api/categories/[id].put.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { useValidatedBody } from 'h3-zod'
|
||||
import { UpdateCategorySchema } from '~~/types/types'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const user = await getUserSession(event)
|
||||
const { id } = await getRouterParams(event)
|
||||
const body = await useValidatedBody(event, UpdateCategorySchema)
|
||||
await useDrizzle()
|
||||
.update(tables.categories)
|
||||
.set({
|
||||
name: body.name,
|
||||
icon: body.icon,
|
||||
color: body.color,
|
||||
nameVisible: body.nameVisible,
|
||||
})
|
||||
.where(
|
||||
and(
|
||||
eq(tables.categories.id, id),
|
||||
eq(tables.categories.userId, user.id),
|
||||
),
|
||||
)
|
||||
return { statusCode: 200 }
|
||||
}
|
||||
catch (err) {
|
||||
return { err }
|
||||
}
|
||||
})
|
||||
@@ -1,7 +1,10 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
const user = await getUserSession(event)
|
||||
console.log('session', user)
|
||||
return useDrizzle().query.categories.findMany({
|
||||
where: eq(tables.users.id, user.id),
|
||||
})
|
||||
const user = await requireUserSession(event)
|
||||
return useDrizzle()
|
||||
.select()
|
||||
.from(tables.categories)
|
||||
.where(
|
||||
eq(tables.categories.userId, user.user.id),
|
||||
)
|
||||
.orderBy(tables.categories.id, 'desc')
|
||||
})
|
||||
|
||||
20
server/api/categories/index.post.ts
Normal file
20
server/api/categories/index.post.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { useValidatedBody } from 'h3-zod'
|
||||
import { CreateCategorySchema } from '~~/types/types'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const user = await getUserSession(event)
|
||||
const body = await useValidatedBody(event, CreateCategorySchema)
|
||||
await useDrizzle().insert(tables.categories).values({
|
||||
name: body.name,
|
||||
icon: body.icon,
|
||||
color: body.color,
|
||||
nameVisible: body.nameVisible,
|
||||
userId: user.id,
|
||||
})
|
||||
return { statusCode: 200 }
|
||||
}
|
||||
catch (err) {
|
||||
return { err }
|
||||
}
|
||||
})
|
||||
16
server/api/tabs/[id].delete.ts
Normal file
16
server/api/tabs/[id].delete.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const { id } = await getRouterParams(event)
|
||||
await useDrizzle()
|
||||
.delete(tables.tabs)
|
||||
.where(
|
||||
and(
|
||||
eq(tables.tabs.id, id),
|
||||
),
|
||||
)
|
||||
return { statusCode: 200 }
|
||||
}
|
||||
catch (err) {
|
||||
return { err }
|
||||
}
|
||||
})
|
||||
29
server/api/tabs/[id].put.ts
Normal file
29
server/api/tabs/[id].put.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { useValidatedBody } from 'h3-zod'
|
||||
import { UpdateTabSchema } from '~~/types/types'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const { id } = await getRouterParams(event)
|
||||
console.log(await readBody(event))
|
||||
const body = await useValidatedBody(event, UpdateTabSchema)
|
||||
await useDrizzle()
|
||||
.update(tables.tabs)
|
||||
.set({
|
||||
name: body.name,
|
||||
icon: body.icon,
|
||||
color: body.color,
|
||||
nameVisible: body.nameVisible,
|
||||
link: body.link,
|
||||
})
|
||||
.where(
|
||||
and(
|
||||
eq(tables.tabs.id, id),
|
||||
eq(tables.tabs.categoryId, body.categoryId),
|
||||
),
|
||||
)
|
||||
return { statusCode: 200 }
|
||||
}
|
||||
catch (err) {
|
||||
return { err }
|
||||
}
|
||||
})
|
||||
6
server/api/tabs/index.get.ts
Normal file
6
server/api/tabs/index.get.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
export default defineEventHandler(async () => {
|
||||
return useDrizzle()
|
||||
.select()
|
||||
.from(tables.tabs)
|
||||
.orderBy(tables.tabs.id, 'desc')
|
||||
})
|
||||
20
server/api/tabs/index.post.ts
Normal file
20
server/api/tabs/index.post.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { useValidatedBody } from 'h3-zod'
|
||||
import { CreateTabSchema } from '~~/types/types'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const body = await useValidatedBody(event, CreateTabSchema)
|
||||
await useDrizzle().insert(tables.tabs).values({
|
||||
name: body.name,
|
||||
icon: body.icon,
|
||||
color: body.color,
|
||||
nameVisible: body.nameVisible,
|
||||
categoryId: body.categoryId,
|
||||
link: body.link,
|
||||
})
|
||||
return { statusCode: 200 }
|
||||
}
|
||||
catch (err) {
|
||||
return { err }
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user