From 9e7266053b4005ca99b4b4f89a2c87f7a70915e7 Mon Sep 17 00:00:00 2001 From: mARTin Date: Mon, 23 Mar 2026 00:21:16 +0100 Subject: [PATCH] fix: clean up someday lists and tasks when disconnecting a calendar provider Unlink external references (externalId, externalProvider, externalListId) from someday lists and tasks when their associated calendar connection is deleted, so orphaned entries don't persist in the UI. v1.57.8 Co-Authored-By: Claude Opus 4.6 --- package.json | 2 +- src/app/api/calendar/connections/route.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 760f62a..f093a89 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "my-weekly-todo-list", - "version": "1.57.7", + "version": "1.57.8", "description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view", "main": "index.js", "scripts": { diff --git a/src/app/api/calendar/connections/route.ts b/src/app/api/calendar/connections/route.ts index 72d8b98..2c8c40c 100644 --- a/src/app/api/calendar/connections/route.ts +++ b/src/app/api/calendar/connections/route.ts @@ -190,6 +190,20 @@ export async function DELETE(request: NextRequest) { where: { id: connectionId, userId: user.id } }); + if (connection) { + // Unlink someday lists that were synced with this provider + await prisma.somedayList.updateMany({ + where: { userId: user.id, externalProvider: connection.provider }, + data: { externalId: null, externalProvider: null, lastSyncedAt: null }, + }); + + // Unlink tasks that were synced with this provider + await prisma.task.updateMany({ + where: { userId: user.id, externalProvider: connection.provider }, + data: { externalId: null, externalProvider: null, externalListId: null, lastSyncedAt: null }, + }); + } + // Delete the connection await prisma.calendarConnection.delete({ where: {