<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

/**
 * App\EmailJob
 *
 * @property int $id
 * @property string $name
 * @property int $user_id
 * @property string $username
 * @property string $sender
 * @property string $message
 * @property string $subject
 * @property int|null $total_traffic
 * @property string $file_path
 * @property \Carbon\Carbon $sched_datetime
 * @property string|null $sent_datetime
 * @property string $status
 * @property string $type
 * @property string|null $group_ids
 * @property int|null $progress
 * @property int|null $row_number
 * @property string|null $created_by
 * @property string|null $task_started_date
 * @property string|null $task_completed_date
 * @property \Carbon\Carbon|null $deleted_at
 * @property \Carbon\Carbon|null $created_at
 * @property \Carbon\Carbon|null $updated_at
 * @property-read \App\User $user
 * @method static bool|null forceDelete()
 * @method static \Illuminate\Database\Query\Builder|\App\EmailJob onlyTrashed()
 * @method static bool|null restore()
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereCreatedBy($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereDeletedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereFilePath($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereGroupIds($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereMessage($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereName($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereProgress($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereRowNumber($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereSchedDatetime($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereSender($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereSentDatetime($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereStatus($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereSubject($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereTaskCompletedDate($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereTaskStartedDate($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereTotalTraffic($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereType($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereUpdatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereUserId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|\App\EmailJob whereUsername($value)
 * @method static \Illuminate\Database\Query\Builder|\App\EmailJob withTrashed()
 * @method static \Illuminate\Database\Query\Builder|\App\EmailJob withoutTrashed()
 * @mixin \Eloquent
 */
class EmailJob extends Model
{
    use SoftDeletes;

    protected $fillable = [
        'username', 'sender', 'created_by', 'type', 'name', 'progress',
        'message', 'subject', 'file_path', 'total_traffic',
        'sched_datetime', 'sent_datetime', 'status', 'group_ids'
    ];

    public function user() {
        return $this->belongsTo('App\User');
    }

    protected $dates = ['sched_datetime', 'deleted_at'];
}
