<?php

namespace App\Models;

class PropertyReviewChannelMapping extends BaseModel
{

    protected $table = 'property_review_channel_mapping';
    protected $appends = ['parameterArray'];

    const CREATED_AT = 'created_at';
    const UPDATED_AT = 'updated_at';

    protected $dateFormat = 'U';
    protected $guarded = [];

    protected $hidden = [];

    public function getParameterArrayAttribute()
    {
        if (!is_null($this->parameter)) {
            return json_decode($this->parameter, 1);
        } else {
            return null;
        }
    }

    public function channel()
    {
        return $this->hasOne('App\Models\PropertyReviewChannel', 'id', 'channel_id')->select(['id', 'name', 'parameter', 'status']);
    }

    public function property()
    {
        return $this->hasOne('App\Models\Property', 'id', 'property_id')->select(['id', 'name', 'status']);
    }

    public function fetchStatus()
    {
        return $this->hasOne('App\Models\PropertyReviewFetchStatus', 'id', 'fetch_status')->select(['id', 'name', 'language_key', 'status']);
    }
}
