<?php

namespace App;

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

/**
 * App\Report
 *
 * @property int $id
 * @property int $user_id
 * @property string $name
 * @property string $service
 * @property string $status
 * @property string $filter_by
 * @property string $filter_by_campaign
 * @property string $filter_by_sender
 * @property \Carbon\Carbon $from_date
 * @property \Carbon\Carbon $to_date
 * @property string $path
 * @property string $headers
 * @property \Carbon\Carbon $expiry_date
 * @property \Carbon\Carbon $deleted_at
 * @property \Carbon\Carbon $created_at
 * @property \Carbon\Carbon $updated_at
 * @property-read \App\User $user
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereCreatedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereDeletedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereExpiryDate($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereFilterBy($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereFilterByCampaign($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereFilterBySender($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereFromDate($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereHeaders($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereId($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereName($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report wherePath($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereService($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereStatus($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereToDate($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereUpdatedAt($value)
 * @method static \Illuminate\Database\Query\Builder|\App\Report whereUserId($value)
 * @mixin \Eloquent
 * @method static bool|null forceDelete()
 * @method static \Illuminate\Database\Query\Builder|\App\Report onlyTrashed()
 * @method static bool|null restore()
 * @method static \Illuminate\Database\Query\Builder|\App\Report withTrashed()
 * @method static \Illuminate\Database\Query\Builder|\App\Report withoutTrashed()
 */
class Report extends Model
{
    use SoftDeletes;

    protected $fillable = [
        'user_id', 'name', 'service',
        'status', 'filter_by', 'filter_by_campaign',
        'filter_by_sender', 'from_date', 'to_date', 'path',
        'headers', 'expiry_date'
    ];

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

    public $dates = ['expiry_date', 'from_date', 'to_date', 'deleted_at'];
}
