Initial Commit

This commit is contained in:
2026-10-03 20:07:49 +02:00
commit a1346c98b1
427 changed files with 59320 additions and 0 deletions
@@ -0,0 +1,19 @@
import { and, eq } from 'drizzle-orm'
import { notifications, users } from '../../../db/schema'
export default defineEventHandler(async (event) => {
const user = await requireUser(event)
const id = Number(getRouterParam(event, 'id'))
if (!Number.isInteger(id) || id <= 0) {
throw createError({ statusCode: 400, statusMessage: 'Ungültige ID' })
}
await useDb().transaction(async (tx) => {
await tx.select({ id: users.id }).from(users).where(eq(users.id, user.id)).for('update')
const [notification] = await tx.select({ uploadId: notifications.uploadId }).from(notifications)
.where(and(eq(notifications.id, id), eq(notifications.userId, user.id))).limit(1)
if (!notification) return
await tx.update(notifications).set({ isRead: true })
.where(and(eq(notifications.uploadId, notification.uploadId), eq(notifications.userId, user.id)))
})
return { ok: true }
})