Skip to content

Commit 497dd06

Browse files
committed
feat: LAR 10 Send a Telegram notification for articles that are submitted but neither approved nor declined.
1 parent 98a7afd commit 497dd06

File tree

16 files changed

+57
-57
lines changed

16 files changed

+57
-57
lines changed

app/Console/Commands/NotifyPendingArticles.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ public function handle(AnonymousNotifiable $notifiable): void
2323
$notifiable->notify(new PendingArticlesNotification($pendingArticles));
2424
}
2525
}
26-
}
26+
}

app/Console/Kernel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ protected function commands(): void
3131
{
3232
$this->load(__DIR__.'/Commands');
3333
}
34-
}
34+
}

app/Http/Kernel.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ final class Kernel extends HttpKernel
1010
{
1111
protected $middleware = [
1212
// \App\Http\Middleware\TrustHosts::class,
13-
\App\Http\Middleware\TrustProxies::class,
14-
\App\Http\Middleware\HttpsProtocol::class,
13+
Middleware\TrustProxies::class,
14+
Middleware\HttpsProtocol::class,
1515
\Illuminate\Http\Middleware\HandleCors::class,
16-
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
16+
Middleware\PreventRequestsDuringMaintenance::class,
1717
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
18-
\App\Http\Middleware\TrimStrings::class,
18+
Middleware\TrimStrings::class,
1919
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
2020
];
2121

2222
protected $middlewareGroups = [
2323
'web' => [
24-
\App\Http\Middleware\EncryptCookies::class,
24+
Middleware\EncryptCookies::class,
2525
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
2626
\Illuminate\Session\Middleware\StartSession::class,
2727
// \Illuminate\Session\Middleware\AuthenticateSession::class,
2828
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
29-
\App\Http\Middleware\VerifyCsrfToken::class,
29+
Middleware\VerifyCsrfToken::class,
3030
\Illuminate\Routing\Middleware\SubstituteBindings::class,
3131
],
3232

@@ -38,11 +38,11 @@ final class Kernel extends HttpKernel
3838
];
3939

4040
protected $routeMiddleware = [
41-
'auth' => \App\Http\Middleware\Authenticate::class,
41+
'auth' => Middleware\Authenticate::class,
4242
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
4343
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
4444
'can' => \Illuminate\Auth\Middleware\Authorize::class,
45-
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
45+
'guest' => Middleware\RedirectIfAuthenticated::class,
4646
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
4747
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
4848
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,

app/Models/Thread.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ public function scopeUnresolved(Builder $query): Builder
191191
* Scope for filtering threads.
192192
*
193193
* @param Builder<Thread> $builder
194-
* @param \Illuminate\Http\Request $request
194+
* @param Request $request
195195
* @param string[] $filters
196196
* @return Builder<Thread>
197197
*/

app/Models/User.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ public function scopeHasActivity(Builder $query): Builder
353353
/**
354354
* Route notifications for the Slack channel.
355355
*
356-
* @param \Illuminate\Notifications\Notification $notification
356+
* @param Notification $notification
357357
* @return string
358358
*/
359359
public function routeNotificationForSlack(Notification $notification): string

app/Notifications/PendingArticlesNotification.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66

77
use Illuminate\Bus\Queueable;
88
use Illuminate\Notifications\Notification;
9-
use Illuminate\Contracts\Queue\ShouldQueue;
109
use Illuminate\Database\Eloquent\Collection;
11-
use Illuminate\Notifications\Messages\MailMessage;
1210
use NotificationChannels\Telegram\TelegramChannel;
1311
use NotificationChannels\Telegram\TelegramMessage;
1412

1513
final class PendingArticlesNotification extends Notification
1614
{
1715
use Queueable;
1816

19-
public function __construct(public Collection $pendingArticles) {}
17+
public function __construct(public Collection $pendingArticles)
18+
{
19+
}
2020

2121
public function via(mixed $notifiable): array
2222
{
@@ -37,7 +37,7 @@ private function content(): string
3737
$message = __("Pending approval articles:\n");
3838
foreach ($this->pendingArticles as $article) {
3939
$url = route('articles.show', $article->slug);
40-
40+
4141
$message .= __("• Title: [:title](:url)\n", [
4242
'title' => $article->title,
4343
'url' => $url,
@@ -55,4 +55,4 @@ private function content(): string
5555

5656
return $message;
5757
}
58-
}
58+
}

app/helpers.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,12 @@ function getFilter(string $key, array $filters = [], string $default = 'recent')
9191
/**
9292
* Returns the route for the replyAble.
9393
*
94-
* @param \App\Models\Thread|\App\Models\Discussion $replyAble
94+
* @param App\Models\Thread|App\Models\Discussion $replyAble
9595
* @return string
9696
*/
9797
function route_to_reply_able(mixed $replyAble): string
9898
{
99-
return $replyAble instanceof \App\Models\Thread ?
99+
return $replyAble instanceof App\Models\Thread ?
100100
route('forum.show', $replyAble->slug()) :
101101
route('discussions.show', $replyAble->slug());
102102
}

config/gamify.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
return [
66
// Model which will be having points, generally it will be User
7-
'payee_model' => \App\Models\User::class,
7+
'payee_model' => App\Models\User::class,
88

99
// Reputation model
1010
'reputation_model' => '\QCod\Gamify\Reputation',

config/livewire-ui-spotlight.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,17 @@
3131
*/
3232

3333
'commands' => [
34-
\App\Spotlight\Article::class,
35-
\App\Spotlight\Articles::class,
36-
\App\Spotlight\Discussion::class,
37-
\App\Spotlight\Discussions::class,
38-
\App\Spotlight\FAQs::class,
39-
\App\Spotlight\Forum::class,
40-
\App\Spotlight\Guides::class,
41-
\App\Spotlight\Slack::class,
42-
\App\Spotlight\Sujet::class,
43-
\App\Spotlight\Telegram::class,
44-
\App\Spotlight\User::class,
34+
App\Spotlight\Article::class,
35+
App\Spotlight\Articles::class,
36+
App\Spotlight\Discussion::class,
37+
App\Spotlight\Discussions::class,
38+
App\Spotlight\FAQs::class,
39+
App\Spotlight\Forum::class,
40+
App\Spotlight\Guides::class,
41+
App\Spotlight\Slack::class,
42+
App\Spotlight\Sujet::class,
43+
App\Spotlight\Telegram::class,
44+
App\Spotlight\User::class,
4545
],
4646

4747
/*

config/permission.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
* When permissions or roles are updated the cache is flushed automatically.
138138
*/
139139

140-
'expiration_time' => \DateInterval::createFromDateString('24 hours'),
140+
'expiration_time' => DateInterval::createFromDateString('24 hours'),
141141

142142
/*
143143
* The cache key used to store all permissions.

0 commit comments

Comments
 (0)