public function detectContentTypeOfPost(Post $post) : string
 {
     if (count($post->getAttachmentIds())) {
         $attachment = $this->attachmentService->getById($post->getAttachmentIds()[0]);
         switch ($resource = $attachment->getMetadata()['resource']) {
             default:
                 throw new \Exception(sprintf('Unknown resource `%s`', $resource));
             case YoutubeLinkMetadata::RESOURCE_TYPE:
                 return ContentTypeCriteria::CONTENT_TYPE_VIDEO;
             case PageLinkMetadata::RESOURCE_TYPE:
                 return ContentTypeCriteria::CONTENT_TYPE_LINK;
             case ImageLinkMetadata::RESOURCE_TYPE:
                 return ContentTypeCriteria::CONTENT_TYPE_IMAGE;
             case WebmLinkMetadata::RESOURCE_TYPE:
                 return ContentTypeCriteria::CONTENT_TYPE_VIDEO;
             case UnknownLinkMetadata::RESOURCE_TYPE:
                 return ContentTypeCriteria::CONTENT_TYPE_TEXT;
         }
     } else {
         return ContentTypeCriteria::CONTENT_TYPE_TEXT;
     }
 }