2828use  OCP \Collaboration \Reference \IReference ;
2929use  OCP \Collaboration \Reference \IReferenceProvider ;
3030use  OCP \Collaboration \Reference \Reference ;
31+ use  OCP \Files \IMimeTypeDetector ;
3132use  OCP \Files \InvalidPathException ;
3233use  OCP \Files \IRootFolder ;
3334use  OCP \Files \Node ;
@@ -42,12 +43,18 @@ class FileReferenceProvider implements IReferenceProvider {
4243	private  IRootFolder $ rootFolder
4344	private  ?string  $ userId
4445	private  IPreview $ previewManager
46+ 	private  IMimeTypeDetector $ mimeTypeDetector
4547
46- 	public  function  __construct (IURLGenerator $ urlGeneratorIRootFolder $ rootFolderIUserSession $ userSessionIPreview $ previewManager
48+ 	public  function  __construct (IURLGenerator $ urlGenerator
49+ 								IRootFolder $ rootFolder
50+ 								IUserSession $ userSession
51+ 								IMimeTypeDetector $ mimeTypeDetector
52+ 								IPreview $ previewManager
4753		$ this urlGenerator  = $ urlGenerator
4854		$ this rootFolder  = $ rootFolder
4955		$ this userId  = $ userSessiongetUser () ? $ userSessiongetUser ()->getUID () : null ;
5056		$ this previewManager  = $ previewManager
57+ 		$ this mimeTypeDetector  = $ mimeTypeDetector
5158	}
5259
5360	public  function  matchReference (string  $ referenceTextbool  {
@@ -127,7 +134,12 @@ private function fetchReference(Reference $reference): void {
127134			$ referencesetTitle ($ filegetName ());
128135			$ referencesetDescription ($ filegetMimetype ());
129136			$ referencesetUrl ($ this urlGenerator ->getAbsoluteURL ('/index.php/f/ '  . $ fileId
130- 			$ referencesetImageUrl ($ this urlGenerator ->linkToRouteAbsolute ('core.Preview.getPreviewByFileId ' , ['x '  => 1600 , 'y '  => 630 , 'fileId '  => $ fileId
137+ 			if  ($ this previewManager ->isMimeSupported ($ filegetMimeType ())) {
138+ 				$ referencesetImageUrl ($ this urlGenerator ->linkToRouteAbsolute ('core.Preview.getPreviewByFileId ' , ['x '  => 1600 , 'y '  => 630 , 'fileId '  => $ fileId
139+ 			} else  {
140+ 				$ fileTypeIconUrl$ this mimeTypeDetector ->mimeTypeIcon ($ filegetMimeType ());
141+ 				$ referencesetImageUrl ($ fileTypeIconUrl
142+ 			}
131143
132144			$ referencesetRichObject ('file ' , [
133145				'id '  => $ filegetId (),
0 commit comments