Change from notifiable to mailable
This commit is contained in:
parent
1f0d84f3d5
commit
87f3be0cb1
|
|
@ -2,14 +2,15 @@
|
||||||
|
|
||||||
namespace App;
|
namespace App;
|
||||||
|
|
||||||
use App\Traits\Uuids;
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Notifications\Notifiable;
|
use Illuminate\Mail\Mailable;
|
||||||
|
use App\Traits\Uuids;
|
||||||
|
// use Illuminate\Notifications\Notifiable;
|
||||||
|
|
||||||
class Client extends Model
|
class Client extends Model
|
||||||
{
|
{
|
||||||
use Uuids;
|
use Uuids;
|
||||||
use Notifiable;
|
// use Notifiable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates if the IDs are auto-incrementing.
|
* Indicates if the IDs are auto-incrementing.
|
||||||
|
|
@ -24,13 +25,6 @@ class Client extends Model
|
||||||
*
|
*
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
// protected $fillable = [
|
|
||||||
// 'client_name',
|
|
||||||
// 'secret_key',
|
|
||||||
// 'access_key',
|
|
||||||
// 'setup_config'
|
|
||||||
// ];
|
|
||||||
protected $guarded = [ 'id' ];
|
protected $guarded = [ 'id' ];
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,19 +1,21 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace App\Http\Controllers\API\v1;
|
namespace App\Http\Controllers\API\v1;
|
||||||
use App\Notifications\BackupError;
|
|
||||||
use App\Notifications\BackupSuccess;
|
|
||||||
use App\Notifications\BackupWarning;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Mail\BackupWarning;
|
||||||
|
use App\Mail\BackupSuccess;
|
||||||
|
use App\Mail\BackupError;
|
||||||
|
use Carbon\Carbon;
|
||||||
use App\Schedule;
|
use App\Schedule;
|
||||||
use App\Backup;
|
use App\Backup;
|
||||||
use App\Client;
|
use App\Client;
|
||||||
use Carbon\Carbon;
|
|
||||||
|
|
||||||
class BackupController extends Controller
|
class BackupController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* Display a listing of the resource.
|
||||||
*
|
*
|
||||||
|
|
@ -36,8 +38,6 @@ class BackupController extends Controller
|
||||||
{
|
{
|
||||||
$data = parse_duplicati_message($request['message']);
|
$data = parse_duplicati_message($request['message']);
|
||||||
$current_time = Carbon::now()->toDateTimeString();
|
$current_time = Carbon::now()->toDateTimeString();
|
||||||
// Sort out timestamps from $message
|
|
||||||
// dd($data);
|
|
||||||
$begin_time = parse_duplicati_time($data['BeginTime']);
|
$begin_time = parse_duplicati_time($data['BeginTime']);
|
||||||
$end_time = parse_duplicati_time($data['EndTime']);
|
$end_time = parse_duplicati_time($data['EndTime']);
|
||||||
|
|
||||||
|
|
@ -81,14 +81,23 @@ class BackupController extends Controller
|
||||||
// notify client by email.
|
// notify client by email.
|
||||||
$client = Client::where('id', '=', $client_id)->first();
|
$client = Client::where('id', '=', $client_id)->first();
|
||||||
|
|
||||||
if($backup->status == "Success"){
|
if($backup->status == "Success")
|
||||||
$client->notify(new BackupSuccess($backup));
|
{
|
||||||
|
Mail::to($client->email)
|
||||||
|
->cc(['matthew@shillam.me.uk','j.kendrick@dentalsupportuk.com'])
|
||||||
|
->send(new BackupSuccess($backup));
|
||||||
}
|
}
|
||||||
elseif($backup->status == "Warning"){
|
elseif($backup->status == "Warning")
|
||||||
$client->notify(new BackupWarning($backup));
|
{
|
||||||
|
Mail::to($client->email)
|
||||||
|
->cc(['matthew@shillam.me.uk','j.kendrick@dentalsupportuk.com'])
|
||||||
|
->send(new BackupWarning($backup));
|
||||||
}
|
}
|
||||||
elseif($backup->status == "Error"){
|
elseif($backup->status == "Error")
|
||||||
$client->notify(new BackupError($backup));
|
{
|
||||||
|
Mail::to($client->email)
|
||||||
|
->cc(['matthew@shillam.me.uk','j.kendrick@dentalsupportuk.com'])
|
||||||
|
->send(new BackupError($backup));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use App\Backup;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
|
||||||
|
class BackupError extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct(Backup $backup)
|
||||||
|
{
|
||||||
|
$this->backup = $backup;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build the message.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
return $this->from('reports@mydentalbackup.co.uk')
|
||||||
|
->subject('ERROR Your backup ( ' . $this->backup->schedule_name . ' ) has a warning!')
|
||||||
|
->markdown('mail.backup.warning', ['backup' => $this->backup]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use App\Backup;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
|
||||||
|
class BackupSuccess extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct(Backup $backup)
|
||||||
|
{
|
||||||
|
$this->backup = $backup;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build the message.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
return $this->from('reports@mydentalbackup.co.uk')
|
||||||
|
->subject('SUCCESS Your backup ( ' . $this->backup->schedule_name . ' ) completed succesfully')
|
||||||
|
->markdown('mail.backup.success', ['backup' => $this->backup]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use App\Backup;
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
|
||||||
|
class BackupWarning extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct(Backup $backup)
|
||||||
|
{
|
||||||
|
$this->backup = $backup;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build the message.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
return $this->from('reports@mydentalbackup.co.uk')
|
||||||
|
->subject('SUCCESS Your backup ( ' . $this->backup->schedule_name . ' ) completed succesfully')
|
||||||
|
->markdown('mail.backup.success', ['backup' => $this->backup]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,68 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Notifications;
|
|
||||||
|
|
||||||
use App\Backup;
|
|
||||||
use Illuminate\Bus\Queueable;
|
|
||||||
use Illuminate\Notifications\Notification;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
use Illuminate\Notifications\Messages\MailMessage;
|
|
||||||
|
|
||||||
class BackupComplete extends Notification
|
|
||||||
{
|
|
||||||
use Queueable;
|
|
||||||
|
|
||||||
// protected Backup;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new notification instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct(Backup $backup)
|
|
||||||
{
|
|
||||||
$this->backup = $backup;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the notification's delivery channels.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function via($notifiable)
|
|
||||||
{
|
|
||||||
return ['mail'];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the mail representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return \Illuminate\Notifications\Messages\MailMessage
|
|
||||||
*/
|
|
||||||
public function toMail($notifiable)
|
|
||||||
{
|
|
||||||
return (new MailMessage)
|
|
||||||
|
|
||||||
->line('The backup schedule ( ' . $this->backup->schedule_name . ' ) has completed succesfully!')
|
|
||||||
->action('Contact us ', url('/'))
|
|
||||||
->line($this->backup->schedule_name . ' has completed successfully! yay!')
|
|
||||||
->line('Size of added files: ' . readableBytes($this->backup->size_of_added_files))
|
|
||||||
->line('Thank you for using our application!');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the array representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function toArray($notifiable)
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
//
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Notifications;
|
|
||||||
|
|
||||||
use App\Backup;
|
|
||||||
use Illuminate\Bus\Queueable;
|
|
||||||
use Illuminate\Notifications\Notification;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
use Illuminate\Notifications\Messages\MailMessage;
|
|
||||||
|
|
||||||
class BackupError extends Notification
|
|
||||||
{
|
|
||||||
use Queueable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new notification instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct(Backup $backup)
|
|
||||||
{
|
|
||||||
$this->backup = $backup;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the notification's delivery channels.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function via($notifiable)
|
|
||||||
{
|
|
||||||
return ['mail'];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the mail representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return \Illuminate\Notifications\Messages\MailMessage
|
|
||||||
*/
|
|
||||||
public function toMail($notifiable)
|
|
||||||
{
|
|
||||||
return (new MailMessage)
|
|
||||||
->subject('ERROR Your backup ( ' . $this->backup->schedule_name . ' ) has an error!')
|
|
||||||
->greeting('Error!')
|
|
||||||
->markdown('mail.backup.error', ['backup' => $this->backup]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the array representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function toArray($notifiable)
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
//
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Notifications;
|
|
||||||
|
|
||||||
use App\Backup;
|
|
||||||
use Illuminate\Bus\Queueable;
|
|
||||||
use Illuminate\Notifications\Notification;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
use Illuminate\Notifications\Messages\MailMessage;
|
|
||||||
|
|
||||||
class BackupSuccess extends Notification
|
|
||||||
{
|
|
||||||
use Queueable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new notification instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct(Backup $backup)
|
|
||||||
{
|
|
||||||
$this->backup = $backup;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the notification's delivery channels.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function via($notifiable)
|
|
||||||
{
|
|
||||||
return ['mail'];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the mail representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return \Illuminate\Notifications\Messages\MailMessage
|
|
||||||
*/
|
|
||||||
public function toMail($notifiable)
|
|
||||||
{
|
|
||||||
return (new MailMessage)
|
|
||||||
->subject('SUCCESS Your backup ( ' . $this->backup->schedule_name . ' ) completed succesfully')
|
|
||||||
->greeting('Success!')
|
|
||||||
->markdown('mail.backup.success', ['backup' => $this->backup]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the array representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function toArray($notifiable)
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
//
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Notifications;
|
|
||||||
|
|
||||||
use App\Backup;
|
|
||||||
use Illuminate\Bus\Queueable;
|
|
||||||
use Illuminate\Notifications\Notification;
|
|
||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
||||||
use Illuminate\Notifications\Messages\MailMessage;
|
|
||||||
|
|
||||||
class BackupWarning extends Notification
|
|
||||||
{
|
|
||||||
use Queueable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new notification instance.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function __construct(Backup $backup)
|
|
||||||
{
|
|
||||||
$this->backup = $backup;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the notification's delivery channels.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function via($notifiable)
|
|
||||||
{
|
|
||||||
return ['mail'];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the mail representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return \Illuminate\Notifications\Messages\MailMessage
|
|
||||||
*/
|
|
||||||
public function toMail($notifiable)
|
|
||||||
{
|
|
||||||
return (new MailMessage)
|
|
||||||
->subject('ERROR Your backup ( ' . $this->backup->schedule_name . ' ) has a warning!')
|
|
||||||
->greeting('Error!')
|
|
||||||
->markdown('mail.backup.warning', ['backup' => $this->backup]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the array representation of the notification.
|
|
||||||
*
|
|
||||||
* @param mixed $notifiable
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function toArray($notifiable)
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
//
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue