Skip to content

Commit 6896787

Browse files
authored
refactor: update projectors to use the new query builder (#75)
1 parent 199c59c commit 6896787

File tree

7 files changed

+22
-29
lines changed

7 files changed

+22
-29
lines changed

src/Migrations/FixDateTimeFieldsMigration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ final class FixDateTimeFieldsMigration
1212
use HasConsole;
1313

1414
#[ConsoleCommand(name: 'fix:projections')]
15-
public function __invoke()
15+
public function __invoke(): void
1616
{
1717
foreach (VisitsPerDay::all() as $visitsPerDay) {
1818
$visitsPerDay->save();

src/StoredEvents/EventsReplayCommand.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Tempest\Console\HasConsole;
88
use Tempest\Console\Middleware\ForceMiddleware;
99
use Tempest\Container\Container;
10-
use Tempest\Database\Query;
10+
use Tempest\Database\Builder\QueryBuilders\QueryBuilder;
1111

1212
use function Tempest\Support\arr;
1313
use function Tempest\Support\str;
@@ -46,7 +46,9 @@ public function __invoke(?string $replay = null): void
4646
return;
4747
}
4848

49-
$eventCount = new Query(sprintf('SELECT COUNT(*) as `count` FROM `%s`', StoredEvent::table()->tableName))->fetchFirst()['count'];
49+
$eventCount = new QueryBuilder(StoredEvent::class)
50+
->select('COUNT(*) as `count`')
51+
->first()['count'];
5052

5153
$confirm = $this->confirm(sprintf(
5254
'We\'re going to replay %d events on %d %s, this will take a while. Continue?',

src/Web/Analytics/PackageDownloadsPerDay/PackageDownloadsPerDayProjector.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\StoredEvents\Projector;
66
use App\Web\Analytics\PackageDownloadsListed;
7+
use Tempest\Database\Builder\QueryBuilders\QueryBuilder;
78
use Tempest\Database\Query;
89
use Tempest\EventBus\EventHandler;
910

@@ -12,12 +13,9 @@
1213
#[\Override]
1314
public function clear(): void
1415
{
15-
$query = new Query(sprintf(
16-
'DELETE FROM %s',
17-
PackageDownloadsPerDay::table(),
18-
));
19-
20-
$query->execute();
16+
new QueryBuilder(PackageDownloadsPerDay::class)
17+
->delete()
18+
->execute();
2119
}
2220

2321
#[\Override]

src/Web/Analytics/PackageDownloadsPerHour/PackageDownloadsPerHourProjector.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\StoredEvents\Projector;
66
use App\Web\Analytics\PackageDownloadsListed;
7+
use Tempest\Database\Builder\QueryBuilders\QueryBuilder;
78
use Tempest\Database\Query;
89
use Tempest\EventBus\EventHandler;
910

@@ -12,12 +13,9 @@
1213
#[\Override]
1314
public function clear(): void
1415
{
15-
$query = new Query(sprintf(
16-
'DELETE FROM %s',
17-
PackageDownloadsPerHour::table(),
18-
));
19-
20-
$query->execute();
16+
new QueryBuilder(PackageDownloadsPerHour::class)
17+
->delete()
18+
->execute();
2119
}
2220

2321
#[\Override]

src/Web/Analytics/VisitsPerDay/VisitsPerDayProjector.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use App\StoredEvents\Projector;
66
use App\Web\Analytics\PageVisited;
7-
use Tempest\Database\Query;
7+
use Tempest\Database\Builder\QueryBuilders\QueryBuilder;
88
use Tempest\EventBus\EventHandler;
99

1010
final readonly class VisitsPerDayProjector implements Projector
@@ -20,12 +20,9 @@ public function replay(object $event): void
2020
#[\Override]
2121
public function clear(): void
2222
{
23-
$query = new Query(sprintf(
24-
'DELETE FROM %s',
25-
VisitsPerDay::table(),
26-
));
27-
28-
$query->execute();
23+
new QueryBuilder(VisitsPerDay::class)
24+
->delete()
25+
->execute();
2926
}
3027

3128
#[EventHandler]

src/Web/Analytics/VisitsPerHour/VisitsPerHourProjector.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\StoredEvents\Projector;
66
use App\Web\Analytics\PageVisited;
7+
use Tempest\Database\Builder\QueryBuilders\QueryBuilder;
78
use Tempest\Database\Query;
89
use Tempest\EventBus\EventHandler;
910

@@ -20,12 +21,9 @@ public function replay(object $event): void
2021
#[\Override]
2122
public function clear(): void
2223
{
23-
$query = new Query(sprintf(
24-
'DELETE FROM %s',
25-
VisitsPerHour::table(),
26-
));
27-
28-
$query->execute();
24+
new QueryBuilder(VisitsPerHour::class)
25+
->delete()
26+
->execute();
2927
}
3028

3129
#[EventHandler]

src/Web/Documentation/ChapterView.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function isCurrent(Chapter $other): bool
3434

3535
public function getSubChapters(): array
3636
{
37-
// TODO: clean up
37+
// TODO(@innocenzi): clean up
3838
preg_match_all('/<h2.*>.*<a.*href="(?<uri>.*?)".*<\/span>(?<title>.*)<\/a><\/h2>/', $this->currentChapter->body, $h2Matches);
3939
preg_match_all('/<h3.*>.*<a.*href="(?<h3uri>.*?)".*<\/span>(?<h3title>.*)<\/a><\/h3>/', $this->currentChapter->body, $h3Matches);
4040

0 commit comments

Comments
 (0)