src/Library/GraphOutlook.php line 43

Open in your IDE?
  1. <?php
  2. namespace App\Library;
  3. use App\Library\GraphGeneric;
  4. use Microsoft\Graph\Model\Message;
  5. use Microsoft\Graph\Model\MailFolder;
  6. use Microsoft\Graph\Model\FileAttachment;
  7. use Microsoft\Graph\Model\ItemAttachment;
  8. require_once 'GraphGeneric.php';
  9. class GraphOutlook extends GraphGeneric
  10. {
  11.     public function getMailFolders()
  12.     {
  13.         return $this->appClient->createCollectionRequest('GET'"/users/sauvegarde@cco-info.fr/mailFolders")
  14.             ->setReturnType(MailFolder::class)
  15.             ->execute();
  16.     }
  17.     public function getChildFolders(String $folderId)
  18.     {
  19.         return $this->appClient->createCollectionRequest('GET'"/users/sauvegarde@cco-info.fr/mailFolders/" $folderId "/childFolders")
  20.             ->setReturnType(MailFolder::class)
  21.             ->execute();
  22.     }
  23.     public function listMessages(int $quantity 10String $readed "false")
  24.     {
  25.         return $this->appClient->createCollectionRequest('GET''/users/sauvegarde@cco-info.fr/messages?$select=sender,id,subject,isRead,hasAttachments,sentDateTime,body&top=' $quantity)
  26.             ->setReturnType(Message::class)
  27.             ->execute();
  28.     }
  29.     public function getMessage(String $folderIdString $messageId)
  30.     {
  31.         return $this->appClient->createCollectionRequest('GET''/users/sauvegarde@cco-info.fr/mailFolders/' $folderId '/messages/' $messageId)
  32.             ->setReturnType(Message::class)
  33.             ->execute();
  34.     }
  35.     public function listFolderMessages(int $quantity 10String $folderId)
  36.     {
  37.         return $this->appClient->createCollectionRequest('GET''/users/sauvegarde@cco-info.fr/mailFolders/' $folderId '/messages?$select=sender,id,subject,isRead,hasAttachments,sentDateTime,body&top=' $quantity)
  38.             ->setReturnType(Message::class)
  39.             ->execute();
  40.     }
  41.     public function getMessageAttachments(string $id)
  42.     {
  43.         return $this->appClient->createCollectionRequest('GET'"/users/sauvegarde@cco-info.fr/messages/" $id '/attachments')
  44.             ->setReturnType(FileAttachment::class)
  45.             ->execute();
  46.     }
  47.     
  48.     public function moveMailToFolder(string $messageIdstring $folderId)
  49.     {
  50.         return $this->appClient->createRequest('POST'"/users/sauvegarde@cco-info.fr/messages/" $messageId '/move')
  51.             ->addHeaders(["Prefer" => 'IdType="ImmutableId"'])
  52.             ->attachBody(["destinationId" => $folderId])
  53.             ->setReturnType(Message::class)
  54.             ->execute();
  55.     }
  56. }