From 8850e4ab7e89f2a6bfe0c18a61a6c8bc2f563363 Mon Sep 17 00:00:00 2001 From: WayneHarris Date: Tue, 16 Jan 2024 16:59:15 +0000 Subject: [PATCH 1/4] fix: update prepare csv job to account for order by --- .../actions/src/Exports/Jobs/PrepareCsvExport.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php index d71c0d96cc..0f25be6f99 100644 --- a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php +++ b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php @@ -58,6 +58,12 @@ class PrepareCsvExport implements ShouldQueue $this->export->getFileDisk()->put($filePath, $csv->toString(), Filesystem::VISIBILITY_PRIVATE); $query = EloquentSerializeFacade::unserialize($this->query); + $baseQuery = $query->toBase(); + + $orders = $baseQuery->orders; + $direction = $orders ? $orders[0]['direction'] : 'asc'; + $descending = $direction === 'desc' ? true : false; + $keyName = $query->getModel()->getKeyName(); $exportCsvJob = $this->getExportCsvJob(); @@ -103,13 +109,13 @@ class PrepareCsvExport implements ShouldQueue return; } - $query->toBase() - ->select([$query->getModel()->getQualifiedKeyName()]) - ->chunkById( + $baseQuery->select([$query->getModel()->getQualifiedKeyName()]) + ->orderedChunkById( $this->chunkSize * 10, fn (Collection $records) => $dispatchRecords( Arr::pluck($records->all(), $keyName), ), + descending: $descending, ); } From 391dd6e71136fe2f03ba71e0b3e4bc0cc8c5316d Mon Sep 17 00:00:00 2001 From: WayneHarris Date: Thu, 18 Jan 2024 13:16:42 +0000 Subject: [PATCH 2/4] refactor: simplify if --- packages/actions/src/Exports/Jobs/PrepareCsvExport.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php index c01a6424e0..3c89f199e6 100644 --- a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php +++ b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php @@ -62,7 +62,7 @@ class PrepareCsvExport implements ShouldQueue $orders = $baseQuery->orders; $direction = $orders ? $orders[0]['direction'] : 'asc'; - $descending = $direction === 'desc' ? true : false; + $descending = $direction === 'desc'; $keyName = $query->getModel()->getKeyName(); From 05ec5d3eb95eb7d4adae930a27c8b2a13a2b6d19 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Thu, 18 Jan 2024 15:15:00 +0000 Subject: [PATCH 3/4] Update PrepareCsvExport.php --- .../src/Exports/Jobs/PrepareCsvExport.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php index 3c89f199e6..30aec164da 100644 --- a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php +++ b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php @@ -58,11 +58,6 @@ class PrepareCsvExport implements ShouldQueue $this->export->getFileDisk()->put($filePath, $csv->toString(), Filesystem::VISIBILITY_PRIVATE); $query = EloquentSerializeFacade::unserialize($this->query); - $baseQuery = $query->toBase(); - - $orders = $baseQuery->orders; - $direction = $orders ? $orders[0]['direction'] : 'asc'; - $descending = $direction === 'desc'; $keyName = $query->getModel()->getKeyName(); @@ -108,18 +103,19 @@ class PrepareCsvExport implements ShouldQueue return; } + + $baseQuery = $query->toBase(); + $baseQuerySortDirection = $baseQuery->orders[0]['direction'] ?? 'asc'; - $qualifiedKeyName = $query->getModel()->getQualifiedKeyName(); - - $query->toBase() - ->select([$qualifiedKeyName]) + $baseQuery + ->select([$query->getModel()->getQualifiedKeyName()]) ->orderedChunkById( $this->chunkSize * 10, fn (Collection $records) => $dispatchRecords( Arr::pluck($records->all(), $keyName), ), - $qualifiedKeyName, - descending: $descending, + $keyName, + descending: $baseQuerySortDirection === 'desc', ); } From ff2051df658fe3dca78b0669fd81ebe2b81e093e Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Thu, 18 Jan 2024 15:15:23 +0000 Subject: [PATCH 4/4] Update PrepareCsvExport.php --- packages/actions/src/Exports/Jobs/PrepareCsvExport.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php index 30aec164da..02d6b64167 100644 --- a/packages/actions/src/Exports/Jobs/PrepareCsvExport.php +++ b/packages/actions/src/Exports/Jobs/PrepareCsvExport.php @@ -58,7 +58,6 @@ class PrepareCsvExport implements ShouldQueue $this->export->getFileDisk()->put($filePath, $csv->toString(), Filesystem::VISIBILITY_PRIVATE); $query = EloquentSerializeFacade::unserialize($this->query); - $keyName = $query->getModel()->getKeyName(); $exportCsvJob = $this->getExportCsvJob(); @@ -105,7 +104,7 @@ class PrepareCsvExport implements ShouldQueue } $baseQuery = $query->toBase(); - $baseQuerySortDirection = $baseQuery->orders[0]['direction'] ?? 'asc'; + $sortDirection = $baseQuery->orders[0]['direction'] ?? 'asc'; $baseQuery ->select([$query->getModel()->getQualifiedKeyName()]) @@ -115,7 +114,7 @@ class PrepareCsvExport implements ShouldQueue Arr::pluck($records->all(), $keyName), ), $keyName, - descending: $baseQuerySortDirection === 'desc', + descending: $sortDirection === 'desc', ); }