diff --git a/src/app/api/user/hardcover-shelves/[id]/route.ts b/src/app/api/user/hardcover-shelves/[id]/route.ts index 8141a07..5c74203 100644 --- a/src/app/api/user/hardcover-shelves/[id]/route.ts +++ b/src/app/api/user/hardcover-shelves/[id]/route.ts @@ -156,7 +156,7 @@ export async function PATCH( if (needsResync) { try { const jobQueue = getJobQueueService(); - await jobQueue.addSyncShelvesJob(undefined, updated.id, 'hardcover', 0); + await jobQueue.addSyncShelvesJob(undefined, updated.id, 'hardcover', 0, req.user.id); } catch (error) { logger.error('Failed to trigger immediate list sync', { error: error instanceof Error ? error.message : String(error), diff --git a/tests/api/goodreads-shelves-id.routes.test.ts b/tests/api/goodreads-shelves-id.routes.test.ts index 97bff25..73be891 100644 --- a/tests/api/goodreads-shelves-id.routes.test.ts +++ b/tests/api/goodreads-shelves-id.routes.test.ts @@ -164,7 +164,7 @@ describe('PATCH /api/user/goodreads-shelves/[id]', () => { where: { id: 'shelf-1' }, data: { rssUrl: NEW_RSS, lastSyncAt: null, bookCount: null, coverUrls: null }, }); - expect(jobQueueMock.addSyncShelvesJob).toHaveBeenCalledWith(undefined, updatedShelf.id, 'goodreads', 0); + expect(jobQueueMock.addSyncShelvesJob).toHaveBeenCalledWith(undefined, updatedShelf.id, 'goodreads', 0, 'user-1'); }); it('still returns 200 even when the sync job fails to enqueue', async () => { diff --git a/tests/api/hardcover-shelves-id.routes.test.ts b/tests/api/hardcover-shelves-id.routes.test.ts index dc10efe..58d6c11 100644 --- a/tests/api/hardcover-shelves-id.routes.test.ts +++ b/tests/api/hardcover-shelves-id.routes.test.ts @@ -195,6 +195,7 @@ describe('PATCH /api/user/hardcover-shelves/[id]', () => { SHELF.id, 'hardcover', 0, + 'user-1', ); }); @@ -216,7 +217,7 @@ describe('PATCH /api/user/hardcover-shelves/[id]', () => { where: { id: 'hc-shelf-1' }, data: expect.objectContaining({ listId: 'status-3', lastSyncAt: null }), }); - expect(jobQueueMock.addSyncShelvesJob).toHaveBeenCalledWith(undefined, updated.id, 'hardcover', 0); + expect(jobQueueMock.addSyncShelvesJob).toHaveBeenCalledWith(undefined, updated.id, 'hardcover', 0, 'user-1'); }); it('encrypts the apiToken before persisting', async () => { diff --git a/tests/api/hardcover-shelves.routes.test.ts b/tests/api/hardcover-shelves.routes.test.ts index 176bf1e..74620d1 100644 --- a/tests/api/hardcover-shelves.routes.test.ts +++ b/tests/api/hardcover-shelves.routes.test.ts @@ -137,7 +137,7 @@ describe('POST /api/user/hardcover-shelves', () => { ); // Immediate background sync must have been triggered - expect(jobQueueMock.addSyncShelvesJob).toHaveBeenCalledWith(undefined, 'new-shelf', 'hardcover', 0); + expect(jobQueueMock.addSyncShelvesJob).toHaveBeenCalledWith(undefined, 'new-shelf', 'hardcover', 0, 'user-1'); }); it('strips Bearer prefix from apiToken before encrypting', async () => {