File tree Expand file tree Collapse file tree 13 files changed +113
-16
lines changed Expand file tree Collapse file tree 13 files changed +113
-16
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace App \Console \Commands ;
4
+
5
+ use App \Models \User ;
6
+ use Illuminate \Console \Command ;
7
+ use Illuminate \Support \Facades \Mail ;
8
+
9
+ class SendWelcomeMailToUsers extends Command
10
+ {
11
+ protected $ signature = 'lcm:send-welcome-mails ' ;
12
+
13
+ protected $ description = 'Send mails to new registered users. ' ;
14
+
15
+ public function handle (): void
16
+ {
17
+ foreach (User::all () as $ user ) {
18
+ Mail::to ($ user )->queue (new \App \Mail \Welcome ($ user ));
19
+ }
20
+ }
21
+ }
Original file line number Diff line number Diff line change @@ -26,7 +26,7 @@ protected function schedule(Schedule $schedule)
26
26
{
27
27
// $schedule->command('media-library:delete-old-temporary-uploads')->daily();
28
28
$ schedule ->command ('lcm:delete-old-unverified-users ' )->daily ();
29
- $ schedule ->command ('lcm:post-article-to-twitter ' )->twiceDaily ( 12 , 16 );
29
+ $ schedule ->command ('lcm:post-article-to-twitter ' )->everyFourHours ( );
30
30
$ schedule ->command ('lcm:post-article-to-telegram ' )->everyFourHours ();
31
31
$ schedule ->command ('lcm:send-unverified-mails ' )->weeklyOn (1 , '8:00 ' );
32
32
$ schedule ->command ('sitemap:generate ' )->daily ();
Original file line number Diff line number Diff line change 5
5
use App \Events \ReplyWasCreated ;
6
6
use App \Models \User ;
7
7
use App \Notifications \NewReplyNotification ;
8
+ use Illuminate \Contracts \Queue \ShouldQueue ;
9
+ use Illuminate \Queue \InteractsWithQueue ;
8
10
9
- class SendNewReplyNotification
11
+ class SendNewReplyNotification implements ShouldQueue
10
12
{
13
+ use InteractsWithQueue;
14
+
11
15
public function handle (ReplyWasCreated $ event )
12
16
{
13
17
/** @var \App\Models\Thread $thread */
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace App \Listeners ;
4
+
5
+ use App \Models \User ;
6
+ use Illuminate \Auth \Events \Registered ;
7
+ use Illuminate \Contracts \Queue \ShouldQueue ;
8
+ use Illuminate \Queue \InteractsWithQueue ;
9
+ use Illuminate \Support \Facades \Mail ;
10
+
11
+ class SendWelcomeMailNotification implements ShouldQueue
12
+ {
13
+ use InteractsWithQueue;
14
+
15
+ /**
16
+ * Handle the event.
17
+ *
18
+ * @param Registered $event
19
+ * @return void
20
+ */
21
+ public function handle (Registered $ event )
22
+ {
23
+ /** @var User $user */
24
+ $ user = $ event ->user ;
25
+
26
+ Mail::to ($ user )->queue (new \App \Mail \Welcome ($ user ));
27
+ }
28
+ }
Original file line number Diff line number Diff line change 4
4
5
5
use App \Models \Reply ;
6
6
use App \Models \Subscribe ;
7
+ use Illuminate \Bus \Queueable ;
8
+ use Illuminate \Contracts \Queue \ShouldQueue ;
7
9
use Illuminate \Mail \Mailable ;
8
10
9
- class NewReplyEmail extends Mailable
11
+ class NewReplyEmail extends Mailable implements ShouldQueue
10
12
{
13
+ use Queueable;
14
+
11
15
/**
12
16
* Create a new message instance.
13
17
*
Original file line number Diff line number Diff line change 4
4
5
5
use App \Models \User ;
6
6
use Illuminate \Bus \Queueable ;
7
+ use Illuminate \Contracts \Queue \ShouldQueue ;
7
8
use Illuminate \Mail \Mailable ;
8
9
use Illuminate \Queue \SerializesModels ;
9
10
10
- class SendMailToUnVerifiedUsers extends Mailable
11
+ class SendMailToUnVerifiedUsers extends Mailable implements ShouldQueue
11
12
{
12
13
use Queueable, SerializesModels;
13
14
Original file line number Diff line number Diff line change 8
8
use Illuminate \Mail \Mailable ;
9
9
use Illuminate \Queue \SerializesModels ;
10
10
11
- class Welcome extends Mailable
11
+ class Welcome extends Mailable implements ShouldQueue
12
12
{
13
13
use Queueable, SerializesModels;
14
14
15
- /**
16
- * Create a new message instance.
17
- *
18
- * @return void
19
- */
20
15
public function __construct (public User $ user )
21
16
{
22
- //
23
17
}
24
18
25
19
/**
@@ -30,7 +24,7 @@ public function __construct(public User $user)
30
24
public function build ()
31
25
{
32
26
return $ this ->from ('arthur@laravel.cm ' , 'Arthur Monney ' )
33
- ->subject (__ ('Bienvenue sur Laravel Cameroun ' ))
27
+ ->subject (__ ('Bienvenue sur Laravel Cameroun ✨ ' ))
34
28
->markdown ('emails.welcome ' );
35
29
}
36
30
}
Original file line number Diff line number Diff line change 6
6
use App \Models \Reply ;
7
7
use App \Models \Subscribe ;
8
8
use Illuminate \Bus \Queueable ;
9
+ use Illuminate \Contracts \Queue \ShouldQueue ;
9
10
use Illuminate \Notifications \Messages \MailMessage ;
10
11
use Illuminate \Notifications \Notification ;
11
12
12
- class NewCommentNotification extends Notification
13
+ class NewCommentNotification extends Notification implements ShouldQueue
13
14
{
14
15
use Queueable;
15
16
Original file line number Diff line number Diff line change 6
6
use App \Models \Reply ;
7
7
use App \Models \Subscribe ;
8
8
use Illuminate \Bus \Queueable ;
9
+ use Illuminate \Contracts \Queue \ShouldQueue ;
9
10
use Illuminate \Notifications \Notification ;
10
11
11
- class NewReplyNotification extends Notification
12
+ class NewReplyNotification extends Notification implements ShouldQueue
12
13
{
13
14
use Queueable;
14
15
Original file line number Diff line number Diff line change 4
4
5
5
use App \Models \Article ;
6
6
use Illuminate \Bus \Queueable ;
7
+ use Illuminate \Contracts \Queue \ShouldQueue ;
7
8
use Illuminate \Notifications \Messages \MailMessage ;
8
9
use Illuminate \Notifications \Notification ;
9
10
10
- class SendApprovedArticle extends Notification
11
+ class SendApprovedArticle extends Notification implements ShouldQueue
11
12
{
12
13
use Queueable;
13
14
Original file line number Diff line number Diff line change 3
3
namespace App \Notifications ;
4
4
5
5
use App \Models \Reply ;
6
+ use Illuminate \Bus \Queueable ;
7
+ use Illuminate \Contracts \Queue \ShouldQueue ;
6
8
use Illuminate \Notifications \Messages \MailMessage ;
7
9
use Illuminate \Notifications \Notification ;
8
10
9
- class YouWereMentioned extends Notification
11
+ class YouWereMentioned extends Notification implements ShouldQueue
10
12
{
13
+ use Queueable;
14
+
11
15
public function __construct (public Reply $ reply )
12
16
{
13
17
}
Original file line number Diff line number Diff line change 12
12
use App \Listeners \SendNewCommentNotification ;
13
13
use App \Listeners \SendNewReplyNotification ;
14
14
use App \Listeners \SendNewThreadNotification ;
15
+ use App \Listeners \SendWelcomeMailNotification ;
15
16
use Illuminate \Auth \Events \Registered ;
16
17
use Illuminate \Auth \Listeners \SendEmailVerificationNotification ;
17
18
use Illuminate \Foundation \Support \Providers \EventServiceProvider as ServiceProvider ;
@@ -26,6 +27,7 @@ class EventServiceProvider extends ServiceProvider
26
27
protected $ listen = [
27
28
Registered::class => [
28
29
SendEmailVerificationNotification::class,
30
+ SendWelcomeMailNotification::class,
29
31
],
30
32
ReplyWasCreated::class => [
31
33
SendNewReplyNotification::class,
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ use Illuminate \Database \Migrations \Migration ;
4
+ use Illuminate \Database \Schema \Blueprint ;
5
+ use Illuminate \Support \Facades \Schema ;
6
+
7
+ return new class extends Migration
8
+ {
9
+ /**
10
+ * Run the migrations.
11
+ *
12
+ * @return void
13
+ */
14
+ public function up ()
15
+ {
16
+ Schema::create ('jobs ' , function (Blueprint $ table ) {
17
+ $ table ->bigIncrements ('id ' );
18
+ $ table ->string ('queue ' )->index ();
19
+ $ table ->longText ('payload ' );
20
+ $ table ->unsignedTinyInteger ('attempts ' );
21
+ $ table ->unsignedInteger ('reserved_at ' )->nullable ();
22
+ $ table ->unsignedInteger ('available_at ' );
23
+ $ table ->unsignedInteger ('created_at ' );
24
+ });
25
+ }
26
+
27
+ /**
28
+ * Reverse the migrations.
29
+ *
30
+ * @return void
31
+ */
32
+ public function down ()
33
+ {
34
+ Schema::dropIfExists ('jobs ' );
35
+ }
36
+ };
You can’t perform that action at this time.
0 commit comments