1010use Symfony \Component \HttpFoundation \JsonResponse ;
1111use Symfony \Component \HttpFoundation \Request ;
1212use Symfony \Component \Routing \Annotation \Route ;
13+ use Symfony \Component \Console \Output \ConsoleOutput ;
1314
1415class FileItemsController extends ApiController
1516{
@@ -65,6 +66,7 @@ public function reviewFile(FileItem $file, Request $request, UtilityService $uti
6566 #[Route('/api/files/{file}/post ' , methods: ['POST ' ], name: 'file_post ' )]
6667 public function postFile (FileItem $ file , Request $ request , UtilityService $ util , LmsPostService $ lmsPost )
6768 {
69+ $ output = new ConsoleOutput ();
6870 $ apiResponse = new ApiResponse ();
6971 $ user = $ this ->getUser ();
7072
@@ -77,10 +79,17 @@ public function postFile(FileItem $file, Request $request, UtilityService $util,
7779
7880 $ uploadedFile = $ request ->files ->get ('file ' );
7981
82+ $ output ->writeln ("Uploading file: " . $ uploadedFile ->getClientOriginalName ());
8083 // Save content to LMS
8184 $ lmsResponse = $ lmsPost ->saveFileToLms ($ file , $ uploadedFile , $ user );
85+ $ responseContent = $ lmsResponse ->getContent ();
8286
83- $ apiResponse ->setData ($ lmsResponse );
87+ $ output ->writeln ("Response Content: " . print_r ($ responseContent , true ));
88+
89+ // If the new file was successfully posted, update the FileItem metadata to point to this replacement
90+ if (isset ($ responseContent ['id ' ])) {
91+ $ file ->setReplacementFile ($ responseContent );
92+ }
8493
8594 // Update report stats
8695 $ report = $ course ->getUpdatedReport ();
@@ -91,7 +100,9 @@ public function postFile(FileItem $file, Request $request, UtilityService $util,
91100 $ apiResponse ->addMessage ('form.msg.success_replaced ' , 'success ' , 5000 );
92101
93102 $ apiResponse ->addLogMessages ($ util ->getUnreadMessages ());
103+
94104 $ apiResponse ->setData ([
105+ 'lmsResponse ' => $ lmsResponse ,
95106 'file ' => ['pending ' => false ],
96107 'report ' => $ report ,
97108 ]);
0 commit comments