@@ -65,7 +65,7 @@ public function afterPrint(AfterPrintRequest $request) : JsonResponse
6565
6666 $ partTask ->count_printed += $ partData ['count_printing ' ];
6767 $ partTask ->save ();
68- $ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['parts ' ][ $ partID ]['count_printed ' ] = $ partTask ->count_printed ;
68+ $ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['parts ' ][ $ partID ]['count_printed ' ] = $ partTask ->count_printed ;
6969 $ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['parts ' ][ $ partID ]['count_printing ' ] = 0 ;
7070 unset($ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['parts ' ][ $ partID ]['is_printing ' ]);
7171
@@ -76,9 +76,9 @@ public function afterPrint(AfterPrintRequest $request) : JsonResponse
7676 'event_source ' => PrintTaskEventSource::API ,
7777 ]);
7878 }
79- $ task = Task::find ($ taskID );
79+ $ task = Task::find ($ taskID );
8080 $ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['count_set_printing ' ] = 0 ;
81- $ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['count_set_printed ' ] = $ task ->getCompletedSetsCount ();
81+ $ dataTasks ['data ' ]['new ' ]['tasks ' ][ $ taskID ]['count_set_printed ' ] = $ task ->getCompletedSetsCount ();
8282 }
8383
8484 $ printer ->printingTasks ()->delete ();
@@ -186,8 +186,68 @@ public function beforePrint(BeforePrintRequest $request) : JsonResponse
186186
187187 public function index ()
188188 {
189+ $ profile = auth ()->user ();
190+ $ tasks = auth ()->user ()->tasks ()
191+ ->whereIn ('status ' , [TaskStatus::NEW , TaskStatus::IN_PROGRESS , TaskStatus::PRINTED ])
192+ ->with ([
193+ 'partTask ' ,
194+ 'partTask.task ' ,
195+ ])
196+ ->orderBy ('created_at ' , 'desc ' )
197+ ->get ()
198+ ->map (function ($ task ) {
199+ // Сохраняем оригинальный статус
200+ $ statusEnum = $ task ->status ;
201+ // Создаем массив с нужным порядком полей
202+ $ taskArray = $ task ->toArray ();
203+ // Вставляем status_name сразу после status
204+ $ result = [];
205+ foreach ($ taskArray as $ key => $ value ) {
206+ $ result [$ key ] = $ value ;
207+ if ($ key === 'status ' ) {
208+ $ result ['status ' ] = $ statusEnum ->name ;
209+ }
210+ }
211+ return $ result ;
212+ });
213+ $ printers = auth ()->user ()->printers ()
214+ ->with ([
215+ 'printingTasks ' ,
216+ 'printingTasks.partTask ' ,
217+ 'printingTasks.partTask.task ' ,
218+ 'printingTasks.partTask.part ' ,
219+ 'filamentSlots ' ,
220+ 'filamentSlots.filamentSpool ' ,
221+ 'filamentSlots.filamentSpool.packaging ' ,
222+ 'filamentSlots.filamentSpool.filament ' ,
223+ 'filamentSlots.filamentSpool.filament.vendor ' ,
224+ 'filamentSlots.filamentSpool.filament.type ' ,
225+ ])
226+ ->orderBy ('name ' )
227+ ->get ()
228+ ->map (function ($ task ) {
229+ // Сохраняем оригинальный статус
230+ $ statusEnum = $ task ->status ;
231+ // Создаем массив с нужным порядком полей
232+ $ taskArray = $ task ->toArray ();
233+ // Вставляем status_name сразу после status
234+ $ result = [];
235+ foreach ($ taskArray as $ key => $ value ) {
236+ $ result [$ key ] = $ value ;
237+ if ($ key === 'status ' ) {
238+ $ result ['status ' ] = $ statusEnum ->name ;
239+ }
240+ }
241+ return $ result ;
242+ });
243+
189244 return response ()->json ([
190245 'success ' => true ,
246+ 'data ' => [
247+ 'profile ' => $ profile ,
248+ 'printers ' => $ printers ,
249+ 'tasks ' => $ tasks ,
250+ ],
191251 ]);
192252 }
193253
0 commit comments