diff --git a/lib/Controller/ThreadController.php b/lib/Controller/ThreadController.php index ce9961f118..5c71e0fae2 100755 --- a/lib/Controller/ThreadController.php +++ b/lib/Controller/ThreadController.php @@ -199,7 +199,6 @@ public function generateEventData(int $id): JSONResponse { $thread = $this->mailManager->getThread($account, $message->getThreadRootId()); $data = $this->aiIntergrationsService->generateEventData( $account, - $mailbox, $message->getThreadRootId(), $thread, $this->currentUserId, diff --git a/lib/Service/AiIntegrations/AiIntegrationsService.php b/lib/Service/AiIntegrations/AiIntegrationsService.php index 0861e84f92..eca8272b47 100644 --- a/lib/Service/AiIntegrations/AiIntegrationsService.php +++ b/lib/Service/AiIntegrations/AiIntegrationsService.php @@ -127,7 +127,7 @@ public function summarizeThread(Account $account, string $threadId, array $messa /** * @param Message[] $messages */ - public function generateEventData(Account $account, Mailbox $mailbox, string $threadId, array $messages, string $currentUserId): ?EventData { + public function generateEventData(Account $account, string $threadId, array $messages, string $currentUserId): ?EventData { try { /** @var IManager $manager */ $manager = $this->container->get(IManager::class); @@ -139,7 +139,8 @@ public function generateEventData(Account $account, Mailbox $mailbox, string $th } $client = $this->clientFactory->getClient($account); try { - $messageBodies = array_map(function ($message) use ($client, $account, $mailbox) { + $messageBodies = array_map(function ($message) use ($client, $account, $currentUserId) { + $mailbox = $this->mailManager->getMailbox($currentUserId, $message->getMailboxId()); $imapMessage = $this->mailManager->getImapMessage( $client, $account, diff --git a/tests/Unit/Service/AiIntegrationsServiceTest.php b/tests/Unit/Service/AiIntegrationsServiceTest.php index d926630797..a84d0fbd71 100644 --- a/tests/Unit/Service/AiIntegrationsServiceTest.php +++ b/tests/Unit/Service/AiIntegrationsServiceTest.php @@ -243,7 +243,6 @@ public function testGenerateEventDataLlmUnavailable(): void { } $account = $this->createMock(Account::class); - $mailbox = new Mailbox(); $message1 = new Message(); $message2 = new Message(); $this->container->expects(self::once()) @@ -252,7 +251,6 @@ public function testGenerateEventDataLlmUnavailable(): void { $result = $this->aiIntegrationsService->generateEventData( $account, - $mailbox, 'thread1', [$message1, $message2], 'user123', @@ -267,7 +265,6 @@ public function testGenerateEventDataFreePromptUnavailable(): void { } $account = $this->createMock(Account::class); - $mailbox = new Mailbox(); $message1 = new Message(); $message2 = new Message(); $manager = $this->createMock(IManager::class); @@ -280,7 +277,6 @@ public function testGenerateEventDataFreePromptUnavailable(): void { $result = $this->aiIntegrationsService->generateEventData( $account, - $mailbox, 'thread1', [$message1, $message2], 'user123', @@ -295,11 +291,12 @@ public function testGenerateEventDataInvalidJson(): void { } $account = $this->createMock(Account::class); - $mailbox = new Mailbox(); $message1 = new Message(); $message1->setUid(1); + $message1->setMailboxId(123); $message2 = new Message(); $message2->setUid(2); + $message2->setMailboxId(456); $manager = $this->createMock(IManager::class); $this->container->expects(self::once()) ->method('get') @@ -320,7 +317,6 @@ public function testGenerateEventDataInvalidJson(): void { $result = $this->aiIntegrationsService->generateEventData( $account, - $mailbox, 'thread1', [$message1, $message2], 'user123', @@ -335,11 +331,12 @@ public function testGenerateEventData(): void { } $account = $this->createMock(Account::class); - $mailbox = new Mailbox(); $message1 = new Message(); $message1->setUid(1); + $message1->setMailboxId(123); $message2 = new Message(); $message2->setUid(2); + $message2->setMailboxId(456); $manager = $this->createMock(IManager::class); $this->container->expects(self::once()) ->method('get') @@ -360,7 +357,6 @@ public function testGenerateEventData(): void { $result = $this->aiIntegrationsService->generateEventData( $account, - $mailbox, 'thread1', [$message1, $message2], 'user123',