diff --git a/packages/backend/src/graphql/resolvers/recordings.ts b/packages/backend/src/graphql/resolvers/recordings.ts index 9364b49..885187f 100644 --- a/packages/backend/src/graphql/resolvers/recordings.ts +++ b/packages/backend/src/graphql/resolvers/recordings.ts @@ -2,7 +2,7 @@ import { GraphQLError } from "graphql"; import { builder } from "../builder"; import { RecordingType } from "../types/index"; import { recordings, recording_plays } from "../../db/schema/index"; -import { eq, and, desc } from "drizzle-orm"; +import { eq, and, desc, ne } from "drizzle-orm"; import { slugify } from "../../lib/slugify"; import { awardPoints, checkAchievements } from "../../lib/gamification"; @@ -21,6 +21,7 @@ builder.queryField("recordings", (t) => const conditions = [eq(recordings.user_id, ctx.currentUser.id)]; if (args.status) conditions.push(eq(recordings.status, args.status as any)); + else conditions.push(ne(recordings.status, "archived" as any)); if (args.linkedVideoId) conditions.push(eq(recordings.linked_video, args.linkedVideoId)); const limit = args.limit || 50; @@ -211,10 +212,7 @@ builder.mutationField("deleteRecording", (t) => if (!existing[0]) throw new GraphQLError("Recording not found"); if (existing[0].user_id !== ctx.currentUser.id) throw new GraphQLError("Forbidden"); - await ctx.db - .update(recordings) - .set({ status: "archived", date_updated: new Date() }) - .where(eq(recordings.id, args.id)); + await ctx.db.delete(recordings).where(eq(recordings.id, args.id)); return true; },