Skip to content

Commit 45dd68f

Browse files
committed
feat: add toggleable advanced search query state
1 parent d067d6f commit 45dd68f

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

app-modules/user/src/Actions/RefreshUserSubmissions.php

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,11 @@ public function for(User $record): void
3131
return;
3232
}
3333

34-
$searchUntilDate = now()->addDay()->format('Y-m-d');
35-
$payload = sprintf(
36-
'(from:%s) (#100DiasDeCodigo) until:%s since:2025-11-01_10:22:00_UTC',
37-
$socialiteUser->username,
38-
$searchUntilDate
39-
);
40-
$response = $this->fetchTweetsFromAdvanceSearch($searchUntilDate, $socialiteUser->username, $payload);
34+
$payload = $this->buildAdvancedSearchPayload($socialiteUser->username);
35+
$response = $this->fetchTweetsFromAdvanceSearch($socialiteUser->username, $payload);
4136

4237
if ($response->tweets === []) {
43-
$response = $this->fetchTweetsFromUser($searchUntilDate, $socialiteUser->provider_id);
38+
$response = $this->fetchTweetsFromUser($socialiteUser->provider_id);
4439
}
4540

4641
foreach ($response->tweets as $tweet) {
@@ -51,13 +46,13 @@ public function for(User $record): void
5146
/**
5247
* @throws Exception
5348
*/
54-
private function fetchTweetsFromAdvanceSearch(string $searchUntilDate, string $username, string $payload): AdvancedSearchResponse
49+
private function fetchTweetsFromAdvanceSearch(string $username, string $payload): AdvancedSearchResponse
5550
{
5651
$client = resolve(TwitterApiClient::class);
5752

5853
/** @var AdvancedSearchResponse */
5954
return cache()->remember(
60-
sprintf('refresh_%s_%s', $username, $searchUntilDate),
55+
sprintf('refresh_%s_%s', $username, now()->addDay()->format('Y-m-d')),
6156
hours(10),
6257
fn () => $client->advancedSearch(AdvancedSearchRequest::make($payload))
6358
);
@@ -66,15 +61,28 @@ private function fetchTweetsFromAdvanceSearch(string $searchUntilDate, string $u
6661
/**
6762
* @throws Exception
6863
*/
69-
private function fetchTweetsFromUser(string $searchUntilDate, string|int $providerId): FindTweetResponse
64+
private function fetchTweetsFromUser(string|int $providerId): FindTweetResponse
7065
{
7166
$client = resolve(TwitterApiClient::class);
7267

7368
/** @var FindTweetResponse */
7469
return cache()->remember(
75-
sprintf('refresh_%s_%s', $providerId, $searchUntilDate),
70+
sprintf('refresh_%s_%s', $providerId, now()->addDay()->format('Y-m-d')),
7671
hours(10),
7772
fn () => $client->findTweetsFrom($providerId)
7873
);
7974
}
75+
76+
private function buildAdvancedSearchPayload(string $username): string
77+
{
78+
if (config()->boolean('100daysofcode.advanced_query')) {
79+
return sprintf(
80+
'(from:%s) (#100DiasDeCodigo) until:%s since:2025-11-01_10:22:00_UTC',
81+
$username,
82+
now()->addDay()->format('Y-m-d')
83+
);
84+
}
85+
86+
return '(from:%s) (#100DiasDeCodigo)';
87+
}
8088
}

config/100daysofcode.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
return [
6+
'advanced_query' => env('SEARCH_ADVANCED_QUERY', true),
7+
];

0 commit comments

Comments
 (0)