import { prisma } from '../database'; export type TaskStatus = 'open' | 'in_progress' | 'done'; export class TaskService { public async createTask(data: { guildId: string; title: string; description?: string; assigneeId?: string; createdBy: string; createdByTag: string; }) { return prisma.staffTask.create({ data }); } public async listTasks(guildId: string, status?: string) { return prisma.staffTask.findMany({ where: { guildId, ...(status ? { status } : {}) }, orderBy: { createdAt: 'desc' } }); } public async getTask(id: string) { return prisma.staffTask.findUnique({ where: { id } }); } public async updateStatus(id: string, status: TaskStatus) { return prisma.staffTask.update({ where: { id }, data: { status } }); } public async deleteTask(guildId: string, id: string) { const task = await prisma.staffTask.findFirst({ where: { id, guildId } }); if (!task) return false; await prisma.staffTask.delete({ where: { id } }); return true; } }